summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudhakarKuma2021-03-07 12:57:49 +0530
committerSudhakarKuma2021-03-07 12:57:49 +0530
commite2ea8a587bc95fd20e1c0de603c9389a49e4c008 (patch)
tree5ab2314e9e7238205746e4a2d9cd7e070c675559
downloadFLOSS-Arduino-Book-e2ea8a587bc95fd20e1c0de603c9389a49e4c008.tar.gz
FLOSS-Arduino-Book-e2ea8a587bc95fd20e1c0de603c9389a49e4c008.tar.bz2
FLOSS-Arduino-Book-e2ea8a587bc95fd20e1c0de603c9389a49e4c008.zip
Add initial files
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Arduino.mo1801
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Arduino.mo~1775
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Instructions.txt14
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_bothbin0 -> 24150 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both.hex121
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both_main.c217
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clockbin0 -> 22099 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock.hex101
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock_main.c213
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loopbin0 -> 25914 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop.hex135
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop_main.c217
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_both.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_clock.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_loop.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_ledbin0 -> 23828 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.hex120
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.sh~61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led_main.c243
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_read.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_read.sh~61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_led.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_led.mos~11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_read.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_read.mos~11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_led_blink.hex114
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_led_blue.hex93
-rwxr-xr-xOpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_traffic_lightbin0 -> 4744 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_traffic_light.hex95
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blinkbin0 -> 23721 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink.hex114
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink_main.c212
-rwxr-xr-xOpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_bluebin0 -> 4700 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue.hex91
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delaybin0 -> 22109 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay.hex100
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay_main.c212
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_main.c212
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_new.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_new.sh~61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_redbin0 -> 22185 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red.hex106
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red_main.c215
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blinkbin0 -> 25497 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink.hex127
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink_main.c212
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blink.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blink.mos~11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue.mos~11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue_delay.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue_red.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_green_blink.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_traffic_light.mos13
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_traffic_light.mos~13
-rwxr-xr-xOpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/traffic_lightbin0 -> 4720 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/traffic_light_main.c212
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_thresholdbin0 -> 24823 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.hex157
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.sh~63
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold_main.c274
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/runMDD_pot_threshold.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/runMDD_pot_threshold.mos~14
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_buttonbin0 -> 21155 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.hex94
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.sh~61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button_main.c235
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_test.hex64
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_test_main.c198
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_testbin0 -> 20465 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/output.txt0
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.mo26
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.sh~0
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_statusbin0 -> 21092 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status.hex91
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status_main.c219
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_led_push_button.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_led_push_button.mos~11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_push_button_status.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_push_button_status.mos~11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_init.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_loop.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_pot.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_reverse.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_initbin0 -> 21112 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init.hex94
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init_main.c213
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_loop.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_loop_main.c235
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_pot.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_pot_main.c244
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reversebin0 -> 22099 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse.hex101
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse_main.c213
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/runMDD_therm_buzzer.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/runMDD_therm_read.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzerbin0 -> 23856 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer.hex121
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer_main.c253
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_readbin0 -> 22935 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read.hex110
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read.sh61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read_main.c226
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Images/Icons/tqfp32.pngbin0 -> 11905 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/analog.h2
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/analogv.h2
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/dcmotor.h3
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/digital.h2
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/encoder.h1
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/ieeesingle2num.h3
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/modbus.h4
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/serial.h28
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/servomotor.h3
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_analog.obin0 -> 3112 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_analog_volt.obin0 -> 3576 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_digital.obin0 -> 3144 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/dcmotor.obin0 -> 5104 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/delay.obin0 -> 1424 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/ieeesingle2num.obin0 -> 3080 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libAnalog.sobin0 -> 13306 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libAnalogv.sobin0 -> 13373 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libDCMotor.sobin0 -> 13300 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libDigital.sobin0 -> 13222 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libModbus.sobin0 -> 17600 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libSerialComm.sobin0 -> 12924 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libServoMotor.sobin0 -> 13297 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libdelay.sobin0 -> 7909 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libfloor.sobin0 -> 7897 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/mfloor.obin0 -> 1432 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/modbus.obin0 -> 10152 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/serialComm.obin0 -> 4664 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/servomotor.obin0 -> 3432 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_analog.c61
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_analog_volt.c63
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_digital.c63
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_encoder_init.c39
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/dcmotor.c117
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/delay.c10
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/ieeesingle2num.c87
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/mfloor.c6
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/modbus.c449
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/serialComm.c156
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/serialComm.c~156
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/servomotor.c87
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/_gitignore37
-rw-r--r--OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/test_firmware.mo20
-rw-r--r--OpenModelica_Arduino_With_MDD-master/README.md67
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Arduino.mo1783
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_bothbin0 -> 10112 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both.hex121
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both_main.c217
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clockbin0 -> 9328 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock.hex94
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock_main.c213
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_loop_main.c235
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_both.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_clock.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_loop.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldrbin0 -> 9368 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_ledbin0 -> 9900 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led.hex120
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led_main.c243
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_readbin0 -> 9676 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read.hex110
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read_main.c226
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/run_ldr_led.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/run_ldr_read.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blinkbin0 -> 9876 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink.hex114
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink_main.c253
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_bluebin0 -> 9280 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue.hex91
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delaybin0 -> 9608 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay.hex100
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay_main.c212
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_main.c212
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_redbin0 -> 9688 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red.hex106
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red_main.c215
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_binkbin0 -> 10188 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blinkbin0 -> 10188 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink.hex127
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink_main.c212
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blink.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue_delay.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue_red.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_green_blink.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_thresholdbin0 -> 10348 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold.hex147
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold_main.c264
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/run_pot_threshold.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_buttonbin0 -> 9360 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button.hex94
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button_main.c234
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/run_led_push_button.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/run_led_push_button_status.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/runMDDAvr.mos8
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzerbin0 -> 9936 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer.hex121
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer_main.c253
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/run_therm_buzzer.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/run_therm_read.mos11
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Images/Icons/tqfp32.pngbin0 -> 11905 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Library/SerialComm.dllbin0 -> 270139 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Library/SerialComm.obin0 -> 16527 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/include/serial.h34
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/src/SerialComm.c1021
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/SerialComm.dllbin0 -> 270139 bytes
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/testfirmware.mo12
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/tools/arduino-firmware/arduino-firmware.ino795
-rw-r--r--OpenModelica_Arduino_With_MDD_Windows-master/README.md61
-rw-r--r--Python3-Arduino-master/.gitignore2
-rw-r--r--Python3-Arduino-master/Arduino/Arduino.py327
-rw-r--r--Python3-Arduino-master/Arduino/__init__.py0
-rw-r--r--Python3-Arduino-master/Examples/10.1SERVO.py42
-rw-r--r--Python3-Arduino-master/Examples/10.2SERVO.py44
-rw-r--r--Python3-Arduino-master/Examples/10.3SERVO.py41
-rw-r--r--Python3-Arduino-master/Examples/10.4SERVO.py47
-rw-r--r--Python3-Arduino-master/Examples/4.1LED.py34
-rw-r--r--Python3-Arduino-master/Examples/4.2LED.py37
-rw-r--r--Python3-Arduino-master/Examples/4.3LED.py45
-rw-r--r--Python3-Arduino-master/Examples/4.4LED.py42
-rw-r--r--Python3-Arduino-master/Examples/5.1pushbutton.py40
-rw-r--r--Python3-Arduino-master/Examples/5.2pushbutton.py42
-rw-r--r--Python3-Arduino-master/Examples/6.1LDR.py37
-rw-r--r--Python3-Arduino-master/Examples/6.2LDR.py44
-rw-r--r--Python3-Arduino-master/Examples/7.1DCMOTOR.py43
-rw-r--r--Python3-Arduino-master/Examples/7.2DCMOTOR.py40
-rw-r--r--Python3-Arduino-master/Examples/7.3DCMOTOR.py44
-rw-r--r--Python3-Arduino-master/Examples/8.1POTENTIOMETER.py52
-rw-r--r--Python3-Arduino-master/Examples/9.1SERVO.py42
-rw-r--r--Python3-Arduino-master/Examples/9.1THREM.py40
-rw-r--r--Python3-Arduino-master/Examples/9.2SERVO.py44
-rw-r--r--Python3-Arduino-master/Examples/9.2THERM-BUZZER.py46
-rw-r--r--Python3-Arduino-master/Examples/9.3SERVO.py41
-rw-r--r--Python3-Arduino-master/Examples/9.4SERVO.py47
-rw-r--r--Python3-Arduino-master/Examples/LED.py63
-rw-r--r--Python3-Arduino-master/Examples/__init__.py0
-rwxr-xr-xPython3-Arduino-master/Examples/energy-meter/11.1energy_meter_voltage.py52
-rwxr-xr-xPython3-Arduino-master/Examples/energy-meter/11.2energy_meter_current.py52
-rwxr-xr-xPython3-Arduino-master/Examples/energy-meter/11.3energy_meter_power.py52
-rw-r--r--Python3-Arduino-master/Examples/test_firmware.py33
-rw-r--r--Python3-Arduino-master/Examples/therm-buzzer.py46
-rw-r--r--Python3-Arduino-master/README.md18
-rw-r--r--Python3-Arduino-master/arduino-firmware/arduino-firmware.ino794
-rw-r--r--Python3-Arduino-master/energy_meter_firmware/send_packet.ino94
-rw-r--r--julia-arduino-master/README.md14
-rw-r--r--julia-arduino-master/arduinofirmware/arduinofirmware.ino794
-rw-r--r--julia-arduino-master/arduinofirmware/arduinofirmware.ino~794
-rw-r--r--julia-arduino-master/enegymeter_firmware/sendpacket/sendpacket.ino97
-rw-r--r--julia-arduino-master/enegymeter_firmware/sendpacket/sendpacket.ino~97
-rw-r--r--julia-arduino-master/energy meter/readCurrent.jl17
-rw-r--r--julia-arduino-master/energy meter/readPower.jl17
-rw-r--r--julia-arduino-master/energy meter/readVoltage.jl17
-rw-r--r--julia-arduino-master/examples/DC motor/dcmotor-both.jl11
-rw-r--r--julia-arduino-master/examples/DC motor/dcmotor-clock.jl9
-rw-r--r--julia-arduino-master/examples/DC motor/dcmotor-loop.jl15
-rw-r--r--julia-arduino-master/examples/LDR/ldr-led.jl12
-rw-r--r--julia-arduino-master/examples/LDR/ldr-read.jl10
-rw-r--r--julia-arduino-master/examples/LED/led-blue-delay.jl9
-rw-r--r--julia-arduino-master/examples/LED/led-blue-red.jl13
-rw-r--r--julia-arduino-master/examples/LED/led-blue.jl7
-rw-r--r--julia-arduino-master/examples/LED/led-green-blink.jl12
-rw-r--r--julia-arduino-master/examples/LED/led-push-button.jl15
-rw-r--r--julia-arduino-master/examples/Servomotor/servo-init.jl8
-rw-r--r--julia-arduino-master/examples/Servomotor/servo-loop.jl13
-rw-r--r--julia-arduino-master/examples/Servomotor/servo-pot.jl14
-rw-r--r--julia-arduino-master/examples/Servomotor/servo-reverse.jl10
-rw-r--r--julia-arduino-master/examples/Solar Tracker/SolarTracker.jl31
-rw-r--r--julia-arduino-master/examples/potentiometer/pot-threshold.jl24
-rw-r--r--julia-arduino-master/examples/test_firmware.jl12
-rw-r--r--julia-arduino-master/tools/ArduinoTools.jl178
-rw-r--r--julia-arduino-master/tools/functions/DCMotorRelease.jl9
-rw-r--r--julia-arduino-master/tools/functions/DCMotorRun.jl18
-rw-r--r--julia-arduino-master/tools/functions/DCMotorSetup.jl23
-rw-r--r--julia-arduino-master/tools/functions/ServoAttach.jl14
-rw-r--r--julia-arduino-master/tools/functions/ServoDetach.jl13
-rw-r--r--julia-arduino-master/tools/functions/ServoMove.jl9
-rw-r--r--julia-arduino-master/tools/functions/analogRead.jl11
-rw-r--r--julia-arduino-master/tools/functions/analogWrite.jl10
-rw-r--r--julia-arduino-master/tools/functions/connectBoard.jl9
-rw-r--r--julia-arduino-master/tools/functions/digiRead.jl11
-rw-r--r--julia-arduino-master/tools/functions/digiWrite.jl8
-rw-r--r--julia-arduino-master/tools/functions/pinMode.jl9
-rw-r--r--scilab-arduino/Arduino-Scilab-Cover.pdfbin0 -> 858952 bytes
-rw-r--r--scilab-arduino/Commentsonscilab-arduinobook-rupak.odtbin0 -> 21998 bytes
-rw-r--r--scilab-arduino/Proof-reading-manas.odtbin0 -> 13995 bytes
-rw-r--r--scilab-arduino/auto/arduino-sci.el47
-rw-r--r--scilab-arduino/auto/contents-ex.el8
-rw-r--r--scilab-arduino/auto/scilab-arduino.el72
-rw-r--r--scilab-arduino/bibliography.bib165
-rw-r--r--scilab-arduino/corr.odtbin0 -> 10345 bytes
-rw-r--r--scilab-arduino/scilab-arduino.ard29
-rw-r--r--scilab-arduino/scilab-arduino.aux1425
-rw-r--r--scilab-arduino/scilab-arduino.bbl84
-rw-r--r--scilab-arduino/scilab-arduino.blg48
-rw-r--r--scilab-arduino/scilab-arduino.cod125
-rw-r--r--scilab-arduino/scilab-arduino.fdb_latexmk372
-rw-r--r--scilab-arduino/scilab-arduino.fls403
-rw-r--r--scilab-arduino/scilab-arduino.idx5
-rw-r--r--scilab-arduino/scilab-arduino.ilg6
-rw-r--r--scilab-arduino/scilab-arduino.ind15
-rw-r--r--scilab-arduino/scilab-arduino.juliad0
-rw-r--r--scilab-arduino/scilab-arduino.lof103
-rw-r--r--scilab-arduino/scilab-arduino.log2284
-rw-r--r--scilab-arduino/scilab-arduino.lot40
-rw-r--r--scilab-arduino/scilab-arduino.pdfbin0 -> 22290433 bytes
-rw-r--r--scilab-arduino/scilab-arduino.synctex(busy)bin0 -> 606208 bytes
-rw-r--r--scilab-arduino/scilab-arduino.tex139
-rw-r--r--scilab-arduino/scilab-arduino.tex~135
-rw-r--r--scilab-arduino/scilab-arduino.thm123
-rw-r--r--scilab-arduino/scilab-arduino.toc164
-rw-r--r--scilab-arduino/scilab-arduino_2_March_2021.pdfbin0 -> 22290433 bytes
-rw-r--r--scilab-arduino/spoken/02-slide.aux57
-rw-r--r--scilab-arduino/spoken/02-slide.log1204
-rw-r--r--scilab-arduino/spoken/02-slide.nav40
-rw-r--r--scilab-arduino/spoken/02-slide.out0
-rw-r--r--scilab-arduino/spoken/02-slide.pdfbin0 -> 3201673 bytes
-rw-r--r--scilab-arduino/spoken/02-slide.snm0
-rw-r--r--scilab-arduino/spoken/02-slide.tex182
-rw-r--r--scilab-arduino/spoken/02-slide.toc1
-rw-r--r--scilab-arduino/spoken/DWSIM-03-slide.pdfbin0 -> 90383 bytes
-rw-r--r--scilab-arduino/spoken/DWSIM-03-slide.tex215
-rw-r--r--scilab-arduino/spoken/FOSSEE.jpegbin0 -> 4247 bytes
-rw-r--r--scilab-arduino/spoken/LED-arduino.odtbin0 -> 25358 bytes
-rw-r--r--scilab-arduino/spoken/LED-arduino.pdfbin0 -> 130629 bytes
-rw-r--r--scilab-arduino/spoken/LED-scilab.odtbin0 -> 32051 bytes
-rw-r--r--scilab-arduino/spoken/Lighing-LED-1.docbin0 -> 69120 bytes
-rw-r--r--scilab-arduino/spoken/ST-logo.jpegbin0 -> 10800 bytes
-rw-r--r--scilab-arduino/spoken/auto/02-slide.el10
-rw-r--r--scilab-arduino/spoken/figures/LED.jpgbin0 -> 1505666 bytes
-rw-r--r--scilab-arduino/spoken/figures/USB.jpgbin0 -> 1445787 bytes
-rw-r--r--scilab-arduino/spoken/figures/cable.pngbin0 -> 161950 bytes
-rw-r--r--scilab-arduino/spoken/figures/shield-crop.jpgbin0 -> 25016 bytes
-rw-r--r--scilab-arduino/spoken/figures/shield-crop.tiffbin0 -> 152988 bytes
-rw-r--r--scilab-arduino/spoken/figures/shield.jpgbin0 -> 1528220 bytes
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/3t-logo.pdfbin0 -> 100705 bytes
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/arduino-shield-side.jpgbin0 -> 837441 bytes
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/arduino-shield-top.jpgbin0 -> 1089473 bytes
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.aux49
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.log1356
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.nav30
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.out0
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.pdfbin0 -> 2104694 bytes
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.snm0
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.tex158
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.toc1
-rw-r--r--scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.vrb9
-rw-r--r--scilab-arduino/spoken/screenshots/USB.PNGbin0 -> 161950 bytes
-rw-r--r--scilab-arduino/spoken/screenshots/arduino-ide.jpgbin0 -> 194767 bytes
-rw-r--r--scilab-arduino/spoken/screenshots/builder.pngbin0 -> 62847 bytes
-rw-r--r--scilab-arduino/spoken/screenshots/change-directory.pngbin0 -> 64189 bytes
-rw-r--r--scilab-arduino/spoken/screenshots/connecting-shield-arduino.JPGbin0 -> 1103999 bytes
-rw-r--r--scilab-arduino/spoken/screenshots/device-manager.pngbin0 -> 66176 bytes
-rw-r--r--scilab-arduino/spoken/screenshots/led-blue.pngbin0 -> 25771 bytes
-rw-r--r--scilab-arduino/spoken/screenshots/loader.pngbin0 -> 59139 bytes
-rw-r--r--scilab-arduino/spoken/screenshots/test-code.pngbin0 -> 28541 bytes
-rw-r--r--scilab-arduino/spoken/screenshots/test-console.pngbin0 -> 53960 bytes
-rw-r--r--scilab-arduino/spoken/screenshots/xcos-desc.pngbin0 -> 93196 bytes
-rw-r--r--scilab-arduino/spoken/trash1
-rw-r--r--scilab-arduino/suppl/IEEEtran.bst2369
-rw-r--r--scilab-arduino/suppl/IEEEtranS.bst2550
-rw-r--r--scilab-arduino/suppl/acr.tex56
-rw-r--r--scilab-arduino/suppl/acr.tex-old5
-rw-r--r--scilab-arduino/suppl/auto/intro.el6
-rw-r--r--scilab-arduino/suppl/auto/styles.el26
-rw-r--r--scilab-arduino/suppl/dedicate.tex38
-rw-r--r--scilab-arduino/suppl/iitblogo.PNGbin0 -> 50497 bytes
-rw-r--r--scilab-arduino/suppl/intro.log2795
-rw-r--r--scilab-arduino/suppl/intro.tex64
-rw-r--r--scilab-arduino/suppl/paralist.sty366
-rw-r--r--scilab-arduino/suppl/preface.tex198
-rw-r--r--scilab-arduino/suppl/ref.bib175
-rw-r--r--scilab-arduino/suppl/styles.log805
-rw-r--r--scilab-arduino/suppl/styles.tex257
-rw-r--r--scilab-arduino/tools/arduino-firmware/arduino-firmware.ino794
-rw-r--r--scilab-arduino/tools/linux/DESCRIPTION34
-rw-r--r--scilab-arduino/tools/linux/VERSION1
-rw-r--r--scilab-arduino/tools/linux/builder.sce53
-rw-r--r--scilab-arduino/tools/linux/cleaner.sce38
-rw-r--r--scilab-arduino/tools/linux/demos/analog_read.dem.sce14
-rw-r--r--scilab-arduino/tools/linux/demos/analog_write.dem.sce13
-rw-r--r--scilab-arduino/tools/linux/demos/arduino.dem.gateway.sce31
-rw-r--r--scilab-arduino/tools/linux/demos/arduino2.dem.sce14
-rw-r--r--scilab-arduino/tools/linux/demos/arduino3.dem.sce14
-rw-r--r--scilab-arduino/tools/linux/demos/arduino4.dem.sce14
-rw-r--r--scilab-arduino/tools/linux/demos/arduino5.dem.sce14
-rw-r--r--scilab-arduino/tools/linux/demos/arduino7.dem.sce14
-rw-r--r--scilab-arduino/tools/linux/demos/arduino8.dem.sce14
-rw-r--r--scilab-arduino/tools/linux/demos/arduino9.dem.sce14
-rw-r--r--scilab-arduino/tools/linux/demos/asserv.dem.sce13
-rw-r--r--scilab-arduino/tools/linux/demos/clignotement_led.dem.sce14
-rw-r--r--scilab-arduino/tools/linux/demos/digital_read_write.dem.sce13
-rw-r--r--scilab-arduino/tools/linux/demos/encodeur.dem.sce13
-rw-r--r--scilab-arduino/tools/linux/demos/exemples_livret.dem.gateway.sce29
-rw-r--r--scilab-arduino/tools/linux/demos/interrupt_compteur.dem.sce13
-rw-r--r--scilab-arduino/tools/linux/demos/motor.dem.sce13
-rw-r--r--scilab-arduino/tools/linux/demos/servomotor.dem.sce13
-rw-r--r--scilab-arduino/tools/linux/etc/arduino.quit31
-rw-r--r--scilab-arduino/tools/linux/etc/arduino.start117
-rw-r--r--scilab-arduino/tools/linux/examples/Arduino1.zcosbin0 -> 4903 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/Arduino2.zcosbin0 -> 4300 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/Arduino3.zcosbin0 -> 5122 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/Arduino4.zcosbin0 -> 3705 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/Arduino5.zcosbin0 -> 4381 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/Arduino6.zcosbin0 -> 5665 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/Arduino7.zcosbin0 -> 6263 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/Arduino8.zcosbin0 -> 6573 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/Arduino9.zcosbin0 -> 8653 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/asservissement.zcosbin0 -> 8271 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/asservpos.zcosbin0 -> 8452 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/boutonpoussoir.zcosbin0 -> 3928 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/encodeur.zcosbin0 -> 6293 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/interrupt_compteur.zcosbin0 -> 3735 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/moteurBO.zcosbin0 -> 5788 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/potentiometre.zcosbin0 -> 4383 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/servomoteur.zcosbin0 -> 4384 bytes
-rw-r--r--scilab-arduino/tools/linux/examples/variateurLED.zcosbin0 -> 4422 bytes
-rw-r--r--scilab-arduino/tools/linux/help/builder_help.sce3
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB.xml92
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB_dialogbox.pngbin0 -> 3735 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB_help.tst27
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ANALOG_READ_example.pngbin0 -> 8842 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB_dialogbox.pngbin0 -> 3996 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB_help.tst27
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_exemple.pngbin0 -> 16337 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP.xml92
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_dialogbox.pngbin0 -> 6352 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_example.pngbin0 -> 37200 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_help.tst31
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ASSERV_POS_exemple.pngbin0 -> 14663 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB.tst42
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB.xml105
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox1.pngbin0 -> 8011 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox2.pngbin0 -> 4745 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox3.pngbin0 -> 6841 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox4.pngbin0 -> 6955 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DCMOTOR_exemple.pngbin0 -> 28033 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB.xml92
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB_dialogbox.pngbin0 -> 3787 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB_help.tst27
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB_dialogbox.pngbin0 -> 3827 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB_help.tst27
-rw-r--r--scilab-arduino/tools/linux/help/en_US/DIGITAL_exemple.pngbin0 -> 12382 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ENCODER_SB.tst42
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ENCODER_SB.xml110
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ENCODER_SB_dialogbox1.pngbin0 -> 3947 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ENCODER_SB_dialogbox2.pngbin0 -> 4425 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/ENCODER_exemple.pngbin0 -> 26523 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB.tst27
-rw-r--r--scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB.xml88
-rw-r--r--scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB_dialogbox.pngbin0 -> 3915 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/INTERRUPT_exemple.pngbin0 -> 8993 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/SERVO_SB.tst31
-rw-r--r--scilab-arduino/tools/linux/help/en_US/SERVO_SB_dialogbox.pngbin0 -> 5293 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/SERVO_SB_exemple.pngbin0 -> 17128 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/SERVO_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE.xml87
-rw-r--r--scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE_dialogbox.pngbin0 -> 6481 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE_help.tst26
-rw-r--r--scilab-arduino/tools/linux/help/en_US/build_help.sce3
-rw-r--r--scilab-arduino/tools/linux/help/en_US/close_serial.xml73
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_analog_in.tst25
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_analog_in.xml77
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_analog_in_volt.xml77
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_analog_out.xml83
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_analog_out_volt.xml80
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_arduino_a_control.xml75
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_arduino_d_control.xml76
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_arduino_meter.xml74
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_release.xml67
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_run.xml69
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_setup.xml73
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_digital_in.xml77
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_digital_out.xml82
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_servo_attach.xml88
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_servo_detach.xml88
-rw-r--r--scilab-arduino/tools/linux/help/en_US/cmd_servo_move.xml90
-rw-r--r--scilab-arduino/tools/linux/help/en_US/master_help.xml75
-rw-r--r--scilab-arduino/tools/linux/help/en_US/open_serial.xml77
-rw-r--r--scilab-arduino/tools/linux/help/en_US/read_file_doc.sci284
-rw-r--r--scilab-arduino/tools/linux/help/en_US/read_file_doc2.sci285
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB.gifbin0 -> 2782 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB.html85
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB_dialogbox.pngbin0 -> 3735 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_example.pngbin0 -> 8842 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.gifbin0 -> 2800 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.html85
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB_dialogbox.pngbin0 -> 3996 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_exemple.pngbin0 -> 16337 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP.gifbin0 -> 2370 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP.html88
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP_dialogbox.pngbin0 -> 6352 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP_example.pngbin0 -> 37200 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ASSERV_POS_exemple.pngbin0 -> 14663 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB.gifbin0 -> 2469 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB.html101
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox1.pngbin0 -> 8011 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox2.pngbin0 -> 4745 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox3.pngbin0 -> 6841 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox4.pngbin0 -> 6955 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_exemple.pngbin0 -> 28033 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.gifbin0 -> 2654 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.html85
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB_dialogbox.pngbin0 -> 3787 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.gifbin0 -> 2705 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.html86
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB_dialogbox.pngbin0 -> 3827 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_exemple.pngbin0 -> 12382 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB.gifbin0 -> 2329 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB.html100
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox1.pngbin0 -> 3947 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox2.pngbin0 -> 4425 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_exemple.pngbin0 -> 26523 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB.gifbin0 -> 2432 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB.html84
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB_dialogbox.pngbin0 -> 3915 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_exemple.pngbin0 -> 8993 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCSbin0 -> 2951 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB3
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS1
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONSbin0 -> 15786 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA2
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAPbin0 -> 10240 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_SB_dialogbox.pngbin0 -> 5293 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_SB_exemple.pngbin0 -> 17128 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.gifbin0 -> 2438 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.html89
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabCaution.pngbin0 -> 603 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabEdit.pngbin0 -> 574 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabExecute.pngbin0 -> 660 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabImportant.pngbin0 -> 717 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabNote.pngbin0 -> 863 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabTip.pngbin0 -> 863 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabWarning.pngbin0 -> 603 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE.gifbin0 -> 1603 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE.html84
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE_dialogbox.pngbin0 -> 6481 bytes
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/c_code.css54
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/close_serial.html83
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_in.html87
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_in_volt.html87
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_out.html91
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_out_volt.html90
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_a_control.html85
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_d_control.html86
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_meter.html84
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_release.html84
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_run.html86
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_setup.html90
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_digital_in.html85
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_digital_out.html90
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_attach.html94
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_detach.html94
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_move.html96
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/index.html184
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpidx.xml3
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpmap.jhm94
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpset.hs28
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelptoc.xml35
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/open_serial.html85
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/scilab_code.css96
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_14b1867c218d6510dbcc5160f5def719.html184
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_281a422ce6f3febcfc8c21e8aa6841e5.html184
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_31b851c5cd4247a8b1d03294fc8872b1.html184
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_32282c1b5ec2ec16458d86fa5a7a4571.html184
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_50fcf9fc9c8fb380e36d21e077a34f37.html184
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_c81b4a57f4486e50a533732328fcb8e9.html184
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_d8c18d63fe0e0a7831b9ab7a10831e5a.html184
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_f3a404459a61fd97daa21459936e95ac.html82
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/style.css350
-rw-r--r--scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/xml_code.css94
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB.xml92
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB_dialogbox.pngbin0 -> 3735 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB_help.tst27
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_example.pngbin0 -> 8842 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB_dialogbox.pngbin0 -> 3996 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB_help.tst27
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_exemple.pngbin0 -> 16337 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP.xml92
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_dialogbox.pngbin0 -> 6352 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_example.pngbin0 -> 37200 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_help.tst31
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ASSERV_POS_exemple.pngbin0 -> 14663 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB.tst42
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB.xml105
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox1.pngbin0 -> 8011 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox2.pngbin0 -> 4745 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox3.pngbin0 -> 6841 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox4.pngbin0 -> 6955 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DCMOTOR_exemple.pngbin0 -> 28033 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB.xml92
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB_dialogbox.pngbin0 -> 3787 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB_help.tst27
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB_dialogbox.pngbin0 -> 3827 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB_help.tst27
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/DIGITAL_exemple.pngbin0 -> 12382 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ENCODER_SB.tst43
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ENCODER_SB.xml111
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ENCODER_SB_dialogbox1.pngbin0 -> 3947 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ENCODER_SB_dialogbox2.pngbin0 -> 4425 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/ENCODER_exemple.pngbin0 -> 26523 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB.tst28
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB.xml89
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB_dialogbox.pngbin0 -> 3915 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/INTERRUPT_exemple.pngbin0 -> 8993 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/SERVO_SB.tst31
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/SERVO_SB_dialogbox.pngbin0 -> 5293 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/SERVO_SB_exemple.pngbin0 -> 9439 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/SERVO_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE.xml87
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE_dialogbox.pngbin0 -> 6481 bytes
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE_help.tst26
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/build_help.sce3
-rw-r--r--scilab-arduino/tools/linux/help/fr_En/read_file_doc.sci284
-rw-r--r--scilab-arduino/tools/linux/images/gif/ANALOG_READ_SB.gifbin0 -> 2782 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ANALOG_WRITE_SB.gifbin0 -> 2800 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_ANALOG_READ.gifbin0 -> 2118 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_ANALOG_WRITE.gifbin0 -> 2142 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_DCMOTOR.gifbin0 -> 1917 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_DIGITAL_READ.gifbin0 -> 2026 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_DIGITAL_WRITE.gifbin0 -> 2048 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_ENCODER.gifbin0 -> 3967 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_INTERRUPT.gifbin0 -> 943 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_SCOPE.gifbin0 -> 1866 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_SERVO_READ.gifbin0 -> 2064 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_SERVO_WRITE.gifbin0 -> 2517 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_SETUP.gifbin0 -> 2370 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_STEPPER.gifbin0 -> 1991 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ARDUINO_WRITE.gifbin0 -> 943 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/DCMOTOR_SB.gifbin0 -> 2469 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/DIGITAL_READ_SB.gifbin0 -> 2654 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/DIGITAL_WRITE_SB.gifbin0 -> 2705 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/ENCODER_SB.gifbin0 -> 2329 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/INTERRUPT_SB.gifbin0 -> 2432 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/SERVO_READ_SB.gifbin0 -> 943 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/SERVO_WRITE_SB.gifbin0 -> 2438 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/STEPPER_SB.gifbin0 -> 2446 bytes
-rw-r--r--scilab-arduino/tools/linux/images/gif/TIME_SAMPLE.gifbin0 -> 1603 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ANALOG_READ_SB.sodbin0 -> 113296 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ANALOG_WRITE_SB.sodbin0 -> 113296 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_ANALOG_READ.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_ANALOG_WRITE.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_DCMOTOR.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_DIGITAL_READ.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_DIGITAL_WRITE.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_ENCODER.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_INTERRUPT.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_SCOPE.sodbin0 -> 141568 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_SERVO_READ.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_SERVO_WRITE.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_SETUP.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ARDUINO_STEPPER.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/DCMOTOR_SB.sodbin0 -> 113392 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/DIGITAL_READ_SB.sodbin0 -> 113296 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/DIGITAL_WRITE_SB.sodbin0 -> 113296 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/ENCODER_SB.sodbin0 -> 113392 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/INTERRUPT_SB.sodbin0 -> 113296 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/SERVO_READ_SB.sodbin0 -> 113296 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/SERVO_WRITE_SB.sodbin0 -> 113296 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/STEPPER_SB.sodbin0 -> 113296 bytes
-rw-r--r--scilab-arduino/tools/linux/images/h5/TIME_SAMPLE.sodbin0 -> 33480 bytes
-rw-r--r--scilab-arduino/tools/linux/images/svg/ANALOG_READ_SB.svg75
-rw-r--r--scilab-arduino/tools/linux/images/svg/ANALOG_WRITE_SB.svg72
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_ANALOG_READ.svg75
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_ANALOG_WRITE.svg72
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_DCMOTOR.svg80
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_DIGITAL_READ.svg47
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_DIGITAL_WRITE.svg47
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_ENCODER.svg109
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_INTERRUPT.svg109
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_SCOPE.svg31
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_SERVO_READ.svg61
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_SERVO_WRITE.svg61
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_SETUP.svg35
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_STEPPER.svg82
-rw-r--r--scilab-arduino/tools/linux/images/svg/ARDUINO_WRITE.svg24
-rw-r--r--scilab-arduino/tools/linux/images/svg/DCMOTOR_SB.svg80
-rw-r--r--scilab-arduino/tools/linux/images/svg/DIGITAL_READ_SB.svg47
-rw-r--r--scilab-arduino/tools/linux/images/svg/DIGITAL_WRITE_SB.svg47
-rw-r--r--scilab-arduino/tools/linux/images/svg/ENCODER_SB.svg109
-rw-r--r--scilab-arduino/tools/linux/images/svg/INTERRUPT_SB.svg104
-rw-r--r--scilab-arduino/tools/linux/images/svg/SERVO_READ_SB.svg61
-rw-r--r--scilab-arduino/tools/linux/images/svg/SERVO_WRITE_SB.svg61
-rw-r--r--scilab-arduino/tools/linux/images/svg/STEPPER_SB.svg82
-rw-r--r--scilab-arduino/tools/linux/images/svg/TIME_SAMPLE.svg16
-rw-r--r--scilab-arduino/tools/linux/jar/scilab_en_US_help.jarbin0 -> 355296 bytes
-rw-r--r--scilab-arduino/tools/linux/loader.sce10
-rw-r--r--scilab-arduino/tools/linux/macros/ANALOG_READ_SB.binbin0 -> 9808 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ANALOG_READ_SB.sci95
-rw-r--r--scilab-arduino/tools/linux/macros/ANALOG_WRITE_SB.binbin0 -> 10164 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ANALOG_WRITE_SB.sci95
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ.binbin0 -> 7428 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ.sci80
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ_sim.binbin0 -> 6248 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ_sim.sci73
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE.binbin0 -> 7756 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE.sci80
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE_sim.binbin0 -> 6100 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE_sim.sci62
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR.binbin0 -> 15220 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR.sci124
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR_sim.binbin0 -> 15060 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR_sim.sci129
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ.binbin0 -> 7464 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ.sci77
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ_sim.binbin0 -> 6424 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ_sim.sci68
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_WRITE.binbin0 -> 7460 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_WRITE.sci77
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DIG_WRITE_sim.binbin0 -> 6088 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_DIG_WRITE_sim.sci69
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ENCODER.binbin0 -> 13680 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ENCODER.sci100
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ENCODER_sim.binbin0 -> 11392 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_ENCODER_sim.sci89
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT.binbin0 -> 7196 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT.sci68
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT_sim.binbin0 -> 6712 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT_sim.sci66
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5.binbin0 -> 9636 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5.sci87
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5_WRITE_sim.binbin0 -> 7140 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5_WRITE_sim.sci78
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SCOPE.binbin0 -> 17560 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SCOPE.sci169
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ.binbin0 -> 7224 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ.sci77
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ_sim.binbin0 -> 7064 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ_sim.sci76
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE.binbin0 -> 7196 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE.sci77
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE_sim.binbin0 -> 9088 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE_sim.sci89
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SETUP.binbin0 -> 6856 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_SETUP.sci77
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_STEPPER.binbin0 -> 7128 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_STEPPER.sci77
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_STEPPER_sim.binbin0 -> 4380 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_STEPPER_sim.sci59
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_WRITE.binbin0 -> 5584 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_WRITE.sci73
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_WRITE_sim.binbin0 -> 3956 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_WRITE_sim.sci56
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_post_simulate.binbin0 -> 17268 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_post_simulate.sci157
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_pre_simulate.binbin0 -> 20512 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ARDUINO_pre_simulate.sci137
-rw-r--r--scilab-arduino/tools/linux/macros/ArduinoUnoR3.pngbin0 -> 38607 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/Arduino_GUI.sce616
-rw-r--r--scilab-arduino/tools/linux/macros/DCMOTOR_SB.binbin0 -> 16812 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/DCMOTOR_SB.sci136
-rw-r--r--scilab-arduino/tools/linux/macros/DIGITAL_READ_SB.binbin0 -> 10068 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/DIGITAL_READ_SB.sci94
-rw-r--r--scilab-arduino/tools/linux/macros/DIGITAL_WRITE_SB.binbin0 -> 10072 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/DIGITAL_WRITE_SB.sci93
-rw-r--r--scilab-arduino/tools/linux/macros/ENCODER_SB.binbin0 -> 16628 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/ENCODER_SB.sci117
-rw-r--r--scilab-arduino/tools/linux/macros/INTERRUPT_SB.binbin0 -> 9620 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/INTERRUPT_SB.sci82
-rw-r--r--scilab-arduino/tools/linux/macros/SERVO_READ_SB.binbin0 -> 9832 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/SERVO_READ_SB.sci93
-rw-r--r--scilab-arduino/tools/linux/macros/SERVO_WRITE_SB.binbin0 -> 9800 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/SERVO_WRITE_SB.sci93
-rw-r--r--scilab-arduino/tools/linux/macros/STEPPER_SB.binbin0 -> 9748 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/STEPPER_SB.sci93
-rw-r--r--scilab-arduino/tools/linux/macros/TIME_SAMPLE.binbin0 -> 7128 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/TIME_SAMPLE.sci77
-rw-r--r--scilab-arduino/tools/linux/macros/buildmacros.sce23
-rw-r--r--scilab-arduino/tools/linux/macros/close_serial.binbin0 -> 2860 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/close_serial.sci37
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_analog_in.binbin0 -> 4908 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_analog_in.sci42
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_analog_in_volt.binbin0 -> 5340 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_analog_in_volt.sci45
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_analog_out.binbin0 -> 6872 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_analog_out.sci41
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_analog_out_volt.binbin0 -> 5732 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_analog_out_volt.sci41
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_arduino_a_control.binbin0 -> 9756 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_arduino_a_control.sci70
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_arduino_d_control.binbin0 -> 11096 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_arduino_d_control.sci75
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_arduino_meter.binbin0 -> 9348 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_arduino_meter.sci64
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_dcmotor_release.binbin0 -> 5908 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_dcmotor_release.sci38
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_dcmotor_run.binbin0 -> 6884 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_dcmotor_run.sci52
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_dcmotor_setup.binbin0 -> 10144 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_dcmotor_setup.sci62
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_digital_in.binbin0 -> 7160 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_digital_in.sci55
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_digital_out.binbin0 -> 8624 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_digital_out.sci72
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_encoder_init.binbin0 -> 4508 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_encoder_init.sci18
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_servo_attach.binbin0 -> 8188 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_servo_attach.sci48
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_servo_detach.binbin0 -> 8104 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_servo_detach.sci47
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_servo_move.binbin0 -> 8492 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/cmd_servo_move.sci47
-rw-r--r--scilab-arduino/tools/linux/macros/genhelpscript.sce18
-rw-r--r--scilab-arduino/tools/linux/macros/getArduinoVersion.binbin0 -> 144 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/getArduinoVersion.sci15
-rw-r--r--scilab-arduino/tools/linux/macros/init_arduino.binbin0 -> 20688 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/init_arduino.sci177
-rw-r--r--scilab-arduino/tools/linux/macros/libbin0 -> 2080 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/names66
-rw-r--r--scilab-arduino/tools/linux/macros/nicescope.binbin0 -> 12292 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/nicescope.sci69
-rw-r--r--scilab-arduino/tools/linux/macros/open_serial.binbin0 -> 3492 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/open_serial.sci38
-rw-r--r--scilab-arduino/tools/linux/macros/post_xcos_simulate.binbin0 -> 11168 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/post_xcos_simulate.sci97
-rw-r--r--scilab-arduino/tools/linux/macros/pre_xcos_simulate.binbin0 -> 13600 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/pre_xcos_simulate.sci117
-rw-r--r--scilab-arduino/tools/linux/macros/read_serial.binbin0 -> 508 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/read_serial.sci14
-rw-r--r--scilab-arduino/tools/linux/macros/status_serial.binbin0 -> 640 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/status_serial.sci14
-rw-r--r--scilab-arduino/tools/linux/macros/tkscaleblk.binbin0 -> 9328 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/tkscaleblk.sci109
-rw-r--r--scilab-arduino/tools/linux/macros/write_serial.binbin0 -> 572 bytes
-rw-r--r--scilab-arduino/tools/linux/macros/write_serial.sci14
m---------scilab-arduino/tools/linux/src0
-rw-r--r--scilab-arduino/tools/linux/unloader.sce14
-rw-r--r--scilab-arduino/tools/shield/Part list for shield.docxbin0 -> 4778 bytes
-rw-r--r--scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.cmp331
-rw-r--r--scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.drd113
-rw-r--r--scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.dri45
-rw-r--r--scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.drl10
-rw-r--r--scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.gpi51
-rw-r--r--scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.plc5548
-rw-r--r--scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.sol3147
-rw-r--r--scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.stc158
-rw-r--r--scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.sts158
-rw-r--r--scilab-arduino/tools/shield/pcb_board_V1p2.pngbin0 -> 39034 bytes
-rw-r--r--scilab-arduino/tools/shield/shield-V1p2.brd1329
-rw-r--r--scilab-arduino/tools/shield/shield-V1p2.jpgbin0 -> 221681 bytes
-rw-r--r--scilab-arduino/tools/shield/shield-V1p2.pngbin0 -> 53354 bytes
-rw-r--r--scilab-arduino/tools/shield/shield-V1p2.sch4316
-rw-r--r--scilab-arduino/tools/test_firmware.sce7
-rw-r--r--scilab-arduino/tools/windows/DESCRIPTION34
-rw-r--r--scilab-arduino/tools/windows/VERSION1
-rw-r--r--scilab-arduino/tools/windows/builder.sce53
-rw-r--r--scilab-arduino/tools/windows/cleaner.sce38
-rw-r--r--scilab-arduino/tools/windows/demos/analog_read.dem.sce14
-rw-r--r--scilab-arduino/tools/windows/demos/analog_write.dem.sce13
-rw-r--r--scilab-arduino/tools/windows/demos/arduino.dem.gateway.sce31
-rw-r--r--scilab-arduino/tools/windows/demos/arduino2.dem.sce14
-rw-r--r--scilab-arduino/tools/windows/demos/arduino3.dem.sce14
-rw-r--r--scilab-arduino/tools/windows/demos/arduino4.dem.sce14
-rw-r--r--scilab-arduino/tools/windows/demos/arduino5.dem.sce14
-rw-r--r--scilab-arduino/tools/windows/demos/arduino7.dem.sce14
-rw-r--r--scilab-arduino/tools/windows/demos/arduino8.dem.sce14
-rw-r--r--scilab-arduino/tools/windows/demos/arduino9.dem.sce14
-rw-r--r--scilab-arduino/tools/windows/demos/asserv.dem.sce13
-rw-r--r--scilab-arduino/tools/windows/demos/clignotement_led.dem.sce14
-rw-r--r--scilab-arduino/tools/windows/demos/digital_read_write.dem.sce13
-rw-r--r--scilab-arduino/tools/windows/demos/encodeur.dem.sce13
-rw-r--r--scilab-arduino/tools/windows/demos/exemples_livret.dem.gateway.sce29
-rw-r--r--scilab-arduino/tools/windows/demos/interrupt_compteur.dem.sce13
-rw-r--r--scilab-arduino/tools/windows/demos/motor.dem.sce13
-rw-r--r--scilab-arduino/tools/windows/demos/servomotor.dem.sce13
-rw-r--r--scilab-arduino/tools/windows/etc/arduino.quit31
-rw-r--r--scilab-arduino/tools/windows/etc/arduino.start117
-rw-r--r--scilab-arduino/tools/windows/examples/Arduino1.zcosbin0 -> 4903 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/Arduino2.zcosbin0 -> 4300 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/Arduino3.zcosbin0 -> 5122 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/Arduino4.zcosbin0 -> 3705 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/Arduino5.zcosbin0 -> 4381 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/Arduino6.zcosbin0 -> 5665 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/Arduino7.zcosbin0 -> 6263 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/Arduino8.zcosbin0 -> 6573 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/Arduino9.zcosbin0 -> 8653 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/asservissement.zcosbin0 -> 8271 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/asservpos.zcosbin0 -> 8452 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/boutonpoussoir.zcosbin0 -> 3928 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/encodeur.zcosbin0 -> 6293 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/interrupt_compteur.zcosbin0 -> 3735 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/moteurBO.zcosbin0 -> 5788 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/potentiometre.zcosbin0 -> 4383 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/servomoteur.zcosbin0 -> 4384 bytes
-rw-r--r--scilab-arduino/tools/windows/examples/variateurLED.zcosbin0 -> 4422 bytes
-rw-r--r--scilab-arduino/tools/windows/help/builder_help.sce3
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB.xml92
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB_dialogbox.pngbin0 -> 3735 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB_help.tst27
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ANALOG_READ_example.pngbin0 -> 8842 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB_dialogbox.pngbin0 -> 3996 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB_help.tst27
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_exemple.pngbin0 -> 16337 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP.xml92
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_dialogbox.pngbin0 -> 6352 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_example.pngbin0 -> 37200 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_help.tst31
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ASSERV_POS_exemple.pngbin0 -> 14663 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB.tst42
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB.xml105
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox1.pngbin0 -> 8011 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox2.pngbin0 -> 4745 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox3.pngbin0 -> 6841 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox4.pngbin0 -> 6955 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DCMOTOR_exemple.pngbin0 -> 28033 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB.xml92
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB_dialogbox.pngbin0 -> 3787 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB_help.tst27
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB_dialogbox.pngbin0 -> 3827 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB_help.tst27
-rw-r--r--scilab-arduino/tools/windows/help/en_US/DIGITAL_exemple.pngbin0 -> 12382 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ENCODER_SB.tst42
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ENCODER_SB.xml110
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ENCODER_SB_dialogbox1.pngbin0 -> 3947 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ENCODER_SB_dialogbox2.pngbin0 -> 4425 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/ENCODER_exemple.pngbin0 -> 26523 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB.tst27
-rw-r--r--scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB.xml88
-rw-r--r--scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB_dialogbox.pngbin0 -> 3915 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/INTERRUPT_exemple.pngbin0 -> 8993 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/SERVO_SB.tst31
-rw-r--r--scilab-arduino/tools/windows/help/en_US/SERVO_SB_dialogbox.pngbin0 -> 5293 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/SERVO_SB_exemple.pngbin0 -> 17128 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/SERVO_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE.xml87
-rw-r--r--scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE_dialogbox.pngbin0 -> 6481 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE_help.tst26
-rw-r--r--scilab-arduino/tools/windows/help/en_US/build_help.sce3
-rw-r--r--scilab-arduino/tools/windows/help/en_US/close_serial.xml73
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_analog_in.tst25
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_analog_in.xml77
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_analog_in_volt.xml77
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_analog_out.xml83
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_analog_out_volt.xml80
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_arduino_a_control.xml75
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_arduino_d_control.xml76
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_arduino_meter.xml74
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_release.xml67
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_run.xml69
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_setup.xml73
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_digital_in.xml77
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_digital_out.xml82
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_servo_attach.xml88
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_servo_detach.xml88
-rw-r--r--scilab-arduino/tools/windows/help/en_US/cmd_servo_move.xml90
-rw-r--r--scilab-arduino/tools/windows/help/en_US/master_help.xml75
-rw-r--r--scilab-arduino/tools/windows/help/en_US/open_serial.xml77
-rw-r--r--scilab-arduino/tools/windows/help/en_US/read_file_doc.sci284
-rw-r--r--scilab-arduino/tools/windows/help/en_US/read_file_doc2.sci285
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB.gifbin0 -> 2782 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB.html85
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB_dialogbox.pngbin0 -> 3735 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_example.pngbin0 -> 8842 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.gifbin0 -> 2800 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.html85
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB_dialogbox.pngbin0 -> 3996 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_exemple.pngbin0 -> 16337 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP.gifbin0 -> 2370 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP.html88
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP_dialogbox.pngbin0 -> 6352 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP_example.pngbin0 -> 37200 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ASSERV_POS_exemple.pngbin0 -> 14663 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB.gifbin0 -> 2469 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB.html101
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox1.pngbin0 -> 8011 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox2.pngbin0 -> 4745 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox3.pngbin0 -> 6841 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox4.pngbin0 -> 6955 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_exemple.pngbin0 -> 28033 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.gifbin0 -> 2654 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.html85
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB_dialogbox.pngbin0 -> 3787 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.gifbin0 -> 2705 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.html86
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB_dialogbox.pngbin0 -> 3827 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_exemple.pngbin0 -> 12382 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB.gifbin0 -> 2329 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB.html100
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox1.pngbin0 -> 3947 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox2.pngbin0 -> 4425 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_exemple.pngbin0 -> 26523 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB.gifbin0 -> 2432 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB.html84
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB_dialogbox.pngbin0 -> 3915 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_exemple.pngbin0 -> 8993 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCSbin0 -> 2769 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB2
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS1
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONSbin0 -> 13159 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA2
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAPbin0 -> 10240 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_SB_dialogbox.pngbin0 -> 5293 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_SB_exemple.pngbin0 -> 17128 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.gifbin0 -> 2438 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.html89
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabCaution.pngbin0 -> 603 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabEdit.pngbin0 -> 574 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabExecute.pngbin0 -> 660 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabImportant.pngbin0 -> 717 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabNote.pngbin0 -> 863 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabTip.pngbin0 -> 863 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabWarning.pngbin0 -> 603 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE.gifbin0 -> 1603 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE.html84
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE_dialogbox.pngbin0 -> 6481 bytes
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/c_code.css54
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/close_serial.html83
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_in.html87
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_in_volt.html87
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_out.html91
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_out_volt.html90
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_a_control.html85
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_d_control.html86
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_meter.html84
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_release.html84
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_run.html86
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_setup.html90
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_digital_in.html85
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_digital_out.html90
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_attach.html94
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_detach.html94
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_move.html96
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/index.html184
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpidx.xml3
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpmap.jhm94
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpset.hs28
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelptoc.xml35
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/open_serial.html85
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/scilab_code.css96
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_147efb2e6adc067fcd27975e0e16385a.html184
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_d8c18d63fe0e0a7831b9ab7a10831e5a.html184
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_f3a404459a61fd97daa21459936e95ac.html82
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/style.css350
-rw-r--r--scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/xml_code.css94
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB.xml92
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB_dialogbox.pngbin0 -> 3735 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB_help.tst27
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_example.pngbin0 -> 8842 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB_dialogbox.pngbin0 -> 3996 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB_help.tst27
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_exemple.pngbin0 -> 16337 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP.xml92
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_dialogbox.pngbin0 -> 6352 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_example.pngbin0 -> 37200 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_help.tst31
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ASSERV_POS_exemple.pngbin0 -> 14663 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB.tst42
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB.xml105
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox1.pngbin0 -> 8011 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox2.pngbin0 -> 4745 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox3.pngbin0 -> 6841 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox4.pngbin0 -> 6955 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DCMOTOR_exemple.pngbin0 -> 28033 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB.xml92
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB_dialogbox.pngbin0 -> 3787 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB_help.tst27
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB_dialogbox.pngbin0 -> 3827 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB_help.tst27
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/DIGITAL_exemple.pngbin0 -> 12382 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ENCODER_SB.tst43
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ENCODER_SB.xml111
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ENCODER_SB_dialogbox1.pngbin0 -> 3947 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ENCODER_SB_dialogbox2.pngbin0 -> 4425 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/ENCODER_exemple.pngbin0 -> 26523 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB.tst28
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB.xml89
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB_dialogbox.pngbin0 -> 3915 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/INTERRUPT_exemple.pngbin0 -> 8993 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/SERVO_SB.tst31
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/SERVO_SB_dialogbox.pngbin0 -> 5293 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/SERVO_SB_exemple.pngbin0 -> 9439 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/SERVO_WRITE_SB.xml92
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE.xml87
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE_dialogbox.pngbin0 -> 6481 bytes
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE_help.tst26
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/build_help.sce3
-rw-r--r--scilab-arduino/tools/windows/help/fr_En/read_file_doc.sci284
-rw-r--r--scilab-arduino/tools/windows/images/gif/ANALOG_READ_SB.gifbin0 -> 2782 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ANALOG_WRITE_SB.gifbin0 -> 2800 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_ANALOG_READ.gifbin0 -> 2118 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_ANALOG_WRITE.gifbin0 -> 2142 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_DCMOTOR.gifbin0 -> 1917 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_DIGITAL_READ.gifbin0 -> 2026 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_DIGITAL_WRITE.gifbin0 -> 2048 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_ENCODER.gifbin0 -> 3967 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_INTERRUPT.gifbin0 -> 943 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_SCOPE.gifbin0 -> 1866 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_SERVO_READ.gifbin0 -> 2064 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_SERVO_WRITE.gifbin0 -> 2517 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_SETUP.gifbin0 -> 2370 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_STEPPER.gifbin0 -> 1991 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ARDUINO_WRITE.gifbin0 -> 943 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/DCMOTOR_SB.gifbin0 -> 2469 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/DIGITAL_READ_SB.gifbin0 -> 2654 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/DIGITAL_WRITE_SB.gifbin0 -> 2705 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/ENCODER_SB.gifbin0 -> 2329 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/INTERRUPT_SB.gifbin0 -> 2432 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/SERVO_READ_SB.gifbin0 -> 943 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/SERVO_WRITE_SB.gifbin0 -> 2438 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/STEPPER_SB.gifbin0 -> 2446 bytes
-rw-r--r--scilab-arduino/tools/windows/images/gif/TIME_SAMPLE.gifbin0 -> 1603 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ANALOG_READ_SB.sodbin0 -> 114880 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ANALOG_WRITE_SB.sodbin0 -> 114880 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_ANALOG_READ.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_ANALOG_WRITE.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_DCMOTOR.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_DIGITAL_READ.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_DIGITAL_WRITE.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_ENCODER.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_INTERRUPT.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_SCOPE.sodbin0 -> 140736 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_SERVO_READ.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_SERVO_WRITE.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_SETUP.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ARDUINO_STEPPER.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/DCMOTOR_SB.sodbin0 -> 115232 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/DIGITAL_READ_SB.sodbin0 -> 114880 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/DIGITAL_WRITE_SB.sodbin0 -> 114880 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/ENCODER_SB.sodbin0 -> 115232 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/INTERRUPT_SB.sodbin0 -> 114880 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/SERVO_READ_SB.sodbin0 -> 114880 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/SERVO_WRITE_SB.sodbin0 -> 114880 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/STEPPER_SB.sodbin0 -> 114880 bytes
-rw-r--r--scilab-arduino/tools/windows/images/h5/TIME_SAMPLE.sodbin0 -> 33384 bytes
-rw-r--r--scilab-arduino/tools/windows/images/svg/ANALOG_READ_SB.svg75
-rw-r--r--scilab-arduino/tools/windows/images/svg/ANALOG_WRITE_SB.svg72
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_ANALOG_READ.svg75
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_ANALOG_WRITE.svg72
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_DCMOTOR.svg80
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_DIGITAL_READ.svg47
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_DIGITAL_WRITE.svg47
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_ENCODER.svg109
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_INTERRUPT.svg109
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_SCOPE.svg31
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_SERVO_READ.svg61
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_SERVO_WRITE.svg61
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_SETUP.svg35
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_STEPPER.svg82
-rw-r--r--scilab-arduino/tools/windows/images/svg/ARDUINO_WRITE.svg24
-rw-r--r--scilab-arduino/tools/windows/images/svg/DCMOTOR_SB.svg80
-rw-r--r--scilab-arduino/tools/windows/images/svg/DIGITAL_READ_SB.svg47
-rw-r--r--scilab-arduino/tools/windows/images/svg/DIGITAL_WRITE_SB.svg47
-rw-r--r--scilab-arduino/tools/windows/images/svg/ENCODER_SB.svg109
-rw-r--r--scilab-arduino/tools/windows/images/svg/INTERRUPT_SB.svg104
-rw-r--r--scilab-arduino/tools/windows/images/svg/SERVO_READ_SB.svg61
-rw-r--r--scilab-arduino/tools/windows/images/svg/SERVO_WRITE_SB.svg61
-rw-r--r--scilab-arduino/tools/windows/images/svg/STEPPER_SB.svg82
-rw-r--r--scilab-arduino/tools/windows/images/svg/TIME_SAMPLE.svg16
-rw-r--r--scilab-arduino/tools/windows/jar/scilab_en_US_help.jarbin0 -> 347176 bytes
-rw-r--r--scilab-arduino/tools/windows/loader.sce10
-rw-r--r--scilab-arduino/tools/windows/macros/ANALOG_READ_SB.binbin0 -> 9808 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ANALOG_READ_SB.sci95
-rw-r--r--scilab-arduino/tools/windows/macros/ANALOG_WRITE_SB.binbin0 -> 10164 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ANALOG_WRITE_SB.sci95
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ.binbin0 -> 7428 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ.sci80
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ_sim.binbin0 -> 6248 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ_sim.sci73
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE.binbin0 -> 7756 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE.sci80
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE_sim.binbin0 -> 6100 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE_sim.sci62
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR.binbin0 -> 15220 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR.sci124
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR_sim.binbin0 -> 15060 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR_sim.sci129
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ.binbin0 -> 7464 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ.sci77
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ_sim.binbin0 -> 6424 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ_sim.sci68
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_WRITE.binbin0 -> 7460 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_WRITE.sci77
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DIG_WRITE_sim.binbin0 -> 6088 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_DIG_WRITE_sim.sci69
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ENCODER.binbin0 -> 13680 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ENCODER.sci100
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ENCODER_sim.binbin0 -> 11392 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_ENCODER_sim.sci89
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT.binbin0 -> 7196 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT.sci68
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT_sim.binbin0 -> 6712 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT_sim.sci66
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5.binbin0 -> 9636 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5.sci87
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5_WRITE_sim.binbin0 -> 7140 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5_WRITE_sim.sci78
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SCOPE.binbin0 -> 17560 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SCOPE.sci169
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ.binbin0 -> 7224 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ.sci77
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ_sim.binbin0 -> 7064 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ_sim.sci76
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE.binbin0 -> 7196 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE.sci77
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE_sim.binbin0 -> 9088 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE_sim.sci89
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SETUP.binbin0 -> 6856 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_SETUP.sci77
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_STEPPER.binbin0 -> 7128 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_STEPPER.sci77
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_STEPPER_sim.binbin0 -> 4380 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_STEPPER_sim.sci59
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_WRITE.binbin0 -> 5584 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_WRITE.sci73
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_WRITE_sim.binbin0 -> 3956 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_WRITE_sim.sci56
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_post_simulate.binbin0 -> 16980 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_post_simulate.sci156
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_pre_simulate.binbin0 -> 20780 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ARDUINO_pre_simulate.sci136
-rw-r--r--scilab-arduino/tools/windows/macros/ArduinoUnoR3.pngbin0 -> 38607 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/Arduino_GUI.sce616
-rw-r--r--scilab-arduino/tools/windows/macros/DCMOTOR_SB.binbin0 -> 16812 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/DCMOTOR_SB.sci136
-rw-r--r--scilab-arduino/tools/windows/macros/DIGITAL_READ_SB.binbin0 -> 10068 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/DIGITAL_READ_SB.sci94
-rw-r--r--scilab-arduino/tools/windows/macros/DIGITAL_WRITE_SB.binbin0 -> 10072 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/DIGITAL_WRITE_SB.sci93
-rw-r--r--scilab-arduino/tools/windows/macros/ENCODER_SB.binbin0 -> 16628 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/ENCODER_SB.sci117
-rw-r--r--scilab-arduino/tools/windows/macros/INTERRUPT_SB.binbin0 -> 9620 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/INTERRUPT_SB.sci82
-rw-r--r--scilab-arduino/tools/windows/macros/SERVO_READ_SB.binbin0 -> 9832 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/SERVO_READ_SB.sci93
-rw-r--r--scilab-arduino/tools/windows/macros/SERVO_WRITE_SB.binbin0 -> 9800 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/SERVO_WRITE_SB.sci93
-rw-r--r--scilab-arduino/tools/windows/macros/STEPPER_SB.binbin0 -> 9748 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/STEPPER_SB.sci93
-rw-r--r--scilab-arduino/tools/windows/macros/TIME_SAMPLE.binbin0 -> 7128 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/TIME_SAMPLE.sci77
-rw-r--r--scilab-arduino/tools/windows/macros/buildmacros.sce23
-rw-r--r--scilab-arduino/tools/windows/macros/close_serial.binbin0 -> 2860 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/close_serial.sci37
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_analog_in.binbin0 -> 4984 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_analog_in.sci44
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_analog_in_volt.binbin0 -> 5340 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_analog_in_volt.sci45
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_analog_out.binbin0 -> 6872 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_analog_out.sci41
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_analog_out_volt.binbin0 -> 5732 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_analog_out_volt.sci41
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_arduino_a_control.binbin0 -> 9756 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_arduino_a_control.sci70
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_arduino_d_control.binbin0 -> 11096 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_arduino_d_control.sci75
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_arduino_meter.binbin0 -> 9348 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_arduino_meter.sci64
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_dcmotor_release.binbin0 -> 5908 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_dcmotor_release.sci38
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_dcmotor_run.binbin0 -> 6884 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_dcmotor_run.sci52
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_dcmotor_setup.binbin0 -> 10144 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_dcmotor_setup.sci62
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_digital_in.binbin0 -> 7160 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_digital_in.sci55
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_digital_out.binbin0 -> 8624 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_digital_out.sci72
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_encoder_init.binbin0 -> 4508 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_encoder_init.sci18
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_servo_attach.binbin0 -> 8188 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_servo_attach.sci48
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_servo_detach.binbin0 -> 8104 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_servo_detach.sci47
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_servo_move.binbin0 -> 8492 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/cmd_servo_move.sci47
-rw-r--r--scilab-arduino/tools/windows/macros/genhelpscript.sce18
-rw-r--r--scilab-arduino/tools/windows/macros/getArduinoVersion.binbin0 -> 144 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/getArduinoVersion.sci15
-rw-r--r--scilab-arduino/tools/windows/macros/init_arduino.binbin0 -> 20688 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/init_arduino.sci177
-rw-r--r--scilab-arduino/tools/windows/macros/libbin0 -> 1944 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/names66
-rw-r--r--scilab-arduino/tools/windows/macros/nicescope.binbin0 -> 12292 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/nicescope.sci69
-rw-r--r--scilab-arduino/tools/windows/macros/open_serial.binbin0 -> 3492 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/open_serial.sci38
-rw-r--r--scilab-arduino/tools/windows/macros/post_xcos_simulate.binbin0 -> 11168 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/post_xcos_simulate.sci97
-rw-r--r--scilab-arduino/tools/windows/macros/pre_xcos_simulate.binbin0 -> 13648 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/pre_xcos_simulate.sci117
-rw-r--r--scilab-arduino/tools/windows/macros/read_serial.binbin0 -> 508 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/read_serial.sci14
-rw-r--r--scilab-arduino/tools/windows/macros/status_serial.binbin0 -> 640 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/status_serial.sci14
-rw-r--r--scilab-arduino/tools/windows/macros/tkscaleblk.binbin0 -> 9328 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/tkscaleblk.sci109
-rw-r--r--scilab-arduino/tools/windows/macros/write_serial.binbin0 -> 572 bytes
-rw-r--r--scilab-arduino/tools/windows/macros/write_serial.sci14
-rw-r--r--scilab-arduino/tools/windows/src/libserial.dllbin0 -> 93501 bytes
-rw-r--r--scilab-arduino/tools/windows/src/libserial64.dllbin0 -> 112037 bytes
-rw-r--r--scilab-arduino/tools/windows/src/loader.sce50
-rw-r--r--scilab-arduino/tools/windows/src/main.c133
-rw-r--r--scilab-arduino/tools/windows/src/make.txt4
-rw-r--r--scilab-arduino/tools/windows/unloader.sce14
-rw-r--r--scilab-arduino/user-code/.DS_Storebin0 -> 6148 bytes
-rw-r--r--scilab-arduino/user-code/auto/arduino-sci.el60
-rw-r--r--scilab-arduino/user-code/auto/styles.el5
-rw-r--r--scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-both.mo24
-rw-r--r--scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-both.sce9
-rw-r--r--scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-clock.mo22
-rw-r--r--scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-clock.sce6
-rw-r--r--scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-loop.mo27
-rw-r--r--scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-loop.sce13
-rw-r--r--scilab-arduino/user-code/dcmotor/arduino/dcmotor-both/dcmotor-both.ino16
-rw-r--r--scilab-arduino/user-code/dcmotor/arduino/dcmotor-clock/dcmotor-clock.ino13
-rw-r--r--scilab-arduino/user-code/dcmotor/arduino/dcmotor-loop/dcmotor-loop.ino22
-rw-r--r--scilab-arduino/user-code/dcmotor/auto/dcmotor.el40
-rw-r--r--scilab-arduino/user-code/dcmotor/dcmotor.tex865
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dc-motor-both.pngbin0 -> 49353 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dc-motor-simple.pngbin0 -> 40210 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dc-motor-start-stop.pngbin0 -> 32715 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dc-motor.pngbin0 -> 60530 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dc_motor_description.jpgbin0 -> 694440 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dc_motor_xcos_desc.pngbin0 -> 11760 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dcmotor-both.pngbin0 -> 32214 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dcmotor-clock.pngbin0 -> 26079 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dcmotor-loop.pngbin0 -> 28069 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dcmotor_board.pngbin0 -> 114406 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/dcmotorflowchart.pngbin0 -> 25250 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/schematic.pngbin0 -> 29144 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/figures/trash/dc-motor-start-stop.pngbin0 -> 41166 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/julia/dcmotor-both.jl11
-rw-r--r--scilab-arduino/user-code/dcmotor/julia/dcmotor-clock.jl9
-rw-r--r--scilab-arduino/user-code/dcmotor/julia/dcmotor-loop.jl15
-rw-r--r--scilab-arduino/user-code/dcmotor/python/dcmotor-both.py40
-rw-r--r--scilab-arduino/user-code/dcmotor/python/dcmotor-clock.py43
-rw-r--r--scilab-arduino/user-code/dcmotor/python/dcmotor-loop.py45
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/dc-motor-both.zcosbin0 -> 4524 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/dc-motor-simple.zcosbin0 -> 3710 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/dc-motor-start-stop.zcosbin0 -> 4893 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/dc-motor.zcosbin0 -> 4523 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/dcmotor-both.sce9
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/dcmotor-both.zcosbin0 -> 4370 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/dcmotor-clock.sce6
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/dcmotor-clock.zcosbin0 -> 3998 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/dcmotor-loop.sce13
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/dcmotor-loop.zcosbin0 -> 4868 bytes
-rw-r--r--scilab-arduino/user-code/dcmotor/scilab/scilab.tex13
-rw-r--r--scilab-arduino/user-code/hw-env/auto/hw-env.el29
-rw-r--r--scilab-arduino/user-code/hw-env/figures/ArduinoUno-elaborated.odtbin0 -> 1465722 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/OSHW-138px.pngbin0 -> 8171 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/aduino-lilypad.jpgbin0 -> 74607 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/arduino-3d-printer.jpgbin0 -> 39052 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/arduino-ide.jpgbin0 -> 194767 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/arduino-mega.jpgbin0 -> 1075629 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/arduino-phone.jpgbin0 -> 135255 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/arduino-uno.jpgbin0 -> 33408 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/arduino.pngbin0 -> 149178 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/auto/hardware.el16
-rw-r--r--scilab-arduino/user-code/hw-env/figures/executable.pngbin0 -> 15343 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/hw-device-manager.jpgbin0 -> 123199 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/lily.jpgbin0 -> 74607 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/mega.jpgbin0 -> 1075629 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/miccontblk.pngbin0 -> 32073 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/neo-1973-openmoko-smartphone.jpgbin0 -> 20113 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/open-source-hardware-logo.pngbin0 -> 31822 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/resolution.pngbin0 -> 4945 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/run.pngbin0 -> 7479 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/shield-crop.jpgbin0 -> 88724 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/shield-crop.tiffbin0 -> 362734 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/shield.pngbin0 -> 259894 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/figures/update-driver.pngbin0 -> 40170 bytes
-rw-r--r--scilab-arduino/user-code/hw-env/hw-env.log15093
-rw-r--r--scilab-arduino/user-code/hw-env/hw-env.tex488
-rw-r--r--scilab-arduino/user-code/ldr/OpenModelica/ldr-led.mo34
-rw-r--r--scilab-arduino/user-code/ldr/OpenModelica/ldr-read.mo27
-rw-r--r--scilab-arduino/user-code/ldr/arduino-old/ldr-led/ldr-led.ino19
-rw-r--r--scilab-arduino/user-code/ldr/arduino-old/ldr-read/ldr-read.ino12
-rw-r--r--scilab-arduino/user-code/ldr/arduino/ldr-led/ldr-led.ino19
-rw-r--r--scilab-arduino/user-code/ldr/arduino/ldr-read/ldr-read.ino12
-rw-r--r--scilab-arduino/user-code/ldr/auto/ldr.el23
-rw-r--r--scilab-arduino/user-code/ldr/figures/LDRblock.pngbin0 -> 92214 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/ldr-conn.pngbin0 -> 27006 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/ldr-led-out.PNGbin0 -> 36209 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/ldr-led-xcos.PNGbin0 -> 49650 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/ldr-led.pngbin0 -> 75341 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/ldr-read-xcos.PNGbin0 -> 34063 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/ldr-sat-out.PNGbin0 -> 25567 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/ldr-therm.pngbin0 -> 99461 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/ldr-xcos.pngbin0 -> 38798 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/ldr.jpgbin0 -> 4060 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/ldr_sym.pngbin0 -> 29267 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/schematic.pngbin0 -> 27006 bytes
-rw-r--r--scilab-arduino/user-code/ldr/figures/xcos_ldr.pngbin0 -> 50612 bytes
-rw-r--r--scilab-arduino/user-code/ldr/julia/ldr-led.jl12
-rw-r--r--scilab-arduino/user-code/ldr/julia/ldr-read.jl14
-rw-r--r--scilab-arduino/user-code/ldr/ldr.tex535
-rw-r--r--scilab-arduino/user-code/ldr/ldr_11.tex86
-rw-r--r--scilab-arduino/user-code/ldr/python/ldr-led.py44
-rw-r--r--scilab-arduino/user-code/ldr/python/ldr-read.py37
-rw-r--r--scilab-arduino/user-code/ldr/scilab/ldr-led-xcos.zcosbin0 -> 5666 bytes
-rw-r--r--scilab-arduino/user-code/ldr/scilab/ldr-led.sce12
-rw-r--r--scilab-arduino/user-code/ldr/scilab/ldr-read-xcos.zcosbin0 -> 4604 bytes
-rw-r--r--scilab-arduino/user-code/ldr/scilab/ldr-read.sce8
-rw-r--r--scilab-arduino/user-code/led/OpenModelica/led-blue-delay.mo24
-rw-r--r--scilab-arduino/user-code/led/OpenModelica/led-blue-red.mo26
-rw-r--r--scilab-arduino/user-code/led/OpenModelica/led-blue.mo21
-rw-r--r--scilab-arduino/user-code/led/OpenModelica/led-green-blink.mo26
-rw-r--r--scilab-arduino/user-code/led/OpenModelica/test_firmware.mo12
-rw-r--r--scilab-arduino/user-code/led/arduino-old/led-blink/led-blink.ino13
-rw-r--r--scilab-arduino/user-code/led/arduino-old/led-blue-delay/led-blue-delay.ino8
-rw-r--r--scilab-arduino/user-code/led/arduino-old/led-blue-red/led-blue-red.ino12
-rw-r--r--scilab-arduino/user-code/led/arduino-old/led-blue/led-blue.ino6
-rw-r--r--scilab-arduino/user-code/led/arduino-old/led_on/led_on.ino11
-rw-r--r--scilab-arduino/user-code/led/arduino-old/led_sleep/led_sleep.ino16
-rw-r--r--scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino14
-rw-r--r--scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino~13
-rw-r--r--scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino9
-rw-r--r--scilab-arduino/user-code/led/arduino/led-blue-red/led-blue-red.ino13
-rw-r--r--scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino7
-rw-r--r--scilab-arduino/user-code/led/arduino/led_on-amravati/led_on-amravati.ino12
-rw-r--r--scilab-arduino/user-code/led/arduino/led_on/led_on.ino12
-rw-r--r--scilab-arduino/user-code/led/arduino/led_sleep/led_sleep.ino16
-rw-r--r--scilab-arduino/user-code/led/auto/led.el36
-rw-r--r--scilab-arduino/user-code/led/figures/arduino-shield.JPGbin0 -> 6411797 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/led-blue-delay.pngbin0 -> 24224 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/led-blue-red.pngbin0 -> 33412 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/led-blue.pngbin0 -> 25771 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/led-green-blink.pngbin0 -> 26877 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/led.pngbin0 -> 3299 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/led_output.pngbin0 -> 4933000 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/ledblock.pngbin0 -> 27486 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/ledflowchart.pngbin0 -> 21925 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/schematic.pngbin0 -> 34562 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/xcos-desc.pngbin0 -> 93196 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/xcos-led.pngbin0 -> 44450 bytes
-rw-r--r--scilab-arduino/user-code/led/figures/xcos-wri.pngbin0 -> 7238 bytes
-rw-r--r--scilab-arduino/user-code/led/julia/led-blue-delay.jl9
-rw-r--r--scilab-arduino/user-code/led/julia/led-blue-red.jl13
-rw-r--r--scilab-arduino/user-code/led/julia/led-blue.jl7
-rw-r--r--scilab-arduino/user-code/led/julia/led-green-blink.jl12
-rw-r--r--scilab-arduino/user-code/led/julia/test_firmware.jl12
-rw-r--r--scilab-arduino/user-code/led/led.tex1
-rw-r--r--scilab-arduino/user-code/led/python/4.2LED.py37
-rw-r--r--scilab-arduino/user-code/led/python/Arduino/Arduino.py327
-rw-r--r--scilab-arduino/user-code/led/python/Arduino/__init__.py0
-rw-r--r--scilab-arduino/user-code/led/python/Arduino/__pycache__/Arduino.cpython-38.pycbin0 -> 9950 bytes
-rw-r--r--scilab-arduino/user-code/led/python/Arduino/__pycache__/__init__.cpython-38.pycbin0 -> 188 bytes
-rw-r--r--scilab-arduino/user-code/led/python/led-blue-delay.py37
-rw-r--r--scilab-arduino/user-code/led/python/led-blue-red.py45
-rw-r--r--scilab-arduino/user-code/led/python/led-blue.py34
-rw-r--r--scilab-arduino/user-code/led/python/led-green-blink.py42
-rw-r--r--scilab-arduino/user-code/led/scilab/led-blink.sce15
-rw-r--r--scilab-arduino/user-code/led/scilab/led-blink.zcosbin0 -> 4897 bytes
-rw-r--r--scilab-arduino/user-code/led/scilab/led-blue-delay.sce6
-rw-r--r--scilab-arduino/user-code/led/scilab/led-blue-delay.zcosbin0 -> 4034 bytes
-rw-r--r--scilab-arduino/user-code/led/scilab/led-blue-red.sce9
-rw-r--r--scilab-arduino/user-code/led/scilab/led-blue-red.zcosbin0 -> 4645 bytes
-rw-r--r--scilab-arduino/user-code/led/scilab/led-blue.sce4
-rw-r--r--scilab-arduino/user-code/led/scilab/led-blue.zcosbin0 -> 3648 bytes
-rw-r--r--scilab-arduino/user-code/led/scilab/led-green-blink.sce9
-rw-r--r--scilab-arduino/user-code/led/scilab/led-green-blink.zcosbin0 -> 4904 bytes
-rw-r--r--scilab-arduino/user-code/led/scilab/led2.zcosbin0 -> 6560 bytes
-rw-r--r--scilab-arduino/user-code/led/scilab/manual.docxbin0 -> 12177 bytes
-rw-r--r--scilab-arduino/user-code/led/texput.log21
-rw-r--r--scilab-arduino/user-code/modbus/OpenModelica/readCurrent.mo14
-rw-r--r--scilab-arduino/user-code/modbus/OpenModelica/readPower.mo14
-rw-r--r--scilab-arduino/user-code/modbus/OpenModelica/readVoltage.mo14
-rw-r--r--scilab-arduino/user-code/modbus/OpenModelica/read_current.mo14
-rw-r--r--scilab-arduino/user-code/modbus/arduino/send_packet.ino214
-rw-r--r--scilab-arduino/user-code/modbus/auto/modbus.el35
-rw-r--r--scilab-arduino/user-code/modbus/figures/Full-Set-Up.pngbin0 -> 1614647 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/active-power-output-setup.jpgbin0 -> 351924 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/active-power-output.pngbin0 -> 92783 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/arduino_code_flowchart.pngbin0 -> 30551 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/block-diagram.PNGbin0 -> 12984 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/current-output-setup.jpgbin0 -> 369988 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/current-output.pngbin0 -> 92428 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/fig1.pngbin0 -> 7589 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/fig2.pngbin0 -> 8357 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/fig3.pngbin0 -> 64436 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/flowchart.pngbin0 -> 24159 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/read_value_xcos.pngbin0 -> 51074 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/voltage-output-setup.jpgbin0 -> 356309 bytes
-rw-r--r--scilab-arduino/user-code/modbus/figures/voltage-output.pngbin0 -> 97782 bytes
-rw-r--r--scilab-arduino/user-code/modbus/julia/readCurrent.jl17
-rw-r--r--scilab-arduino/user-code/modbus/julia/readPower.jl17
-rw-r--r--scilab-arduino/user-code/modbus/julia/readVoltage.jl17
-rw-r--r--scilab-arduino/user-code/modbus/modbus-old.tex369
-rw-r--r--scilab-arduino/user-code/modbus/modbus.tex583
-rw-r--r--scilab-arduino/user-code/modbus/modbus.tex~366
-rw-r--r--scilab-arduino/user-code/modbus/python/read_active_power.py52
-rw-r--r--scilab-arduino/user-code/modbus/python/read_current.py52
-rw-r--r--scilab-arduino/user-code/modbus/python/read_voltage.py52
-rw-r--r--scilab-arduino/user-code/modbus/scilab/ieeesingle2num.sci32
-rw-r--r--scilab-arduino/user-code/modbus/scilab/read_active_power.sci34
-rw-r--r--scilab-arduino/user-code/modbus/scilab/read_current.sci33
-rw-r--r--scilab-arduino/user-code/modbus/scilab/read_val.sce45
-rw-r--r--scilab-arduino/user-code/modbus/scilab/read_val_xcos.zcosbin0 -> 6107 bytes
-rw-r--r--scilab-arduino/user-code/modbus/scilab/read_voltage.sci36
-rw-r--r--scilab-arduino/user-code/modbus/thermistor.tex~226
-rw-r--r--scilab-arduino/user-code/pot/OpenModelica/pot-threshold.mo42
-rw-r--r--scilab-arduino/user-code/pot/OpenModelica/pot-threshold.sce42
-rw-r--r--scilab-arduino/user-code/pot/arduino/pot-threshold/pot-threshold.ino31
-rw-r--r--scilab-arduino/user-code/pot/auto/pot.el20
-rw-r--r--scilab-arduino/user-code/pot/figures/pot-threshold.PNGbin0 -> 72552 bytes
-rw-r--r--scilab-arduino/user-code/pot/figures/pot_led.pngbin0 -> 57475 bytes
-rw-r--r--scilab-arduino/user-code/pot/figures/potmeter.pngbin0 -> 99691 bytes
-rw-r--r--scilab-arduino/user-code/pot/figures/schematic.pngbin0 -> 24453 bytes
-rw-r--r--scilab-arduino/user-code/pot/julia/pot-threshold.jl24
-rw-r--r--scilab-arduino/user-code/pot/pot.tex302
-rw-r--r--scilab-arduino/user-code/pot/python/pot-threshold.py52
-rw-r--r--scilab-arduino/user-code/pot/scilab/pot-threshold.sce19
-rw-r--r--scilab-arduino/user-code/pot/scilab/pot-threshold.zcosbin0 -> 6421 bytes
-rw-r--r--scilab-arduino/user-code/push/.~lock.Push-Button-manual.docx#1
-rw-r--r--scilab-arduino/user-code/push/OpenModelica/led-push-button.mo32
-rw-r--r--scilab-arduino/user-code/push/OpenModelica/push-button-status.mo34
-rw-r--r--scilab-arduino/user-code/push/arduino-old/led-push-button/led-push-button.ino21
-rw-r--r--scilab-arduino/user-code/push/arduino-old/push-button-status/push-button-status.ino12
-rw-r--r--scilab-arduino/user-code/push/arduino/led-push-button/led-push-button.ino22
-rw-r--r--scilab-arduino/user-code/push/arduino/push-button-status/push-button-status.ino12
-rw-r--r--scilab-arduino/user-code/push/auto/push.el23
-rw-r--r--scilab-arduino/user-code/push/figures/led-push-button.PNGbin0 -> 29100 bytes
-rw-r--r--scilab-arduino/user-code/push/figures/push-button-status.PNGbin0 -> 27403 bytes
-rw-r--r--scilab-arduino/user-code/push/figures/pushbutton-conn.pngbin0 -> 25321 bytes
-rw-r--r--scilab-arduino/user-code/push/figures/schematic.pngbin0 -> 25321 bytes
-rw-r--r--scilab-arduino/user-code/push/julia/led-push-button.jl15
-rw-r--r--scilab-arduino/user-code/push/julia/push-button-status.jl10
-rw-r--r--scilab-arduino/user-code/push/push.tex451
-rw-r--r--scilab-arduino/user-code/push/pushbutton_11.tex127
-rw-r--r--scilab-arduino/user-code/push/python/led-push-button.py42
-rw-r--r--scilab-arduino/user-code/push/python/push-button-status.py40
-rw-r--r--scilab-arduino/user-code/push/scilab/led-push-button.sce12
-rw-r--r--scilab-arduino/user-code/push/scilab/led-push-button.zcosbin0 -> 3953 bytes
-rw-r--r--scilab-arduino/user-code/push/scilab/push-button-status.sce9
-rw-r--r--scilab-arduino/user-code/push/scilab/push-button-status.zcosbin0 -> 3823 bytes
-rw-r--r--scilab-arduino/user-code/servo/OpenModelica/servo-init.mo22
-rw-r--r--scilab-arduino/user-code/servo/OpenModelica/servo-loop.mo27
-rw-r--r--scilab-arduino/user-code/servo/OpenModelica/servo-reverse.mo25
-rw-r--r--scilab-arduino/user-code/servo/OpenModelica/servo_pot.mo31
-rw-r--r--scilab-arduino/user-code/servo/arduino-old/servo-init/servo-init.ino11
-rw-r--r--scilab-arduino/user-code/servo/arduino-old/servo-loop/servo-loop.ino15
-rw-r--r--scilab-arduino/user-code/servo/arduino-old/servo-pot/servo-pot.ino18
-rw-r--r--scilab-arduino/user-code/servo/arduino-old/servo-reverse/servo-reverse.ino13
-rw-r--r--scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino12
-rw-r--r--scilab-arduino/user-code/servo/arduino/servo-loop/servo-loop.ino16
-rw-r--r--scilab-arduino/user-code/servo/arduino/servo-pot/servo-pot.ino19
-rw-r--r--scilab-arduino/user-code/servo/arduino/servo-reverse/servo-reverse.ino14
-rw-r--r--scilab-arduino/user-code/servo/auto/servo.el33
-rw-r--r--scilab-arduino/user-code/servo/figures/servo-init.pngbin0 -> 26415 bytes
-rw-r--r--scilab-arduino/user-code/servo/figures/servo-loop.pngbin0 -> 32952 bytes
-rw-r--r--scilab-arduino/user-code/servo/figures/servo-pot.pngbin0 -> 33204 bytes
-rw-r--r--scilab-arduino/user-code/servo/figures/servo-reverse.pngbin0 -> 25147 bytes
-rw-r--r--scilab-arduino/user-code/servo/julia/servo-init.jl8
-rw-r--r--scilab-arduino/user-code/servo/julia/servo-loop.jl13
-rw-r--r--scilab-arduino/user-code/servo/julia/servo-pot.jl14
-rw-r--r--scilab-arduino/user-code/servo/julia/servo-reverse.jl10
-rw-r--r--scilab-arduino/user-code/servo/python/servo-init.py42
-rw-r--r--scilab-arduino/user-code/servo/python/servo-loop.py41
-rw-r--r--scilab-arduino/user-code/servo/python/servo-pot.py47
-rw-r--r--scilab-arduino/user-code/servo/python/servo-reverse.py44
-rw-r--r--scilab-arduino/user-code/servo/scilab/Servo-manual.docxbin0 -> 13409 bytes
-rw-r--r--scilab-arduino/user-code/servo/scilab/servo-init.sce6
-rw-r--r--scilab-arduino/user-code/servo/scilab/servo-init.zcosbin0 -> 3630 bytes
-rw-r--r--scilab-arduino/user-code/servo/scilab/servo-loop.sce11
-rw-r--r--scilab-arduino/user-code/servo/scilab/servo-loop.zcosbin0 -> 4555 bytes
-rw-r--r--scilab-arduino/user-code/servo/scilab/servo-pot.sce11
-rw-r--r--scilab-arduino/user-code/servo/scilab/servo-pot.zcosbin0 -> 4144 bytes
-rw-r--r--scilab-arduino/user-code/servo/scilab/servo-reverse.sce8
-rw-r--r--scilab-arduino/user-code/servo/scilab/servo-reverse.zcosbin0 -> 3999 bytes
-rw-r--r--scilab-arduino/user-code/servo/scilab/servo_pot.sce17
-rw-r--r--scilab-arduino/user-code/servo/scilab/servo_simple.sce20
-rw-r--r--scilab-arduino/user-code/servo/servo.tex725
-rw-r--r--scilab-arduino/user-code/sw-env/.#env.tex0
-rw-r--r--scilab-arduino/user-code/sw-env/auto/env.el34
-rw-r--r--scilab-arduino/user-code/sw-env/auto/hardware.el17
-rw-r--r--scilab-arduino/user-code/sw-env/auto/sw-env.el52
-rw-r--r--scilab-arduino/user-code/sw-env/figures/arduino-palette.pngbin0 -> 10751 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/atom-lunch.pngbin0 -> 49769 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/browse-directory.pngbin0 -> 30302 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/builder.pngbin0 -> 62847 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/change-directory.pngbin0 -> 64189 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/clock-blk.pngbin0 -> 8341 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/com-properties.pngbin0 -> 75092 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/com-set.pngbin0 -> 79606 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/cscope-config.pngbin0 -> 15445 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/device-manager.pngbin0 -> 66176 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/julia-terminal.pngbin0 -> 37869 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/linux-cd.pngbin0 -> 39093 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/linux-port.pngbin0 -> 22330 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/loader.pngbin0 -> 59139 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/old-figures/arduino-palette.pngbin0 -> 27432 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/old-figures/clock-blk.pngbin0 -> 28851 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/old-figures/plot-blk.pngbin0 -> 31780 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/old-figures/sine-gen.pngbin0 -> 23302 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/old-figures/sine-output.pngbin0 -> 15404 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/palette-browser.pngbin0 -> 32519 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/plot-blk.pngbin0 -> 9025 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/sim-setup.pngbin0 -> 18806 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/sine-blk.pngbin0 -> 31364 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/sine-gen.pngbin0 -> 18116 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/sine-output.pngbin0 -> 5195 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/table_functions.pngbin0 -> 72577 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/table_functions_crop.pdfbin0 -> 84671 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/table_functions_crop.tiffbin0 -> 125578 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/test-code.pngbin0 -> 28541 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/test-console.pngbin0 -> 53960 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/untitled-xcos.pngbin0 -> 18435 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/figures/xcos-help.pngbin0 -> 87275 bytes
-rw-r--r--scilab-arduino/user-code/sw-env/sw-env.log26886
-rw-r--r--scilab-arduino/user-code/sw-env/sw-env.tex1406
-rw-r--r--scilab-arduino/user-code/thermistor-old/arduino/therm-buzzer/therm-buzzer.ino28
-rw-r--r--scilab-arduino/user-code/thermistor-old/arduino/therm-read/therm-read.ino18
-rw-r--r--scilab-arduino/user-code/thermistor-old/figures/BUZZER Diagram.jpgbin0 -> 65858 bytes
-rw-r--r--scilab-arduino/user-code/thermistor-old/figures/NTC-bead.jpgbin0 -> 26322 bytes
-rw-r--r--scilab-arduino/user-code/thermistor-old/figures/THERMISTOR-Diagram.jpgbin0 -> 67163 bytes
-rw-r--r--scilab-arduino/user-code/thermistor-old/figures/therm-buzzer-xcos.pngbin0 -> 62520 bytes
-rw-r--r--scilab-arduino/user-code/thermistor-old/figures/therm-buzzer.pngbin0 -> 21991 bytes
-rw-r--r--scilab-arduino/user-code/thermistor-old/figures/therm-read-xcos.pngbin0 -> 57179 bytes
-rw-r--r--scilab-arduino/user-code/thermistor-old/figures/therm-read.pngbin0 -> 19495 bytes
-rw-r--r--scilab-arduino/user-code/thermistor-old/figures/therm-sym.pngbin0 -> 17914 bytes
-rw-r--r--scilab-arduino/user-code/thermistor-old/scilab/therm-buzzer-xcos.zcosbin0 -> 5601 bytes
-rw-r--r--scilab-arduino/user-code/thermistor-old/scilab/therm-buzzer.sce13
-rw-r--r--scilab-arduino/user-code/thermistor-old/scilab/therm-read-xcos.zcosbin0 -> 4525 bytes
-rw-r--r--scilab-arduino/user-code/thermistor-old/scilab/therm-read.sce9
-rw-r--r--scilab-arduino/user-code/thermistor-old/thermistor.tex226
-rw-r--r--scilab-arduino/user-code/thermistor/OpenModelica/therm-buzzer.mo33
-rw-r--r--scilab-arduino/user-code/thermistor/OpenModelica/therm-read.mo27
-rw-r--r--scilab-arduino/user-code/thermistor/arduino/therm-buzzer/therm-buzzer.ino28
-rw-r--r--scilab-arduino/user-code/thermistor/arduino/therm-read/therm-read.ino18
-rw-r--r--scilab-arduino/user-code/thermistor/auto/thermistor.el28
-rw-r--r--scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram-crop.pdfbin0 -> 44580 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram-crop.tiffbin0 -> 61350 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram.jpgbin0 -> 54669 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/NTC-bead.jpgbin0 -> 26322 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram-crop.pdfbin0 -> 51122 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram-crop.tiffbin0 -> 71076 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram.jpgbin0 -> 55370 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/therm-buzzer-xcos.pngbin0 -> 62520 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/therm-buzzer.pngbin0 -> 21991 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/therm-read-xcos.pngbin0 -> 57179 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/therm-read.pngbin0 -> 19495 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/figures/therm-sym.pngbin0 -> 17914 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/julia/therm-buzzer.jl15
-rw-r--r--scilab-arduino/user-code/thermistor/julia/therm-read.jl11
-rw-r--r--scilab-arduino/user-code/thermistor/python/therm-buzzer.py46
-rw-r--r--scilab-arduino/user-code/thermistor/python/therm-read.py40
-rw-r--r--scilab-arduino/user-code/thermistor/scilab/therm-buzzer-xcos.zcosbin0 -> 5601 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/scilab/therm-buzzer.sce13
-rw-r--r--scilab-arduino/user-code/thermistor/scilab/therm-read-xcos.zcosbin0 -> 4525 bytes
-rw-r--r--scilab-arduino/user-code/thermistor/scilab/therm-read.sce9
-rw-r--r--scilab-arduino/user-code/thermistor/thermistor-old.tex234
-rw-r--r--scilab-arduino/user-code/thermistor/thermistor.log11886
-rw-r--r--scilab-arduino/user-code/thermistor/thermistor.tex533
1670 files changed, 160898 insertions, 0 deletions
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Arduino.mo b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Arduino.mo
new file mode 100644
index 0000000..649b694
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Arduino.mo
@@ -0,0 +1,1801 @@
+package Arduino
+ extends Arduino.SerialCommunication.Icons.GenericICPackage;
+
+ package SerialCommunication "Serial Communication Package for Arduino"
+ extends Arduino.SerialCommunication.Icons.FunctionLayerIcon;
+ import ModelicaReference.Operators;
+
+ package Functions
+ extends Modelica.Icons.Package;
+ import Modelica;
+
+ function open_serial "Command to initialize the serial port which is connected to Arduino"
+ extends Modelica.Icons.Function;
+ input Integer handle, port, baudrate;
+ output Integer OK;
+
+ external OK = open_serial(handle, port, baudrate) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>open_serial</b>(handle,port,baudrate);
+</pre></blockquote>
+<h4>Description</h4>
+<p>
+Establishes a serial communication using port number \"port\".To connect to the Arduino board, check the port number from the device manager or check it from the Arduino software.
+</p>
+</html>"));
+ end open_serial;
+
+ function read_serial "read characters from serial port"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ input Integer size;
+ output Integer r_OK;
+ protected
+ Integer buf[size + 1];
+ //String buf;
+
+ external r_OK = read_serial(handle, buf, size) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>read_serial</b>(handle,size);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The translation setting of openserial can come in the way, affecting the number of characters effectively read. If that is the case, omitting the parameter n might be a bad idea, as scilab can hang. This would happen if the input stream contains CR or LF characters which are filtered out: in such cases serialstatus counts them, but readserial does not see them and keeps wating (if the blocking mode of openserial was true) until the total number is received.
+</p>
+</html>"));
+ end read_serial;
+
+ //algorithm
+ //Modelica.Utilities.Streams.print(String(buf));
+
+ function write_serial "write to the serial port"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ input String str;
+ input Integer size;
+ output Integer w_OK;
+
+ external w_OK = write_serial(handle, str, size) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>write_serial</b>(handle,str,size);
+</pre></blockquote>
+<h4>Description</h4>
+<p>No end of line character is appended to the string; the user might have to add it if the device being talked to requires it. The Tcl command puts -nonewline is used. In addition, the translation mode of openserial can come into way.
+</p>
+</html>"));
+ end write_serial;
+
+ function close_serial "Command to close the serial port which is connected to Arduino"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ output Integer c_OK;
+
+ external c_OK = close_serial(handle) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>close_serial</b>(handle);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Closes the port for serial communication specified by \"handle\".It is important to close the serial port after use, else the port would be busy and restart of Scilab might required to connect to it again.
+</p>
+</html>"));
+ end close_serial;
+
+ function status_serial "get status of the serial port"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ output Integer stat_OK;
+ protected
+ Integer bytes[2];
+
+ external stat_OK = status_serial(handle, bytes) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>status_serial</b>(handle);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Provides status of serial communication channel specified by \"handle\".Get some information about the number of characters present in the input and output buffers of the serial port, and about the status lines (DTS, CTS, etc.).The translation setting of openserial can come in the way. If the input stream contains CR or LF characters which are filtered out, openserial counts them but readserial does not see them.
+</p>
+</html>"));
+ end status_serial;
+
+ function cmd_digital_out "Command to sent out digital signal to a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no, val;
+ output Integer digital_w_OK;
+
+ external digital_w_OK = cmd_digital_out(h, pin_no, val) annotation(
+ Library = "Digital");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_digital_out</b>(handle,pin_no,value);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+</p>
+</html>"));
+ end cmd_digital_out;
+
+ function cmd_digital_in "Command to read in digital signal from a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ output Integer digital_in;
+
+ external digital_in = cmd_digital_in(h, pin_no) annotation(
+ Library = "Digital");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_digital_in</b>(handle,pin_no);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+</p>
+</html>"));
+ end cmd_digital_in;
+
+ function delay "Provides delay.Suspends Openmodelica."
+ extends Modelica.Icons.Function;
+ input Integer t;
+
+ external delay(t) annotation(
+ Library = "delay");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>delay</b>(milliseconds);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Delay process for specified number of miliseconds specified by the argument. The actual suspension time may be longer because of other activities in the system, or because of the time spent in processing the call.
+ </p>
+ </html>"));
+ end delay;
+
+ function cmd_analog_in "Command to read in analog signal from a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ output Integer val;
+
+ external val = cmd_analog_in(h, pin_no) annotation(
+ Library = "Analog");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_analog_in</b>(handle,pin_no);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+</p>
+</html>"));
+ end cmd_analog_in;
+
+ function cmd_analog_out "Command to sent out analog signal to a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ input Real val;
+ output Integer analog_w_OK;
+
+ external analog_w_OK = cmd_analog_out(h, pin_no, val) annotation(
+ Library = "Analog");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_analog_out</b>(handle,pin_no,val);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term 'analog output', because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage.
+The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).
+</p>
+</html>"));
+ end cmd_analog_out;
+
+ function cmd_analog_in_volt "Command to read in analog signal from a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ output Integer val;
+
+ external val = cmd_analog_in_volt(h, pin_no) annotation(
+ Library = "Analogv");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_analog_in_volt</b>(handle,pin_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. This function scale the reading to 0-5 so the user could get the measured voltage directly.
+ </p>
+ </html>"));
+ end cmd_analog_in_volt;
+
+ function cmd_analog_out_volt "Command to sent out analog signal to a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ input Real val;
+ output Integer analog_v_wOK;
+
+ external analog_v_wOK = cmd_analog_out_volt(h, pin_no, val) annotation(
+ Library = "Analogv");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_analog_out_volt</b>(handle,pin_no,val);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term 'analog output', because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage.
+ </p>
+ </html>"));
+ end cmd_analog_out_volt;
+
+ function cmd_dcmotor_setup "Command to setup pins to control DC motor"
+ extends Modelica.Icons.Function;
+ input Integer handle, driver_type, motor_no, pin1, pin2;
+
+ external cmd_dcmotor_setup(handle, driver_type, motor_no, pin1, pin2) annotation(
+ Library = "DCMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_dcmotor_setup</b>(handle,driver_type,motor_no,pin_no1,pin_no2);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </p>
+ </html>"));
+ end cmd_dcmotor_setup;
+
+ function cmd_dcmotor_run "Command to run DC motor after setting up"
+ extends Modelica.Icons.Function;
+ input Integer handle, motor_no, val;
+
+ external cmd_dcmotor_run(handle, motor_no, val) annotation(
+ Library = "DCMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_dcmotor_run</b>(handle,motor_no,value);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </p>
+ </html>"));
+ end cmd_dcmotor_run;
+
+ function cmd_dcmotor_release "Command to release pins which have setup for DC motor"
+ extends Modelica.Icons.Function;
+ input Integer handle, motor_no;
+
+ external cmd_dcmotor_release(handle, motor_no) annotation(
+ Library = "DCMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_dcmotor_release</b>(handle,motor_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </p>
+ </html>"));
+ end cmd_dcmotor_release;
+
+ function cmd_servo_attach "Command to attach servo motor to Arduino"
+ extends Modelica.Icons.Function;
+ input Integer handle, servo_no;
+
+ external cmd_servo_attach(handle, servo_no) annotation(
+ Library = "ServoMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_servo_attach</b>(handle,servo_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </p>
+ </html>"));
+ end cmd_servo_attach;
+
+ function cmd_servo_move "Command to run servo motor which has been setup"
+ extends Modelica.Icons.Function;
+ input Integer handle, servo_no, val;
+
+ external cmd_servo_move(handle, servo_no, val) annotation(
+ Library = "ServoMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_servo_move</b>(handle,servo_no,value);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </p>
+ </html>"));
+ end cmd_servo_move;
+
+ function cmd_servo_detach "Command to release the pin which has been setup for servo motor"
+ extends Modelica.Icons.Function;
+ input Integer handle, servo_no;
+
+ external cmd_servo_attach(handle, servo_no) annotation(
+ Library = "ServoMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_servo_detach</b>(handle,servo_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </p>
+ </html>"));
+ end cmd_servo_detach;
+
+ function ieeesingle2num "ieee-745 floating point converter"
+ extends Modelica.Icons.Function;
+ input String hexa;
+ output Real y;
+
+ external y = ieeesingle2num(hexa) annotation(
+ Library = "ieeesingle2num");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>ieeesingle2num</b>(hexa);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Converts an hexadecimal integer to ieee single precision format
+ </p>
+</html>"));
+ end ieeesingle2num;
+
+ function math_floor "Floor function"
+ extends Modelica.Icons.Function;
+ input Real x;
+ output Integer y;
+
+ external y = mfloor(x) annotation(
+ Library = "floor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>math_floor</b>(x);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Returns the greatest integer less than or equal to x
+ </p>
+ </html>"));
+ end math_floor;
+
+ function getArduinoVersion "Returns the Arduino version used"
+ extends Modelica.Icons.Function;
+ output String arduinoVersion(fixed = true);
+ algorithm
+ arduinoVersion := "1.1";
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.<b>getArduinoVersion</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Gives the version of the arduino used.
+ </p>
+ </html>"));
+ end getArduinoVersion;
+
+ function cmd_encoder_init "Initiates the encoder"
+ extends Modelica.Icons.Function;
+ input Integer h, encoder_mode, pin_no1, pin_no2;
+
+ external cmd_encoder_init(h, encoder_mode, pin_no1, pin_no2) annotation(
+ Library = "Encoder");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.<b>cmd_encoder_init</b>(handle,encoder_mode,pin_no1,pin_no2);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Used to read encoder signal from one or more channels
+ </p>
+ </html>"));
+ end cmd_encoder_init;
+
+ //Incomplete
+
+ package MDD_Servo
+ extends Modelica.Icons.Package;
+
+ class Init
+ extends ExternalObject;
+
+ function constructor "Return device handle"
+ extends .Modelica.Icons.Function;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import Arduino.SerialCommunication.Functions.MDD_Servo;
+ input sComm.Types.Servo_no servo_no;
+ output sComm.Functions.MDD_Servo.Init servo;
+
+ external "C" servo = MDD_avr_servo_initialize(servo_no) annotation(
+ Include = "#include \"/home/manas/OpenModelica/Resources/Include/MDDAVRServo.h\"");
+ end constructor;
+
+ function destructor "Destructor"
+ extends .Modelica.Icons.Function;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import Arduino.SerialCommunication.Functions.MDD_Servo;
+ input sComm.Types.Servo_no servo_no "Device handle";
+
+ external "C" MDD_avr_servo_finalize(servo_no) annotation(
+ Include = "#include \"/home/manas/OpenModelica/Resources/Include/MDDAVRServo.h\"");
+ end destructor;
+ end Init;
+
+ function Move
+ extends Modelica.Icons.Function;
+ import sComm = Arduino.SerialCommunication.Functions;
+ input sComm.Functions.MDD_Servo.Init servo;
+ input Integer value;
+
+ external "C" MDD_avr_servo_move(servo, value) annotation(
+ Include = "#include \"/home/manas/OpenModelica/Resources/Include/MDDAVRServo.h\"");
+ end Move;
+ end MDD_Servo;
+ end Functions;
+
+ package Examples
+ extends Modelica.Icons.ExamplesPackage;
+
+ package led
+ extends Modelica.Icons.ExamplesPackage;
+
+ model led_blue "Turn on Blue LED"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ digital_out := sComm.cmd_digital_out(1, 27, 1) "This will turn ON the blue LED";
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blue;
+
+
+ model led_blue_delay "Turn on Blue LED for a period of 2 seconds"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn the blue LED";
+ sComm.delay(2000) "let the blue LED be on for two seconds";
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "turn off blue LED";
+ sComm.delay(2000) "let the blue LED be off for two seconds";
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blue_delay;
+
+ model led_blue_red "Turn on Red & Blue LED"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn the blue LED";
+ digital_out := sComm.cmd_digital_out(1, 11, 1) "This will turn the red LED";
+ sComm.delay(5000) "Delay for 5 seconds";
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This turns off the blue Led";
+ sComm.delay(3000) "Delay for 3 seconds";
+ digital_out := sComm.cmd_digital_out(1, 11, 0) "This turns off the red Led";
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blue_red;
+
+ model led_blink "This will turn on and turn off the user LED for every second for 10 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 57600) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ for i in 1:10 loop
+ digital_out := sComm.cmd_digital_out(1, 30, 0) "This will turn off the LED";
+ sComm.delay(500) "Delay for 0.5 seconds";
+ digital_out := sComm.cmd_digital_out(1, 30, 1) "This turns the Led";
+ sComm.delay(500) "Delay for 0.5 seconds";
+ end for;
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blink;
+
+ model led_green_blink "This will turn on and turn off the green LED for every second for 5 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(1000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ for i in 1:10 loop
+ digital_out := sComm.cmd_digital_out(1, 10, 0) "This will turn off the green LED";
+ sComm.delay(1000) "Delay for 1 second";
+ digital_out := sComm.cmd_digital_out(1, 10, 1) "This turns the green Led";
+ sComm.delay(1000) "Delay for 1 second";
+ end for;
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_green_blink;
+ end led;
+
+ package push
+ extends Modelica.Icons.ExamplesPackage;
+
+ model led_push_button "Conrolling LED with PushButton"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ digital_in := sComm.cmd_digital_in(1, 12) "Read from digital pin 12";
+ if digital_in == 0 then
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This will turn OFF the blue LED";
+ sComm.delay(200);
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ sComm.delay(200);
+ end if;
+ end if;
+//for i in 1:1000 loop
+//end for;
+//strm.print(String(time));
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-6, Interval = 0.01));
+ end led_push_button;
+
+ model push_button_status "Checking Status of PushButton"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_in(fixed = false);
+ Integer digital_out(start = 0, fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 1, 115200) "At port 0 with baudrate of 115200";
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ digital_in := sComm.cmd_digital_in(1, 12);
+ if digital_in == 0 then
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This will turn OFF the blue LED";
+ strm.print("LOW");
+ sComm.delay(200);
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ strm.print("HIGH");
+ sComm.delay(200);
+ end if;
+ end if;
+//for i in 1:1000 loop
+//end for;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//sComm.cmd_arduino_meter(digital_in);
+ annotation(
+ experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-6, Interval = 0.01));
+ end push_button_status;
+ end push;
+
+ package ldr
+ extends Modelica.Icons.ExamplesPackage;
+
+ model ldr_led "LED indicating light sensor readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 5) "read analog pin 5 (ldr)";
+ strm.print(String(analog_in));
+ if analog_in < 300 then
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "Turn ON LED";
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "Turn OFF LED";
+ end if;
+ sComm.delay(200);
+ end if;
+//for i in 1:500 loop
+//end for;
+//strm.print(String(time));
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//Run for 500 iterations
+//Setting Threshold value of 300
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.02));
+ end ldr_led;
+
+ model ldr_read "Reading light intensity using ldr"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 5) "read analog pin 5 (ldr)";
+ strm.print("LDR Readings at time " + String(time) + " : " + String(analog_in));
+ sComm.delay(500);
+ end if;
+//for i in 1:10 loop
+//end for;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//Run for 10 iterations
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 1));
+ end ldr_read;
+ end ldr;
+
+ package pot
+ extends Modelica.Icons.ExamplesPackage;
+
+ model pot_threshold
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(1000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 2) "read analog pin 2";
+ strm.print("Potentiometer Readings:" + String(analog_in));
+ if analog_in >= 0 and analog_in < 320 then
+ digital_out := sComm.cmd_digital_out(1, 11, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 11, 0) "Turn OFF LED";
+ elseif analog_in >= 320 and analog_in <= 900 then
+ digital_out := sComm.cmd_digital_out(1, 10, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 10, 0) "Turn OFF LED";
+ elseif analog_in > 900 and analog_in <= 1023 then
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "Turn OFF LED";
+ end if;
+ end if;
+//for i in 1:10 loop
+//end for;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//Run for 10 iterations
+//Threshold 1
+//Threshold 2
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.01));
+ end pot_threshold;
+ end pot;
+
+ package thermistor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model therm_buzzer "Sound buzzer depending on thermistor readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 4) "read analog pin 4";
+ if analog_in > 500 then
+ digital_out := sComm.cmd_digital_out(1, 3, 1) "Turn ON Buzzer";
+ else
+ digital_out := sComm.cmd_digital_out(1, 3, 0) "Turn OFF Buzzer";
+ end if;
+ sComm.delay(200);
+ end if;
+//for i in 1:500 loop
+//end for;
+//Run for 500 iterations
+//Setting Threshold value of 500
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.02));
+ end therm_buzzer;
+
+ model therm_read "Thermistor Readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 4) "read analog pin 5 (ldr)";
+ strm.print("Thermistor Readings " + " : " + String(analog_in));
+ sComm.delay(500);
+ end if;
+//for i in 1:20 loop
+//end for;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//Run for 20 iterations
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.5));
+ end therm_read;
+ end thermistor;
+
+ package dcmotor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model dcmotor_clock "Rotate DC Motor clockwise"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ sComm.delay(2000);
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 100) "Motor 1 runs at PWM 100";
+ sComm.delay(3000) "This is allowed to continue for 3 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end dcmotor_clock;
+
+ model dcmotor_both "Rotate DC Motor in both directions"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ sComm.delay(2000);
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 255) "Motor 1 runs at PWM 100";
+ sComm.delay(3000) "for 3 seconds";
+ sComm.cmd_dcmotor_run(1, 1, -255) "Motor 1 runs at PWM -100 in reverse direction";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end dcmotor_both;
+
+ model dcmotor_loop "Rotate DC Motor in both directions in a loop"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ for i in 1:4 loop
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pins 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 100) "Motor 1 runs at PWM 100";
+ sComm.delay(2000) "for 3 seconds";
+ sComm.cmd_dcmotor_run(1, 1, 0) "Halt the motor";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_run(1, 1, -100) "Run it at PWM 100 in reverse direction";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end for;
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end dcmotor_loop;
+ end dcmotor;
+
+ package servo
+ extends Modelica.Icons.ExamplesPackage;
+
+ model servo_init "Rotate Servo Motor by 30 degrees.After the roataion reset it by 0"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "To attach the motor to pin 9 of servo1";
+ sComm.cmd_servo_move(1, 1, 0) "tell servo to rotate by 30 degrees";
+ sComm.delay(3000);
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_init;
+
+ model servo_loop "Rotate servo motor by 20 degrees 10 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ Integer angle(fixed = true);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "Attach motor to pin 9. 1 means pin 9.";
+ sComm.delay(2000);
+ angle := 20 "Angle by which it has to move";
+ for i in 1:10 loop
+ sComm.cmd_servo_move(1, 1, angle * i) "tell servo to rotate by 20 degrees";
+ sComm.delay(1000) "waits for a sec";
+ end for;
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_loop;
+
+ model servo_reverse
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "Attach the motor to pin 9. 1 means 9";
+ sComm.cmd_servo_move(1, 1, 90) "Move the servo to 90 degree";
+ sComm.delay(1000) "be there for one second";
+ sComm.cmd_servo_move(1, 1, 45) "Move the servo to 45 degree";
+ sComm.delay(1000) "be there for one second";
+ sComm.delay(1000);
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_reverse;
+
+ model servo_pot "Control Servo Motor using Potentiometer"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ Integer analog_in(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "Attach the motor to pin 9";
+ sComm.delay(2000);
+ for i in 1:5000 loop
+ analog_in := sComm.cmd_analog_in(1, 2) "Read potentiometer value";
+ analog_in := sComm.math_floor(analog_in * (180 / 1023)) "Scale Potentiometer value to 0-180";
+ sComm.cmd_servo_move(1, 1, analog_in) "Command the servo motor";
+ sComm.delay(1000) "sleep for 500 milliseconds";
+ strm.print("Potentiometer Reading at time" + String(time) + " : " + String(analog_in));
+ end for;
+ end if;
+ sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ sComm.delay(5000);
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//5,000 itterations
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_pot;
+ end servo;
+
+ package modbus
+ extends Modelica.Icons.ExamplesPackage;
+
+ function read_voltage
+ extends Modelica.Icons.Function;
+
+ external read_voltage() annotation(
+ Library = "Modbus");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_voltage</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_voltage;
+
+ function read_current
+ extends Modelica.Icons.Function;
+
+ external read_voltage() annotation(
+ Library = "Modbus");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_current</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_current;
+
+ function read_val
+ extends Modelica.Icons.Function;
+ input Integer addr_byte;
+ output Real p;
+
+ external p = read_val(addr_byte) annotation(
+ Library = "Modbus");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_val</b>(address_byte);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_val;
+
+ function read_active_power
+ extends Modelica.Icons.Function;
+
+ external read_active_power() annotation(
+ Library = "Modbus");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_active_power</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_active_power;
+
+ model modbus_test
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import modbus = Arduino.SerialCommunication.Examples.modbus;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 9600);
+ modbus.read_voltage();
+ modbus.read_current();
+ modbus.read_active_power();
+ c_ok := sComm.close_serial(1);
+ end when;
+ end modbus_test;
+ end modbus;
+ end Examples;
+
+ package MDD_Examples "Interfacing arduino with OpenModelica using Modelica Device Drivers"
+ extends Modelica.Icons.ExamplesPackage;
+
+ package MDD_led
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_led_blue ""
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-44, 66}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {39, -21}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-41, -21}, extent = {{-15, -17}, {15, 17}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-24, -20}, {14, -20}, {14, -20}, {16, -20}}, color = {255, 0, 255}));
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.MDD_Examples.MDD_led.<b>MDD-led_blue</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end MDD_led_blue;
+
+ model MDD_led_blue_delay
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {31, 41}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {41, -17}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = if time < 5 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-27, -16}, extent = {{-21, -16}, {21, 16}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-4, -16}, {20, -16}}, color = {255, 0, 255}));
+ end MDD_led_blue_delay;
+
+ model MDD_led_blink
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-45, 71}, extent = {{-23, -23}, {23, 23}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'5', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {42, -22}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {23, 71}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = mod(time, 2) >= 1) annotation(
+ Placement(visible = true, transformation(origin = {-24, -21}, extent = {{-16, -15}, {16, 15}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-6, -21}, {16, -21}, {16, -22}, {18, -22}}, color = {255, 0, 255}));
+ end MDD_led_blink;
+
+ model MDD_led_blue_red
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-47, 47}, extent = {{-21, -21}, {21, 21}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {38, -16}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 44}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean2(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'3', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {38, -62}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = if time < 5 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-32, -16}, extent = {{-18, -14}, {18, 14}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = if time < 8 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-32, -62}, extent = {{-18, -16}, {18, 16}}, rotation = 0)));
+ equation
+ connect(digitalWriteBoolean2.u, booleanExpression2.y) annotation(
+ Line(points = {{18, -62}, {-12, -62}, {-12, -62}, {-12, -62}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, digitalWriteBoolean2.u) annotation(
+ Line(points = {{-12, -62}, {18, -62}, {18, -62}, {18, -62}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-12, -16}, {18, -16}, {18, -16}, {18, -16}}, color = {255, 0, 255}));
+ end MDD_led_blue_red;
+
+ model MDD_led_green_blink
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'2', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {46, -30}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 39}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = mod(time, 2) >= 1) annotation(
+ Placement(visible = true, transformation(origin = {-17, -30}, extent = {{-15, -14}, {15, 14}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{0, -30}, {24, -30}, {24, -30}, {24, -30}}, color = {255, 0, 255}));
+ end MDD_led_green_blink;
+
+ model MDD_traffic_light ""
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega16) annotation(
+ Placement(visible = true, transformation(origin = {-44, 42}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'4', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.A) annotation(
+ Placement(visible = true, transformation(origin = {39, -21}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-41, -21}, extent = {{-15, -17}, {15, 17}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-24, -20}, {14, -20}, {14, -20}, {16, -20}}, color = {255, 0, 255}));
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.MDD_Examples.MDD_led.<b>MDD-led_blue</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end MDD_traffic_light;
+ end MDD_led;
+
+ package MDD_push
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_led_push_button
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-46, 62}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalReadBoolean digitalReadBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'4', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {-44, -28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {62, -28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {8, -28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-32, 18}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = false) annotation(
+ Placement(visible = true, transformation(origin = {-32, -70}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(booleanExpression2.y, logicalSwitch1.u3) annotation(
+ Line(points = {{-20, -70}, {-16, -70}, {-16, -36}, {-4, -36}, {-4, -36}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, logicalSwitch1.u1) annotation(
+ Line(points = {{-20, 18}, {-14, 18}, {-14, -20}, {-4, -20}, {-4, -20}}, color = {255, 0, 255}));
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{20, -28}, {50, -28}, {50, -28}, {50, -28}}, color = {255, 0, 255}));
+ connect(digitalReadBoolean1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{-32, -28}, {-4, -28}}, color = {255, 0, 255}));
+ end MDD_led_push_button;
+
+ model MDD_push_button_status
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-43, 43}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {20, 42}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalReadBoolean digitalReadBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'4', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {-39, -19}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.BooleanValue booleanValue1(use_activePort = true) annotation(
+ Placement(visible = true, transformation(origin = {31, -19}, extent = {{-15, -17}, {15, 17}}, rotation = 0)));
+ equation
+ connect(digitalReadBoolean1.y, booleanValue1.activePort) annotation(
+ Line(points = {{-18, -18}, {14, -18}, {14, -18}, {14, -18}}, color = {255, 0, 255}));
+ end MDD_push_button_status;
+
+ model pushTest1
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalReadBoolean digitalReadBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'4', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {-60, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {60, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {-2, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1 annotation(
+ Placement(visible = true, transformation(origin = {-44, 62}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-46, -58}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{10, -2}, {48, -2}, {48, -2}, {48, -2}}, color = {255, 0, 255}));
+ connect(digitalReadBoolean1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{-48, -2}, {-14, -2}, {-14, -2}, {-14, -2}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, logicalSwitch1.u3) annotation(
+ Line(points = {{-34, -58}, {-24, -58}, {-24, -10}, {-14, -10}, {-14, -10}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, logicalSwitch1.u1) annotation(
+ Line(points = {{-32, 62}, {-28, 62}, {-28, 6}, {-14, 6}, {-14, 6}}, color = {255, 0, 255}));
+ annotation(
+ uses(Modelica_DeviceDrivers(version = "1.5.0"), Modelica(version = "3.2.2")));
+ end pushTest1;
+ end MDD_push;
+
+ package MDD_ldr
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_ldr_led
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-45, 65}, extent = {{-21, -21}, {21, 21}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {38, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {79, -23}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-60, 12}, extent = {{-14, -16}, {14, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2 annotation(
+ Placement(visible = true, transformation(origin = {-59, -79}, extent = {{-13, -17}, {13, 17}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {28, -22}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterThreshold greaterThreshold1(threshold = 600) annotation(
+ Placement(visible = true, transformation(origin = {-21, -23}, extent = {{-11, -11}, {11, 11}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A5, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-72, -22}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ equation
+ connect(adc.y, greaterThreshold1.u) annotation(
+ Line(points = {{-50, -22}, {-34, -22}}, color = {0, 0, 127}));
+ connect(greaterThreshold1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{-8, -22}, {8, -22}, {8, -22}, {8, -22}}, color = {255, 0, 255}));
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{46, -22}, {58, -22}, {58, -22}, {58, -22}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, logicalSwitch1.u1) annotation(
+ Line(points = {{-44, 12}, {8, 12}, {8, -10}, {8, -10}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, logicalSwitch1.u3) annotation(
+ Line(points = {{-44, -78}, {6, -78}, {6, -34}, {8, -34}}, color = {255, 0, 255}));
+ end MDD_ldr_led;
+
+ model MDD_ldr_read
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-37, 39}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {50, 38}, extent = {{-22, -22}, {22, 22}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A5, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-39, -17}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1(use_numberPort = true) annotation(
+ Placement(visible = true, transformation(origin = {30, -17}, extent = {{-18, -17}, {18, 17}}, rotation = 0)));
+ equation
+ connect(adc.y, realValue1.numberPort) annotation(
+ Line(points = {{-20, -17}, {7, -17}}, color = {0, 0, 127}));
+ end MDD_ldr_read;
+ end MDD_ldr;
+
+ package MDD_pot
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_pot_threshold ""
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-79, 79}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {80, 80}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica.Blocks.Logical.Switch switch11 annotation(
+ Placement(visible = true, transformation(origin = {2, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Switch switch12 annotation(
+ Placement(visible = true, transformation(origin = {10, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Greater greater1 annotation(
+ Placement(visible = true, transformation(origin = {42, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Greater greater2 annotation(
+ Placement(visible = true, transformation(origin = {36, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {82, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean2(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'2', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {82, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean3(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'3', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {82, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold1(threshold = 0) annotation(
+ Placement(visible = true, transformation(origin = {-42, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold2(threshold = 320) annotation(
+ Placement(visible = true, transformation(origin = {-42, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold3(threshold = 900) annotation(
+ Placement(visible = true, transformation(origin = {-40, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.RealExpression realExpression1(y = 0) annotation(
+ Placement(visible = true, transformation(origin = {-40, -92}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.RealExpression realExpression2(y = 1) annotation(
+ Placement(visible = true, transformation(origin = {-44, 84}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Switch switch1 annotation(
+ Placement(visible = true, transformation(origin = {0, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Math.RealToBoolean realToBoolean1(threshold = 0.5) annotation(
+ Placement(visible = true, transformation(origin = {44, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A2, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-88, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1(significantDigits = 5, use_numberPort = true) annotation(
+ Placement(visible = true, transformation(origin = {-74, -84}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(adc.y, realValue1.numberPort) annotation(
+ Line(points = {{-76, 0}, {-74, 0}, {-74, -70}, {-94, -70}, {-94, -84}, {-86, -84}, {-86, -84}}, color = {0, 0, 127}));
+ connect(adc.y, greaterEqualThreshold1.u) annotation(
+ Line(points = {{-76, 0}, {-70, 0}, {-70, 46}, {-54, 46}}, color = {0, 0, 127}));
+ connect(greaterEqualThreshold1.y, switch1.u2) annotation(
+ Line(points = {{-31, 46}, {-24, 46}, {-24, 70}, {-12, 70}}, color = {255, 0, 255}));
+ connect(adc.y, greaterEqualThreshold3.u) annotation(
+ Line(points = {{-76, 0}, {-70, 0}, {-70, -64}, {-52, -64}, {-52, -64}}, color = {0, 0, 127}));
+ connect(adc.y, greaterEqualThreshold2.u) annotation(
+ Line(points = {{-76, 0}, {-54, 0}, {-54, 0}, {-54, 0}}, color = {0, 0, 127}));
+ connect(realToBoolean1.y, digitalWriteBoolean3.u) annotation(
+ Line(points = {{56, -64}, {70, -64}, {70, -64}, {70, -64}}, color = {255, 0, 255}));
+ connect(switch12.y, realToBoolean1.u) annotation(
+ Line(points = {{22, -64}, {32, -64}, {32, -64}, {32, -64}}, color = {0, 0, 127}));
+ connect(realExpression1.y, switch1.u3) annotation(
+ Line(points = {{-28, -92}, {-16, -92}, {-16, 62}, {-12, 62}, {-12, 62}}, color = {0, 0, 127}));
+ connect(realExpression2.y, switch1.u1) annotation(
+ Line(points = {{-32, 84}, {-20, 84}, {-20, 78}, {-12, 78}, {-12, 78}}, color = {0, 0, 127}));
+ connect(switch1.y, greater2.u1) annotation(
+ Line(points = {{12, 70}, {22, 70}, {22, 70}, {24, 70}}, color = {0, 0, 127}));
+ connect(greater1.y, digitalWriteBoolean2.u) annotation(
+ Line(points = {{54, 0}, {70, 0}}, color = {255, 0, 255}));
+ connect(switch11.y, greater2.u2) annotation(
+ Line(points = {{14, 0}, {18, 0}, {18, 62}, {24, 62}, {24, 62}}, color = {0, 0, 127}));
+ connect(switch11.y, greater1.u1) annotation(
+ Line(points = {{14, 0}, {30, 0}}, color = {0, 0, 127}));
+ connect(switch12.y, greater1.u2) annotation(
+ Line(points = {{22, -64}, {22, -64}, {22, -8}, {30, -8}, {30, -8}}, color = {0, 0, 127}));
+ connect(greaterEqualThreshold2.y, switch11.u2) annotation(
+ Line(points = {{-30, 0}, {-10, 0}, {-10, 0}, {-10, 0}}, color = {255, 0, 255}));
+ connect(greater2.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{48, 70}, {56, 70}, {56, 40}, {70, 40}, {70, 40}}, color = {255, 0, 255}));
+ connect(realExpression2.y, switch12.u1) annotation(
+ Line(points = {{-32, 84}, {-20, 84}, {-20, -56}, {-2, -56}, {-2, -56}}, color = {0, 0, 127}));
+ connect(realExpression2.y, switch11.u1) annotation(
+ Line(points = {{-32, 84}, {-20, 84}, {-20, 8}, {-10, 8}, {-10, 8}}, color = {0, 0, 127}));
+ connect(realExpression1.y, switch11.u3) annotation(
+ Line(points = {{-28, -92}, {-16, -92}, {-16, -8}, {-10, -8}, {-10, -8}}, color = {0, 0, 127}));
+ connect(realExpression1.y, switch12.u3) annotation(
+ Line(points = {{-28, -92}, {-16, -92}, {-16, -72}, {-2, -72}, {-2, -72}}, color = {0, 0, 127}));
+ connect(greaterEqualThreshold3.y, switch12.u2) annotation(
+ Line(points = {{-28, -64}, {-2, -64}, {-2, -64}, {-2, -64}}, color = {255, 0, 255}));
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.MDD_Examples.MDD_pot.<b>MDD_pot_threshold</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Voltage reference used to represent 10 bit precision(1024) of ADC along with prescaling by by 128.Internal voltage reference is applied to adc.
+ </p>
+ </html>"));
+ end MDD_pot_threshold;
+ end MDD_pot;
+
+ package MDD_thermistor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_therm_read
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 42}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A4, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-40, -20}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1(use_numberPort = true) annotation(
+ Placement(visible = true, transformation(origin = {39, -21}, extent = {{-15, -19}, {15, 19}}, rotation = 0)));
+ equation
+ connect(adc.y, realValue1.numberPort) annotation(
+ Line(points = {{-18, -20}, {20, -20}, {20, -20}, {22, -20}}, color = {0, 0, 127}));
+ end MDD_therm_read;
+
+ model MDD_therm_buzzer
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-61, 61}, extent = {{-21, -21}, {21, 21}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A4, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-68, 1.77636e-15}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {41, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1(use_numberPort = true) annotation(
+ Placement(visible = true, transformation(origin = {12, -56}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'3', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.D) annotation(
+ Placement(visible = true, transformation(origin = {78, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {40, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = false) annotation(
+ Placement(visible = true, transformation(origin = {10, -32}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = true) annotation(
+ Placement(visible = true, transformation(origin = {10, 32}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold1(threshold = 550) annotation(
+ Placement(visible = true, transformation(origin = {-4, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(greaterEqualThreshold1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{8, 0}, {28, 0}, {28, 0}, {28, 0}}, color = {255, 0, 255}));
+ connect(adc.y, greaterEqualThreshold1.u) annotation(
+ Line(points = {{-46, 0}, {-16, 0}, {-16, 0}, {-16, 0}}, color = {0, 0, 127}));
+ connect(adc.y, realValue1.numberPort) annotation(
+ Line(points = {{-46, 0}, {-32, 0}, {-32, -56}, {0, -56}}, color = {0, 0, 127}));
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{52, 0}, {66, 0}, {66, 0}, {66, 0}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, logicalSwitch1.u1) annotation(
+ Line(points = {{22, 32}, {24, 32}, {24, 8}, {28, 8}, {28, 8}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, logicalSwitch1.u3) annotation(
+ Line(points = {{22, -32}, {24, -32}, {24, -8}, {28, -8}, {28, -8}}, color = {255, 0, 255}));
+ end MDD_therm_buzzer;
+ end MDD_thermistor;
+
+ package MDD_dcmotor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_dcmotor_clock
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.B}) annotation(
+ Placement(visible = true, transformation(origin = {51, -3}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if time < 5 then 255 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-40, -3}, extent = {{-16, -13}, {16, 13}}, rotation = 0)));
+ equation
+ connect(pwm.u[1], integerExpression1.y) annotation(
+ Line(points = {{28, -3}, {-22, -3}}, color = {255, 127, 0}, thickness = 0.5));
+ end MDD_dcmotor_clock;
+
+ model MDD_dcmotor_both
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {56, 60}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {54, 1.77636e-15}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if mod(time, 5) >= 2.5 then 100 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-41, 3.55271e-15}, extent = {{-23, -20}, {23, 20}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression2(y = if mod(time, 5) < 2.5 then 100 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-39, -48}, extent = {{-23, -20}, {23, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm1(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.B}) annotation(
+ Placement(visible = true, transformation(origin = {54, -48}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ equation
+ connect(integerExpression2.y, pwm1.u[1]) annotation(
+ Line(points = {{-14, -48}, {28, -48}, {28, -48}, {30, -48}}, color = {255, 127, 0}));
+ connect(integerExpression1.y, pwm.u[1]) annotation(
+ Line(points = {{-16, 0}, {28, 0}, {28, 0}, {30, 0}}, color = {255, 127, 0}));
+ end MDD_dcmotor_both;
+
+ model MDD_dcmotor_loop
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 62}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {44, 16}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm1(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.B}) annotation(
+ Placement(visible = true, transformation(origin = {44, -30}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if mod(time, 6) < 3 then 255 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-53, 16}, extent = {{-17, -16}, {17, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression2(y = if mod(time, 6) > 3 then 255 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-52, -30}, extent = {{-16, -14}, {16, 14}}, rotation = 0)));
+ equation
+ connect(integerExpression2.y, pwm1.u[1]) annotation(
+ Line(points = {{-34, -30}, {24, -30}}, color = {255, 127, 0}));
+ connect(integerExpression1.y, pwm.u[1]) annotation(
+ Line(points = {{-34, 16}, {24, 16}}, color = {255, 127, 0}));
+ end MDD_dcmotor_loop;
+ end MDD_dcmotor;
+
+ package MDD_servo
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_servo_init
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 58}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {59, 59}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {44, -6}, extent = {{-28, -28}, {28, 28}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = 30) annotation(
+ Placement(visible = true, transformation(origin = {-57, -6}, extent = {{-23, -18}, {23, 18}}, rotation = 0)));
+ equation
+ connect(integerExpression1.y, pwm.u[1]) annotation(
+ Line(points = {{-32, -6}, {10, -6}}, color = {255, 127, 0}));
+ end MDD_servo_init;
+
+ model MDD_servo_loop
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-41, 41}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {80, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.MathInteger.TriggeredAdd triggeredAdd1(use_reset = false, use_set = false) annotation(
+ Placement(visible = true, transformation(origin = {10, -8}, extent = {{-6, -6}, {6, 6}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = 10) annotation(
+ Placement(visible = true, transformation(origin = {-34, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = if mod(time, 0.2) > 0.1 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-22, -32}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, triggeredAdd1.trigger) annotation(
+ Line(points = {{-10, -32}, {6, -32}, {6, -16}, {6, -16}}, color = {255, 0, 255}));
+ connect(integerExpression1.y, triggeredAdd1.u) annotation(
+ Line(points = {{-22, -8}, {2, -8}, {2, -8}, {2, -8}}, color = {255, 127, 0}));
+ connect(triggeredAdd1.y, pwm.u[1]) annotation(
+ Line(points = {{17, -8}, {68, -8}}, color = {255, 127, 0}));
+ end MDD_servo_loop;
+
+ model MDD_servo_pot
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A2, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 180, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-52, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {48, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Math.RealToInteger realToInteger1 annotation(
+ Placement(visible = true, transformation(origin = {-6, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(adc.y, realToInteger1.u) annotation(
+ Line(points = {{-40, -10}, {-18, -10}, {-18, -10}, {-18, -10}, {-18, -10}}, color = {0, 0, 127}));
+ connect(realToInteger1.y, pwm.u[1]) annotation(
+ Line(points = {{6, -10}, {36, -10}, {36, -10}, {36, -10}}, color = {255, 127, 0}));
+ end MDD_servo_pot;
+
+ model MDD_servo_reverse
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.01, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-59, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {55, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if time < 0.2 then 22 else 15) annotation(
+ Placement(visible = true, transformation(origin = {-44, 0}, extent = {{-22, -22}, {22, 22}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {44, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(integerExpression1.y, pwm.u[1]) annotation(
+ Line(points = {{-20, 0}, {32, 0}}, color = {255, 127, 0}));
+ end MDD_servo_reverse;
+ end MDD_servo;
+
+ package MDD_modbus
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_read_val
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-45, 67}, extent = {{-15, -15}, {15, 15}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {28, 68}, extent = {{-12, -12}, {12, 12}}, rotation = 0)));
+ Modelica.Blocks.MathInteger.MultiSwitch multiSwitch1(expr = {86, 88, 78}, nu = 3, use_pre_as_default = true, y_default = 0) annotation(
+ Placement(visible = true, transformation(origin = {-32.6577, -10}, extent = {{-10.0019, -22}, {30.0056, 22}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1 annotation(
+ Placement(visible = true, transformation(origin = {60, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Blocks.Read_Val read_Val1 annotation(
+ Placement(visible = true, transformation(origin = {26, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(read_Val1.y, realValue1.numberPort) annotation(
+ Line(points = {{38, -10}, {48, -10}, {48, -10}, {48, -10}}, color = {0, 0, 127}));
+ connect(multiSwitch1.y, read_Val1.u) annotation(
+ Line(points = {{-2, -10}, {14, -10}, {14, -10}, {14, -10}}, color = {255, 127, 0}));
+ end MDD_read_val;
+ end MDD_modbus;
+ end MDD_Examples;
+
+ package Blocks
+ extends Modelica.Icons.Package;
+
+ model Read_Val
+ extends Modelica.Blocks.Interfaces.SISO;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR;
+ import sComm = Arduino.SerialCommunication.Functions;
+ outer Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu;
+ annotation(
+ defaultComponentName = "Read_Val",
+ Icon(graphics = {Text(extent = {{-95, -95}, {95, 95}}, textString = "Read_Val", fontName = "Arial")}));
+ end Read_Val;
+ end Blocks;
+
+ package Icons "Collection of icons used for library components"
+ extends Modelica.Icons.IconsPackage;
+
+ partial package GenericICPackage "Icon with a generic IC"
+ annotation(
+ Icon(coordinateSystem(preserveAspectRatio = true, extent = {{-100, -100}, {100, 100}}), graphics = {Bitmap(extent = {{-95, -95}, {95, 95}}, fileName = "Resources/Images/Icons/tqfp32.png", rotation = 0)}),
+ Documentation(info = "<html>
+ <p>
+ This partial class is intended to design a <em>default icon for microcontrollers</em>.
+ </p>
+ </html>"));
+ end GenericICPackage;
+
+ partial block GenericIC "Icon with a generic IC"
+ annotation(
+ Icon(coordinateSystem(preserveAspectRatio = true, extent = {{-100, -100}, {100, 100}}), graphics = {Bitmap(extent = {{-95, -95}, {95, 95}}, fileName = "Resources/Images/Icons/tqfp32.png", rotation = 0)}),
+ Documentation(info = "<html>
+ <p>
+ This partial class is intended to design a <em>default icon for microcontrollers</em>.
+ </p>
+ </html>"));
+ end GenericIC;
+
+ partial package FunctionLayerIcon "Icon for packages that represent the function layer"
+ extends Modelica.Icons.Package;
+ annotation(
+ Icon(coordinateSystem(preserveAspectRatio = false, extent = {{-100, -100}, {100, 100}}), graphics = {Text(lineColor = {128, 128, 128}, extent = {{-90, -90}, {90, 90}}, textString = "f"), Ellipse(lineColor = {128, 128, 128}, extent = {{-80, -80}, {80, 80}})}),
+ Documentation(info = "<html>
+ <p>This icon indicates Modelica functions.</p>
+ </html>"));
+ end FunctionLayerIcon;
+ annotation(
+ preferredView = "info",
+ Documentation(info = "<html>
+ <p>
+ A collection of basic icons to be used for different elements of the library.
+ </p>
+ </html>"));
+ end Icons;
+ annotation(
+ Documentation(info = "<html>
+<h4>Description</h4>
+<p>
+A serial communication package for hardware interfacing.
+</p>
+</html>"));
+ end SerialCommunication;
+ annotation(
+ uses(Modelica_DeviceDrivers(version = "1.5.0"), Modelica(version = "3.2.2")));
+end Arduino;
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Arduino.mo~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Arduino.mo~
new file mode 100644
index 0000000..d51347a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Arduino.mo~
@@ -0,0 +1,1775 @@
+package Arduino
+ extends Arduino.SerialCommunication.Icons.GenericICPackage;
+
+ package SerialCommunication "Serial Communication Package for Arduino"
+ extends Arduino.SerialCommunication.Icons.FunctionLayerIcon;
+ import ModelicaReference.Operators;
+
+ package Functions
+ extends Modelica.Icons.Package;
+ import Modelica;
+
+ function open_serial "Command to initialize the serial port which is connected to Arduino"
+ extends Modelica.Icons.Function;
+ input Integer handle, port, baudrate;
+ output Integer OK;
+
+ external OK = open_serial(handle, port, baudrate) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>open_serial</b>(handle,port,baudrate);
+</pre></blockquote>
+<h4>Description</h4>
+<p>
+Establishes a serial communication using port number \"port\".To connect to the Arduino board, check the port number from the device manager or check it from the Arduino software.
+</p>
+</html>"));
+ end open_serial;
+
+ function read_serial "read characters from serial port"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ input Integer size;
+ output Integer r_OK;
+ protected
+ Integer buf[size + 1];
+ //String buf;
+
+ external r_OK = read_serial(handle, buf, size) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>read_serial</b>(handle,size);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The translation setting of openserial can come in the way, affecting the number of characters effectively read. If that is the case, omitting the parameter n might be a bad idea, as scilab can hang. This would happen if the input stream contains CR or LF characters which are filtered out: in such cases serialstatus counts them, but readserial does not see them and keeps wating (if the blocking mode of openserial was true) until the total number is received.
+</p>
+</html>"));
+ end read_serial;
+
+ //algorithm
+ //Modelica.Utilities.Streams.print(String(buf));
+
+ function write_serial "write to the serial port"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ input String str;
+ input Integer size;
+ output Integer w_OK;
+
+ external w_OK = write_serial(handle, str, size) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>write_serial</b>(handle,str,size);
+</pre></blockquote>
+<h4>Description</h4>
+<p>No end of line character is appended to the string; the user might have to add it if the device being talked to requires it. The Tcl command puts -nonewline is used. In addition, the translation mode of openserial can come into way.
+</p>
+</html>"));
+ end write_serial;
+
+ function close_serial "Command to close the serial port which is connected to Arduino"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ output Integer c_OK;
+
+ external c_OK = close_serial(handle) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>close_serial</b>(handle);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Closes the port for serial communication specified by \"handle\".It is important to close the serial port after use, else the port would be busy and restart of Scilab might required to connect to it again.
+</p>
+</html>"));
+ end close_serial;
+
+ function status_serial "get status of the serial port"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ output Integer stat_OK;
+ protected
+ Integer bytes[2];
+
+ external stat_OK = status_serial(handle, bytes) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>status_serial</b>(handle);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Provides status of serial communication channel specified by \"handle\".Get some information about the number of characters present in the input and output buffers of the serial port, and about the status lines (DTS, CTS, etc.).The translation setting of openserial can come in the way. If the input stream contains CR or LF characters which are filtered out, openserial counts them but readserial does not see them.
+</p>
+</html>"));
+ end status_serial;
+
+ function cmd_digital_out "Command to sent out digital signal to a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no, val;
+ output Integer digital_w_OK;
+
+ external digital_w_OK = cmd_digital_out(h, pin_no, val) annotation(
+ Library = "Digital");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_digital_out</b>(handle,pin_no,value);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+</p>
+</html>"));
+ end cmd_digital_out;
+
+ function cmd_digital_in "Command to read in digital signal from a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ output Integer digital_in;
+
+ external digital_in = cmd_digital_in(h, pin_no) annotation(
+ Library = "Digital");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_digital_in</b>(handle,pin_no);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+</p>
+</html>"));
+ end cmd_digital_in;
+
+ function delay "Provides delay.Suspends Openmodelica."
+ extends Modelica.Icons.Function;
+ input Integer t;
+
+ external delay(t) annotation(
+ Library = "delay");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>delay</b>(milliseconds);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Delay process for specified number of miliseconds specified by the argument. The actual suspension time may be longer because of other activities in the system, or because of the time spent in processing the call.
+ </p>
+ </html>"));
+ end delay;
+
+ function cmd_analog_in "Command to read in analog signal from a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ output Integer val;
+
+ external val = cmd_analog_in(h, pin_no) annotation(
+ Library = "Analog");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_analog_in</b>(handle,pin_no);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+</p>
+</html>"));
+ end cmd_analog_in;
+
+ function cmd_analog_out "Command to sent out analog signal to a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ input Real val;
+ output Integer analog_w_OK;
+
+ external analog_w_OK = cmd_analog_out(h, pin_no, val) annotation(
+ Library = "Analog");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_analog_out</b>(handle,pin_no,val);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term 'analog output', because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage.
+The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).
+</p>
+</html>"));
+ end cmd_analog_out;
+
+ function cmd_analog_in_volt "Command to read in analog signal from a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ output Integer val;
+
+ external val = cmd_analog_in_volt(h, pin_no) annotation(
+ Library = "Analogv");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_analog_in_volt</b>(handle,pin_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. This function scale the reading to 0-5 so the user could get the measured voltage directly.
+ </p>
+ </html>"));
+ end cmd_analog_in_volt;
+
+ function cmd_analog_out_volt "Command to sent out analog signal to a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ input Real val;
+ output Integer analog_v_wOK;
+
+ external analog_v_wOK = cmd_analog_out_volt(h, pin_no, val) annotation(
+ Library = "Analogv");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_analog_out_volt</b>(handle,pin_no,val);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term 'analog output', because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage.
+ </p>
+ </html>"));
+ end cmd_analog_out_volt;
+
+ function cmd_dcmotor_setup "Command to setup pins to control DC motor"
+ extends Modelica.Icons.Function;
+ input Integer handle, driver_type, motor_no, pin1, pin2;
+
+ external cmd_dcmotor_setup(handle, driver_type, motor_no, pin1, pin2) annotation(
+ Library = "DCMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_dcmotor_setup</b>(handle,driver_type,motor_no,pin_no1,pin_no2);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </p>
+ </html>"));
+ end cmd_dcmotor_setup;
+
+ function cmd_dcmotor_run "Command to run DC motor after setting up"
+ extends Modelica.Icons.Function;
+ input Integer handle, motor_no, val;
+
+ external cmd_dcmotor_run(handle, motor_no, val) annotation(
+ Library = "DCMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_dcmotor_run</b>(handle,motor_no,value);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </p>
+ </html>"));
+ end cmd_dcmotor_run;
+
+ function cmd_dcmotor_release "Command to release pins which have setup for DC motor"
+ extends Modelica.Icons.Function;
+ input Integer handle, motor_no;
+
+ external cmd_dcmotor_release(handle, motor_no) annotation(
+ Library = "DCMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_dcmotor_release</b>(handle,motor_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </p>
+ </html>"));
+ end cmd_dcmotor_release;
+
+ function cmd_servo_attach "Command to attach servo motor to Arduino"
+ extends Modelica.Icons.Function;
+ input Integer handle, servo_no;
+
+ external cmd_servo_attach(handle, servo_no) annotation(
+ Library = "ServoMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_servo_attach</b>(handle,servo_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </p>
+ </html>"));
+ end cmd_servo_attach;
+
+ function cmd_servo_move "Command to run servo motor which has been setup"
+ extends Modelica.Icons.Function;
+ input Integer handle, servo_no, val;
+
+ external cmd_servo_move(handle, servo_no, val) annotation(
+ Library = "ServoMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_servo_move</b>(handle,servo_no,value);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </p>
+ </html>"));
+ end cmd_servo_move;
+
+ function cmd_servo_detach "Command to release the pin which has been setup for servo motor"
+ extends Modelica.Icons.Function;
+ input Integer handle, servo_no;
+
+ external cmd_servo_attach(handle, servo_no) annotation(
+ Library = "ServoMotor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_servo_detach</b>(handle,servo_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </p>
+ </html>"));
+ end cmd_servo_detach;
+
+ function ieeesingle2num "ieee-745 floating point converter"
+ extends Modelica.Icons.Function;
+ input String hexa;
+ output Real y;
+
+ external y = ieeesingle2num(hexa) annotation(
+ Library = "ieeesingle2num");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>ieeesingle2num</b>(hexa);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Converts an hexadecimal integer to ieee single precision format
+ </p>
+</html>"));
+ end ieeesingle2num;
+
+ function math_floor "Floor function"
+ extends Modelica.Icons.Function;
+ input Real x;
+ output Integer y;
+
+ external y = mfloor(x) annotation(
+ Library = "floor");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>math_floor</b>(x);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Returns the greatest integer less than or equal to x
+ </p>
+ </html>"));
+ end math_floor;
+
+ function getArduinoVersion "Returns the Arduino version used"
+ extends Modelica.Icons.Function;
+ output String arduinoVersion(fixed = true);
+ algorithm
+ arduinoVersion := "1.1";
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.<b>getArduinoVersion</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Gives the version of the arduino used.
+ </p>
+ </html>"));
+ end getArduinoVersion;
+
+ function cmd_encoder_init "Initiates the encoder"
+ extends Modelica.Icons.Function;
+ input Integer h, encoder_mode, pin_no1, pin_no2;
+
+ external cmd_encoder_init(h, encoder_mode, pin_no1, pin_no2) annotation(
+ Library = "Encoder");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.<b>cmd_encoder_init</b>(handle,encoder_mode,pin_no1,pin_no2);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Used to read encoder signal from one or more channels
+ </p>
+ </html>"));
+ end cmd_encoder_init;
+
+ //Incomplete
+
+ package MDD_Servo
+ extends Modelica.Icons.Package;
+
+ class Init
+ extends ExternalObject;
+
+ function constructor "Return device handle"
+ extends .Modelica.Icons.Function;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import Arduino.SerialCommunication.Functions.MDD_Servo;
+ input sComm.Types.Servo_no servo_no;
+ output sComm.Functions.MDD_Servo.Init servo;
+
+ external "C" servo = MDD_avr_servo_initialize(servo_no) annotation(
+ Include = "#include \"/home/souradip/OpenModelica/Resources/Include/MDDAVRServo.h\"");
+ end constructor;
+
+ function destructor "Destructor"
+ extends .Modelica.Icons.Function;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import Arduino.SerialCommunication.Functions.MDD_Servo;
+ input sComm.Types.Servo_no servo_no "Device handle";
+
+ external "C" MDD_avr_servo_finalize(servo_no) annotation(
+ Include = "#include \"/home/souradip/OpenModelica/Resources/Include/MDDAVRServo.h\"");
+ end destructor;
+ end Init;
+
+ function Move
+ extends Modelica.Icons.Function;
+ import sComm = Arduino.SerialCommunication.Functions;
+ input sComm.Functions.MDD_Servo.Init servo;
+ input Integer value;
+
+ external "C" MDD_avr_servo_move(servo, value) annotation(
+ Include = "#include \"/home/souradip/OpenModelica/Resources/Include/MDDAVRServo.h\"");
+ end Move;
+ end MDD_Servo;
+ end Functions;
+
+ package Examples
+ extends Modelica.Icons.ExamplesPackage;
+
+ package led
+ extends Modelica.Icons.ExamplesPackage;
+
+ model led_blue "Turn on Blue LED"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blue;
+
+ model led_blue_delay "Turn on Blue LED for a period of 2 seconds"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn the blue LED";
+ sComm.delay(2000) "let the blue LED be on for two seconds";
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "turn off blue LED";
+ sComm.delay(2000) "let the blue LED be off for two seconds";
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blue_delay;
+
+ model led_blue_red "Turn on Red & Blue LED"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn the blue LED";
+ digital_out := sComm.cmd_digital_out(1, 11, 1) "This will turn the red LED";
+ sComm.delay(5000) "Delay for 5 seconds";
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This turns off the blue Led";
+ sComm.delay(3000) "Delay for 3 seconds";
+ digital_out := sComm.cmd_digital_out(1, 11, 0) "This turns off the red Led";
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blue_red;
+
+ model led_blink "This will turn on and turn off the user LED for every second for 10 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ for i in 1:10 loop
+ digital_out := sComm.cmd_digital_out(1, 13, 0) "This will turn off the LED";
+ sComm.delay(500) "Delay for 0.5 seconds";
+ digital_out := sComm.cmd_digital_out(1, 13, 1) "This turns the Led";
+ sComm.delay(500) "Delay for 0.5 seconds";
+ end for;
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blink;
+
+ model led_green_blink "This will turn on and turn off the green LED for every second for 5 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(1000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ for i in 1:10 loop
+ digital_out := sComm.cmd_digital_out(1, 10, 0) "This will turn off the green LED";
+ sComm.delay(1000) "Delay for 1 second";
+ digital_out := sComm.cmd_digital_out(1, 10, 1) "This turns the green Led";
+ sComm.delay(1000) "Delay for 1 second";
+ end for;
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_green_blink;
+ end led;
+
+ package push
+ extends Modelica.Icons.ExamplesPackage;
+
+ model led_push_button "Conrolling LED with PushButton"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ digital_in := sComm.cmd_digital_in(1, 12) "Read from digital pin 12";
+ if digital_in == 0 then
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This will turn OFF the blue LED";
+ sComm.delay(200);
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ sComm.delay(200);
+ end if;
+ end if;
+//for i in 1:1000 loop
+//end for;
+//strm.print(String(time));
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-6, Interval = 0.01));
+ end led_push_button;
+
+ model push_button_status "Checking Status of PushButton"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_in(fixed = false);
+ Integer digital_out(start = 0, fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 1, 115200) "At port 0 with baudrate of 115200";
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ digital_in := sComm.cmd_digital_in(1, 12);
+ if digital_in == 0 then
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This will turn OFF the blue LED";
+ strm.print("LOW");
+ sComm.delay(200);
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ strm.print("HIGH");
+ sComm.delay(200);
+ end if;
+ end if;
+//for i in 1:1000 loop
+//end for;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//sComm.cmd_arduino_meter(digital_in);
+ annotation(
+ experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-6, Interval = 0.01));
+ end push_button_status;
+ end push;
+
+ package ldr
+ extends Modelica.Icons.ExamplesPackage;
+
+ model ldr_led "LED indicating light sensor readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 5) "read analog pin 5 (ldr)";
+ strm.print(String(analog_in));
+ if analog_in < 300 then
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "Turn ON LED";
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "Turn OFF LED";
+ end if;
+ sComm.delay(200);
+ end if;
+//for i in 1:500 loop
+//end for;
+//strm.print(String(time));
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//Run for 500 iterations
+//Setting Threshold value of 300
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.02));
+ end ldr_led;
+
+ model ldr_read "Reading light intensity using ldr"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 5) "read analog pin 5 (ldr)";
+ strm.print("LDR Readings at time " + String(time) + " : " + String(analog_in));
+ sComm.delay(500);
+ end if;
+//for i in 1:10 loop
+//end for;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//Run for 10 iterations
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 1));
+ end ldr_read;
+ end ldr;
+
+ package pot
+ extends Modelica.Icons.ExamplesPackage;
+
+ model pot_threshold
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(1000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 2) "read analog pin 2";
+ strm.print("Potentiometer Readings:" + String(analog_in));
+ if analog_in >= 0 and analog_in < 320 then
+ digital_out := sComm.cmd_digital_out(1, 11, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 11, 0) "Turn OFF LED";
+ elseif analog_in >= 320 and analog_in <= 900 then
+ digital_out := sComm.cmd_digital_out(1, 10, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 10, 0) "Turn OFF LED";
+ elseif analog_in > 900 and analog_in <= 1023 then
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "Turn OFF LED";
+ end if;
+ end if;
+//for i in 1:10 loop
+//end for;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//Run for 10 iterations
+//Threshold 1
+//Threshold 2
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.01));
+ end pot_threshold;
+ end pot;
+
+ package thermistor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model therm_buzzer "Sound buzzer depending on thermistor readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 4) "read analog pin 4";
+ if analog_in > 500 then
+ digital_out := sComm.cmd_digital_out(1, 3, 1) "Turn ON Buzzer";
+ else
+ digital_out := sComm.cmd_digital_out(1, 3, 0) "Turn OFF Buzzer";
+ end if;
+ sComm.delay(200);
+ end if;
+//for i in 1:500 loop
+//end for;
+//Run for 500 iterations
+//Setting Threshold value of 500
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.02));
+ end therm_buzzer;
+
+ model therm_read "Thermistor Readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 4) "read analog pin 5 (ldr)";
+ strm.print("Thermistor Readings " + " : " + String(analog_in));
+ sComm.delay(500);
+ end if;
+//for i in 1:20 loop
+//end for;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//Run for 20 iterations
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.5));
+ end therm_read;
+ end thermistor;
+
+ package dcmotor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model dcmotor_clock "Rotate DC Motor clockwise"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ sComm.delay(2000);
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 100) "Motor 1 runs at PWM 100";
+ sComm.delay(3000) "This is allowed to continue for 3 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end dcmotor_clock;
+
+ model dcmotor_both "Rotate DC Motor in both directions"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ sComm.delay(2000);
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 255) "Motor 1 runs at PWM 100";
+ sComm.delay(3000) "for 3 seconds";
+ sComm.cmd_dcmotor_run(1, 1, -255) "Motor 1 runs at PWM -100 in reverse direction";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end dcmotor_both;
+
+ model dcmotor_loop "Rotate DC Motor in both directions in a loop"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ for i in 1:4 loop
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pins 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 100) "Motor 1 runs at PWM 100";
+ sComm.delay(2000) "for 3 seconds";
+ sComm.cmd_dcmotor_run(1, 1, 0) "Halt the motor";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_run(1, 1, -100) "Run it at PWM 100 in reverse direction";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end for;
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end dcmotor_loop;
+ end dcmotor;
+
+ package servo
+ extends Modelica.Icons.ExamplesPackage;
+
+ model servo_init "Rotate Servo Motor by 30 degrees.After the roataion reset it by 0"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "To attach the motor to pin 9 of servo1";
+ sComm.cmd_servo_move(1, 1, 0) "tell servo to rotate by 30 degrees";
+ sComm.delay(3000);
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_init;
+
+ model servo_loop "Rotate servo motor by 20 degrees 10 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ Integer angle(fixed = true);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "Attach motor to pin 9. 1 means pin 9.";
+ sComm.delay(2000);
+ angle := 20 "Angle by which it has to move";
+ for i in 1:10 loop
+ sComm.cmd_servo_move(1, 1, angle * i) "tell servo to rotate by 20 degrees";
+ sComm.delay(1000) "waits for a sec";
+ end for;
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_loop;
+
+ model servo_reverse
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "Attach the motor to pin 9. 1 means 9";
+ sComm.cmd_servo_move(1, 1, 90) "Move the servo to 90 degree";
+ sComm.delay(1000) "be there for one second";
+ sComm.cmd_servo_move(1, 1, 45) "Move the servo to 45 degree";
+ sComm.delay(1000) "be there for one second";
+ sComm.delay(1000);
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_reverse;
+
+ model servo_pot "Control Servo Motor using Potentiometer"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ Integer analog_in(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "Attach the motor to pin 9";
+ sComm.delay(2000);
+ for i in 1:5000 loop
+ analog_in := sComm.cmd_analog_in(1, 2) "Read potentiometer value";
+ analog_in := sComm.math_floor(analog_in * (180 / 1023)) "Scale Potentiometer value to 0-180";
+ sComm.cmd_servo_move(1, 1, analog_in) "Command the servo motor";
+ sComm.delay(1000) "sleep for 500 milliseconds";
+ strm.print("Potentiometer Reading at time" + String(time) + " : " + String(analog_in));
+ end for;
+ end if;
+ sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ sComm.delay(5000);
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//5,000 itterations
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_pot;
+ end servo;
+
+ package modbus
+ extends Modelica.Icons.ExamplesPackage;
+
+ function read_voltage
+ extends Modelica.Icons.Function;
+
+ external read_voltage() annotation(
+ Library = "Modbus");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_voltage</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_voltage;
+
+ function read_current
+ extends Modelica.Icons.Function;
+
+ external read_voltage() annotation(
+ Library = "Modbus");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_current</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_current;
+
+ function read_val
+ extends Modelica.Icons.Function;
+ input Integer addr_byte;
+ output Real p;
+
+ external p = read_val(addr_byte) annotation(
+ Library = "Modbus");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_val</b>(address_byte);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_val;
+
+ function read_active_power
+ extends Modelica.Icons.Function;
+
+ external read_active_power() annotation(
+ Library = "Modbus");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_active_power</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_active_power;
+
+ model modbus_test
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import modbus = Arduino.SerialCommunication.Examples.modbus;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 9600);
+ modbus.read_voltage();
+ modbus.read_current();
+ modbus.read_active_power();
+ c_ok := sComm.close_serial(1);
+ end when;
+ end modbus_test;
+ end modbus;
+ end Examples;
+
+ package MDD_Examples "Interfacing arduino with OpenModelica using Modelica Device Drivers"
+ extends Modelica.Icons.ExamplesPackage;
+
+ package MDD_led
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_led_blue ""
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-44, 66}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {39, -21}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-41, -21}, extent = {{-15, -17}, {15, 17}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-24, -20}, {14, -20}, {14, -20}, {16, -20}}, color = {255, 0, 255}));
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.MDD_Examples.MDD_led.<b>MDD-led_blue</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end MDD_led_blue;
+
+ model MDD_led_blue_delay
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {31, 41}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {41, -17}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = if time < 5 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-27, -16}, extent = {{-21, -16}, {21, 16}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-4, -16}, {20, -16}}, color = {255, 0, 255}));
+ end MDD_led_blue_delay;
+
+ model MDD_led_blink
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-45, 71}, extent = {{-23, -23}, {23, 23}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'5', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {42, -22}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {23, 71}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = mod(time, 2) >= 1) annotation(
+ Placement(visible = true, transformation(origin = {-24, -21}, extent = {{-16, -15}, {16, 15}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-6, -21}, {16, -21}, {16, -22}, {18, -22}}, color = {255, 0, 255}));
+ end MDD_led_blink;
+
+ model MDD_led_blue_red
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-47, 47}, extent = {{-21, -21}, {21, 21}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {38, -16}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 44}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean2(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'3', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {38, -62}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = if time < 5 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-32, -16}, extent = {{-18, -14}, {18, 14}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = if time < 8 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-32, -62}, extent = {{-18, -16}, {18, 16}}, rotation = 0)));
+ equation
+ connect(digitalWriteBoolean2.u, booleanExpression2.y) annotation(
+ Line(points = {{18, -62}, {-12, -62}, {-12, -62}, {-12, -62}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, digitalWriteBoolean2.u) annotation(
+ Line(points = {{-12, -62}, {18, -62}, {18, -62}, {18, -62}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-12, -16}, {18, -16}, {18, -16}, {18, -16}}, color = {255, 0, 255}));
+ end MDD_led_blue_red;
+
+ model MDD_led_green_blink
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'2', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {46, -30}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 39}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = mod(time, 2) >= 1) annotation(
+ Placement(visible = true, transformation(origin = {-17, -30}, extent = {{-15, -14}, {15, 14}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{0, -30}, {24, -30}, {24, -30}, {24, -30}}, color = {255, 0, 255}));
+ end MDD_led_green_blink;
+ end MDD_led;
+
+ package MDD_push
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_led_push_button
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-46, 62}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalReadBoolean digitalReadBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'4', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {-44, -28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {62, -28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {8, -28}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-32, 18}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = false) annotation(
+ Placement(visible = true, transformation(origin = {-32, -70}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(booleanExpression2.y, logicalSwitch1.u3) annotation(
+ Line(points = {{-20, -70}, {-16, -70}, {-16, -36}, {-4, -36}, {-4, -36}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, logicalSwitch1.u1) annotation(
+ Line(points = {{-20, 18}, {-14, 18}, {-14, -20}, {-4, -20}, {-4, -20}}, color = {255, 0, 255}));
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{20, -28}, {50, -28}, {50, -28}, {50, -28}}, color = {255, 0, 255}));
+ connect(digitalReadBoolean1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{-32, -28}, {-4, -28}}, color = {255, 0, 255}));
+ end MDD_led_push_button;
+
+
+ model MDD_push_button_status
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-43, 43}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {20, 42}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalReadBoolean digitalReadBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'4', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {-39, -19}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.BooleanValue booleanValue1(use_activePort = true) annotation(
+ Placement(visible = true, transformation(origin = {31, -19}, extent = {{-15, -17}, {15, 17}}, rotation = 0)));
+ equation
+ connect(digitalReadBoolean1.y, booleanValue1.activePort) annotation(
+ Line(points = {{-18, -18}, {14, -18}, {14, -18}, {14, -18}}, color = {255, 0, 255}));
+ end MDD_push_button_status;
+
+ model pushTest1
+ extends Modelica.Icons.Example;
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalReadBoolean digitalReadBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'4', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {-60, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'2', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {60, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {-2, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-44, 48}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = false) annotation(
+ Placement(visible = true, transformation(origin = {-46, -58}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-70, 78}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+equation
+ connect(booleanExpression1.y, logicalSwitch1.u1) annotation(
+ Line(points = {{-33, 48}, {-28, 48}, {-28, 6}, {-14, 6}}, color = {255, 0, 255}));
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{10, -2}, {48, -2}, {48, -2}, {48, -2}}, color = {255, 0, 255}));
+ connect(digitalReadBoolean1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{-48, -2}, {-14, -2}, {-14, -2}, {-14, -2}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, logicalSwitch1.u3) annotation(
+ Line(points = {{-34, -58}, {-24, -58}, {-24, -10}, {-14, -10}, {-14, -10}}, color = {255, 0, 255}));
+ annotation(
+ uses(Modelica_DeviceDrivers(version = "1.5.0"), Modelica(version = "3.2.2")));
+end pushTest1;
+ end MDD_push;
+
+ package MDD_ldr
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_ldr_led
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-45, 65}, extent = {{-21, -21}, {21, 21}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {79, -23}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-60, 12}, extent = {{-14, -16}, {14, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2 annotation(
+ Placement(visible = true, transformation(origin = {-59, -79}, extent = {{-13, -17}, {13, 17}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {28, -22}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterThreshold greaterThreshold1(threshold = 600) annotation(
+ Placement(visible = true, transformation(origin = {-21, -23}, extent = {{-11, -11}, {11, 11}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A5, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-72, -22}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ equation
+ connect(adc.y, greaterThreshold1.u) annotation(
+ Line(points = {{-50, -22}, {-34, -22}}, color = {0, 0, 127}));
+ connect(greaterThreshold1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{-8, -22}, {8, -22}, {8, -22}, {8, -22}}, color = {255, 0, 255}));
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{46, -22}, {58, -22}, {58, -22}, {58, -22}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, logicalSwitch1.u1) annotation(
+ Line(points = {{-44, 12}, {8, 12}, {8, -10}, {8, -10}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, logicalSwitch1.u3) annotation(
+ Line(points = {{-44, -78}, {6, -78}, {6, -34}, {8, -34}}, color = {255, 0, 255}));
+ end MDD_ldr_led;
+
+ model MDD_ldr_read
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-37, 39}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {50, 38}, extent = {{-22, -22}, {22, 22}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A5, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-39, -17}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1(use_numberPort = true) annotation(
+ Placement(visible = true, transformation(origin = {30, -17}, extent = {{-18, -17}, {18, 17}}, rotation = 0)));
+ equation
+ connect(adc.y, realValue1.numberPort) annotation(
+ Line(points = {{-20, -17}, {7, -17}}, color = {0, 0, 127}));
+ end MDD_ldr_read;
+ end MDD_ldr;
+
+ package MDD_pot
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_pot_threshold ""
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-79, 79}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {80, 80}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica.Blocks.Logical.Switch switch11 annotation(
+ Placement(visible = true, transformation(origin = {2, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Switch switch12 annotation(
+ Placement(visible = true, transformation(origin = {10, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Greater greater1 annotation(
+ Placement(visible = true, transformation(origin = {42, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Greater greater2 annotation(
+ Placement(visible = true, transformation(origin = {36, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {82, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean2(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'2', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {82, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean3(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'3', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {82, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold1(threshold = 0) annotation(
+ Placement(visible = true, transformation(origin = {-42, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold2(threshold = 320) annotation(
+ Placement(visible = true, transformation(origin = {-42, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold3(threshold = 900) annotation(
+ Placement(visible = true, transformation(origin = {-40, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.RealExpression realExpression1(y = 0) annotation(
+ Placement(visible = true, transformation(origin = {-40, -92}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.RealExpression realExpression2(y = 1) annotation(
+ Placement(visible = true, transformation(origin = {-44, 84}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Switch switch1 annotation(
+ Placement(visible = true, transformation(origin = {0, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Math.RealToBoolean realToBoolean1(threshold = 0.5) annotation(
+ Placement(visible = true, transformation(origin = {44, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A2, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-88, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(adc.y, greaterEqualThreshold1.u) annotation(
+ Line(points = {{-76, 0}, {-70, 0}, {-70, 46}, {-54, 46}}, color = {0, 0, 127}));
+ connect(greaterEqualThreshold1.y, switch1.u2) annotation(
+ Line(points = {{-31, 46}, {-24, 46}, {-24, 70}, {-12, 70}}, color = {255, 0, 255}));
+ connect(adc.y, greaterEqualThreshold3.u) annotation(
+ Line(points = {{-76, 0}, {-70, 0}, {-70, -64}, {-52, -64}, {-52, -64}}, color = {0, 0, 127}));
+ connect(adc.y, greaterEqualThreshold2.u) annotation(
+ Line(points = {{-76, 0}, {-54, 0}, {-54, 0}, {-54, 0}}, color = {0, 0, 127}));
+ connect(realToBoolean1.y, digitalWriteBoolean3.u) annotation(
+ Line(points = {{56, -64}, {70, -64}, {70, -64}, {70, -64}}, color = {255, 0, 255}));
+ connect(switch12.y, realToBoolean1.u) annotation(
+ Line(points = {{22, -64}, {32, -64}, {32, -64}, {32, -64}}, color = {0, 0, 127}));
+ connect(realExpression1.y, switch1.u3) annotation(
+ Line(points = {{-28, -92}, {-16, -92}, {-16, 62}, {-12, 62}, {-12, 62}}, color = {0, 0, 127}));
+ connect(realExpression2.y, switch1.u1) annotation(
+ Line(points = {{-32, 84}, {-20, 84}, {-20, 78}, {-12, 78}, {-12, 78}}, color = {0, 0, 127}));
+ connect(switch1.y, greater2.u1) annotation(
+ Line(points = {{12, 70}, {22, 70}, {22, 70}, {24, 70}}, color = {0, 0, 127}));
+ connect(greater1.y, digitalWriteBoolean2.u) annotation(
+ Line(points = {{54, 0}, {70, 0}}, color = {255, 0, 255}));
+ connect(switch11.y, greater2.u2) annotation(
+ Line(points = {{14, 0}, {18, 0}, {18, 62}, {24, 62}, {24, 62}}, color = {0, 0, 127}));
+ connect(switch11.y, greater1.u1) annotation(
+ Line(points = {{14, 0}, {30, 0}}, color = {0, 0, 127}));
+ connect(switch12.y, greater1.u2) annotation(
+ Line(points = {{22, -64}, {22, -64}, {22, -8}, {30, -8}, {30, -8}}, color = {0, 0, 127}));
+ connect(greaterEqualThreshold2.y, switch11.u2) annotation(
+ Line(points = {{-30, 0}, {-10, 0}, {-10, 0}, {-10, 0}}, color = {255, 0, 255}));
+ connect(greater2.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{48, 70}, {56, 70}, {56, 40}, {70, 40}, {70, 40}}, color = {255, 0, 255}));
+ connect(realExpression2.y, switch12.u1) annotation(
+ Line(points = {{-32, 84}, {-20, 84}, {-20, -56}, {-2, -56}, {-2, -56}}, color = {0, 0, 127}));
+ connect(realExpression2.y, switch11.u1) annotation(
+ Line(points = {{-32, 84}, {-20, 84}, {-20, 8}, {-10, 8}, {-10, 8}}, color = {0, 0, 127}));
+ connect(realExpression1.y, switch11.u3) annotation(
+ Line(points = {{-28, -92}, {-16, -92}, {-16, -8}, {-10, -8}, {-10, -8}}, color = {0, 0, 127}));
+ connect(realExpression1.y, switch12.u3) annotation(
+ Line(points = {{-28, -92}, {-16, -92}, {-16, -72}, {-2, -72}, {-2, -72}}, color = {0, 0, 127}));
+ connect(greaterEqualThreshold3.y, switch12.u2) annotation(
+ Line(points = {{-28, -64}, {-2, -64}, {-2, -64}, {-2, -64}}, color = {255, 0, 255}));
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.MDD_Examples.MDD_pot.<b>MDD_pot_threshold</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Voltage reference used to represent 10 bit precision(1024) of ADC along with prescaling by by 128.Internal voltage reference is applied to adc.
+ </p>
+ </html>"));
+ end MDD_pot_threshold;
+ end MDD_pot;
+
+ package MDD_thermistor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_therm_read
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 42}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A4, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-40, -20}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1(use_numberPort = true) annotation(
+ Placement(visible = true, transformation(origin = {39, -21}, extent = {{-15, -19}, {15, 19}}, rotation = 0)));
+ equation
+ connect(adc.y, realValue1.numberPort) annotation(
+ Line(points = {{-18, -20}, {20, -20}, {20, -20}, {22, -20}}, color = {0, 0, 127}));
+ end MDD_therm_read;
+
+ model MDD_therm_buzzer
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-61, 61}, extent = {{-21, -21}, {21, 21}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A4, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-68, 1.77636e-15}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {41, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1(use_numberPort = true) annotation(
+ Placement(visible = true, transformation(origin = {12, -56}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'3', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.D) annotation(
+ Placement(visible = true, transformation(origin = {78, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {40, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = false) annotation(
+ Placement(visible = true, transformation(origin = {10, -32}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = true) annotation(
+ Placement(visible = true, transformation(origin = {10, 32}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold1(threshold = 550) annotation(
+ Placement(visible = true, transformation(origin = {-4, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(greaterEqualThreshold1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{8, 0}, {28, 0}, {28, 0}, {28, 0}}, color = {255, 0, 255}));
+ connect(adc.y, greaterEqualThreshold1.u) annotation(
+ Line(points = {{-46, 0}, {-16, 0}, {-16, 0}, {-16, 0}}, color = {0, 0, 127}));
+ connect(adc.y, realValue1.numberPort) annotation(
+ Line(points = {{-46, 0}, {-32, 0}, {-32, -56}, {0, -56}}, color = {0, 0, 127}));
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{52, 0}, {66, 0}, {66, 0}, {66, 0}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, logicalSwitch1.u1) annotation(
+ Line(points = {{22, 32}, {24, 32}, {24, 8}, {28, 8}, {28, 8}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, logicalSwitch1.u3) annotation(
+ Line(points = {{22, -32}, {24, -32}, {24, -8}, {28, -8}, {28, -8}}, color = {255, 0, 255}));
+ end MDD_therm_buzzer;
+ end MDD_thermistor;
+
+ package MDD_dcmotor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_dcmotor_clock
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.B}) annotation(
+ Placement(visible = true, transformation(origin = {51, -3}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if time < 5 then 255 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-40, -3}, extent = {{-16, -13}, {16, 13}}, rotation = 0)));
+ equation
+ connect(pwm.u[1], integerExpression1.y) annotation(
+ Line(points = {{28, -3}, {-22, -3}}, color = {255, 127, 0}, thickness = 0.5));
+ end MDD_dcmotor_clock;
+
+ model MDD_dcmotor_both
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {56, 60}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {54, 1.77636e-15}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if mod(time, 5) >= 2.5 then 100 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-41, 3.55271e-15}, extent = {{-23, -20}, {23, 20}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression2(y = if mod(time, 5) < 2.5 then 100 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-39, -48}, extent = {{-23, -20}, {23, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm1(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.B}) annotation(
+ Placement(visible = true, transformation(origin = {54, -48}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ equation
+ connect(integerExpression2.y, pwm1.u[1]) annotation(
+ Line(points = {{-14, -48}, {28, -48}, {28, -48}, {30, -48}}, color = {255, 127, 0}));
+ connect(integerExpression1.y, pwm.u[1]) annotation(
+ Line(points = {{-16, 0}, {28, 0}, {28, 0}, {30, 0}}, color = {255, 127, 0}));
+ end MDD_dcmotor_both;
+
+ model MDD_dcmotor_loop
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 62}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {44, 16}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm1(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.B}) annotation(
+ Placement(visible = true, transformation(origin = {44, -30}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if mod(time, 6) < 3 then 255 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-53, 16}, extent = {{-17, -16}, {17, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression2(y = if mod(time, 6) > 3 then 255 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-52, -30}, extent = {{-16, -14}, {16, 14}}, rotation = 0)));
+ equation
+ connect(integerExpression2.y, pwm1.u[1]) annotation(
+ Line(points = {{-34, -30}, {24, -30}}, color = {255, 127, 0}));
+ connect(integerExpression1.y, pwm.u[1]) annotation(
+ Line(points = {{-34, 16}, {24, 16}}, color = {255, 127, 0}));
+ end MDD_dcmotor_loop;
+ end MDD_dcmotor;
+
+ package MDD_servo
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_servo_init
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 58}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {59, 59}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {44, -6}, extent = {{-28, -28}, {28, 28}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = 30) annotation(
+ Placement(visible = true, transformation(origin = {-57, -6}, extent = {{-23, -18}, {23, 18}}, rotation = 0)));
+ equation
+ connect(integerExpression1.y, pwm.u[1]) annotation(
+ Line(points = {{-32, -6}, {10, -6}}, color = {255, 127, 0}));
+ end MDD_servo_init;
+
+ model MDD_servo_loop
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-41, 41}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {80, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.MathInteger.TriggeredAdd triggeredAdd1(use_reset = false, use_set = false) annotation(
+ Placement(visible = true, transformation(origin = {10, -8}, extent = {{-6, -6}, {6, 6}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = 10) annotation(
+ Placement(visible = true, transformation(origin = {-34, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = if mod(time, 0.2) > 0.1 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-22, -32}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, triggeredAdd1.trigger) annotation(
+ Line(points = {{-10, -32}, {6, -32}, {6, -16}, {6, -16}}, color = {255, 0, 255}));
+ connect(integerExpression1.y, triggeredAdd1.u) annotation(
+ Line(points = {{-22, -8}, {2, -8}, {2, -8}, {2, -8}}, color = {255, 127, 0}));
+ connect(triggeredAdd1.y, pwm.u[1]) annotation(
+ Line(points = {{17, -8}, {68, -8}}, color = {255, 127, 0}));
+ end MDD_servo_loop;
+
+ model MDD_servo_pot
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A2, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 180, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-52, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {48, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Math.RealToInteger realToInteger1 annotation(
+ Placement(visible = true, transformation(origin = {-6, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(adc.y, realToInteger1.u) annotation(
+ Line(points = {{-40, -10}, {-18, -10}, {-18, -10}, {-18, -10}, {-18, -10}}, color = {0, 0, 127}));
+ connect(realToInteger1.y, pwm.u[1]) annotation(
+ Line(points = {{6, -10}, {36, -10}, {36, -10}, {36, -10}}, color = {255, 127, 0}));
+ end MDD_servo_pot;
+
+ model MDD_servo_reverse
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.01, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-59, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {55, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if time < 0.2 then 22 else 15) annotation(
+ Placement(visible = true, transformation(origin = {-44, 0}, extent = {{-22, -22}, {22, 22}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {44, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(integerExpression1.y, pwm.u[1]) annotation(
+ Line(points = {{-20, 0}, {32, 0}}, color = {255, 127, 0}));
+ end MDD_servo_reverse;
+ end MDD_servo;
+
+ package MDD_modbus
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_read_val
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-45, 67}, extent = {{-15, -15}, {15, 15}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {28, 68}, extent = {{-12, -12}, {12, 12}}, rotation = 0)));
+ Modelica.Blocks.MathInteger.MultiSwitch multiSwitch1(expr = {86, 88, 78}, nu = 3, use_pre_as_default = true, y_default = 0) annotation(
+ Placement(visible = true, transformation(origin = {-32.6577, -10}, extent = {{-10.0019, -22}, {30.0056, 22}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1 annotation(
+ Placement(visible = true, transformation(origin = {60, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Blocks.Read_Val read_Val1 annotation(
+ Placement(visible = true, transformation(origin = {26, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(read_Val1.y, realValue1.numberPort) annotation(
+ Line(points = {{38, -10}, {48, -10}, {48, -10}, {48, -10}}, color = {0, 0, 127}));
+ connect(multiSwitch1.y, read_Val1.u) annotation(
+ Line(points = {{-2, -10}, {14, -10}, {14, -10}, {14, -10}}, color = {255, 127, 0}));
+ end MDD_read_val;
+ end MDD_modbus;
+ end MDD_Examples;
+
+ package Blocks
+ extends Modelica.Icons.Package;
+
+ model Read_Val
+ extends Modelica.Blocks.Interfaces.SISO;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR;
+ import sComm = Arduino.SerialCommunication.Functions;
+ outer Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu;
+ annotation(
+ defaultComponentName = "Read_Val",
+ Icon(graphics = {Text(extent = {{-95, -95}, {95, 95}}, textString = "Read_Val", fontName = "Arial")}));
+ end Read_Val;
+ end Blocks;
+
+ package Icons "Collection of icons used for library components"
+ extends Modelica.Icons.IconsPackage;
+
+ partial package GenericICPackage "Icon with a generic IC"
+ annotation(
+ Icon(coordinateSystem(preserveAspectRatio = true, extent = {{-100, -100}, {100, 100}}), graphics = {Bitmap(extent = {{-95, -95}, {95, 95}}, fileName = "Resources/Images/Icons/tqfp32.png", rotation = 0)}),
+ Documentation(info = "<html>
+ <p>
+ This partial class is intended to design a <em>default icon for microcontrollers</em>.
+ </p>
+ </html>"));
+ end GenericICPackage;
+
+ partial block GenericIC "Icon with a generic IC"
+ annotation(
+ Icon(coordinateSystem(preserveAspectRatio = true, extent = {{-100, -100}, {100, 100}}), graphics = {Bitmap(extent = {{-95, -95}, {95, 95}}, fileName = "Resources/Images/Icons/tqfp32.png", rotation = 0)}),
+ Documentation(info = "<html>
+ <p>
+ This partial class is intended to design a <em>default icon for microcontrollers</em>.
+ </p>
+ </html>"));
+ end GenericIC;
+
+ partial package FunctionLayerIcon "Icon for packages that represent the function layer"
+ extends Modelica.Icons.Package;
+ annotation(
+ Icon(coordinateSystem(preserveAspectRatio = false, extent = {{-100, -100}, {100, 100}}), graphics = {Text(lineColor = {128, 128, 128}, extent = {{-90, -90}, {90, 90}}, textString = "f"), Ellipse(lineColor = {128, 128, 128}, extent = {{-80, -80}, {80, 80}})}),
+ Documentation(info = "<html>
+ <p>This icon indicates Modelica functions.</p>
+ </html>"));
+ end FunctionLayerIcon;
+ annotation(
+ preferredView = "info",
+ Documentation(info = "<html>
+ <p>
+ A collection of basic icons to be used for different elements of the library.
+ </p>
+ </html>"));
+ end Icons;
+ annotation(
+ Documentation(info = "<html>
+<h4>Description</h4>
+<p>
+A serial communication package for hardware interfacing.
+</p>
+</html>"));
+ end SerialCommunication;
+ annotation(
+ uses(Modelica_DeviceDrivers(version = "1.5.0"), Modelica(version = "3.2.2")));
+end Arduino;
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Instructions.txt b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Instructions.txt
new file mode 100644
index 0000000..3c8a081
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Instructions.txt
@@ -0,0 +1,14 @@
+Compiling sources:
+gcc -c -Wall -fPIC filename.c
+gcc -shared -fPIC -o libfilename.so file1.o file2.o ....
+
+MDD:
+Executing Blink example within MOdelica_DeviceDrivers EmbeddedTargets Package:-
+Put the runMDDAvr.mos file in a (build) directory and execute following commands on the command line:
+
+omc --simCodeTarget=ExperimentalEmbeddedC runMDDAvr.mos
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections Blink_main.c -o Blink -I /path_to_MDD/Modelica_DeviceDrivers/Resources/Include -I /usr/include/omc/c
+
+avr-objcopy -O ihex -R .eeprom Blink Blink.hex
+avrdude -F -V -c arduino -p ATMEGA328P -P /dev/ttyACM0 -b 115200 -U flash:w:Blink.hex
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both
new file mode 100644
index 0000000..49bd982
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both.hex
new file mode 100644
index 0000000..6092d32
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both.hex
@@ -0,0 +1,121 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C942C0140
+:100020000C9451000C9451000C9451000C94FB0062
+:100030000C9451000C9451000C94CA000C94510083
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E4E5F7E002C0F3
+:1000800005900D92A831B107D9F711E0A8E1B1E0D0
+:1000900001C01D92AD31B107E1F70E94A4010C949B
+:1000A000A8030C940000CF92DF92EF92FF92CF93BF
+:1000B000DF93EC01C880D980EA80FB80C701B601DC
+:1000C0000E9479029B01AC01C701B6010E94D301D5
+:1000D0006B017C0120E030E040E05FE30E944103DF
+:1000E00087FD03C084E690E002C080E090E09D833D
+:1000F0008C8320E030E040E05FE3C701B6010E945E
+:10010000380287FF03C084E690E002C080E090E000
+:100110009F838E838E899F898230910561F0833021
+:10012000910599F00197C9F416BC80916E00826028
+:1001300080936E0016C0109285001092840080910A
+:100140006F00826080936F000CC01092B2008091AB
+:10015000700082608093700004C081E090E00E9493
+:10016000A80378949FB7F89480911A019FBF8823C1
+:10017000C9F310921A01EE85FF858C818083EA898C
+:10018000FB898E818083DF91CF91FF90EF90DF908C
+:10019000CF9008951F920F920FB60F9211242F93B4
+:1001A0003F938F939F93809118019091190101962D
+:1001B000909319018093180180911A01813091F078
+:1001C000209118013091190180911B0190911C011F
+:1001D0002817390738F081E080931A01109219012D
+:1001E000109218019F918F913F912F910F900FBE08
+:1001F0000F901F9018951F920F920FB60F92112417
+:100200002F933F938F939F938091180190911901A1
+:100210000196909319018093180180911A01813001
+:1002200091F0209118013091190180911B0190915A
+:100230001C012817390738F081E080931A011092C9
+:100240001901109218019F918F913F912F910F905A
+:100250000FBE0F901F9018951F920F920FB60F921E
+:1002600011242F933F938F939F9380911801909126
+:1002700019010196909319018093180180911A0138
+:10028000813091F0209118013091190180911B016A
+:1002900090911C012817390738F081E080931A01EA
+:1002A00010921901109218019F918F913F912F91F7
+:1002B0000F900FBE0F901F901895CF93DF93FC0106
+:1002C000C1E8D0E088818D60888322E030E0318B06
+:1002D000208B229A40E850E0DA018C9181628C9365
+:1002E0008AE890E0DC0111961C921E921C92938B7E
+:1002F000828B88818D60888335872487219ADA01F3
+:100300008C9181688C93A8E8B0E011961C921E92A3
+:100310001C92B787A68785B5836085BD81E090E094
+:10032000958B848B2AE030E030931C0120931B01D5
+:1003300024B5226024BD29EF27BD978B868B80E0F2
+:1003400090E0DF91CF910895CF92DF92EF92FF92EC
+:1003500080E091E00E945D01C12CD12C760160E02B
+:1003600070E0CB0160930001709301018093020162
+:100370009093030180E091E00E9453008FEFC81A30
+:10038000D80AE80AF80AC701B6010E943C022FE623
+:1003900032E143E05BE30E94450320E030E0A90145
+:1003A0000E94D401DFCF5058BB27AA270ED018C116
+:1003B00009D130F00ED120F031F49F3F11F41EF43A
+:1003C000FEC00EF4E095E7FBCBC0E92F1AD180F315
+:1003D000BA17620773078407950718F071F49EF542
+:1003E00049C10EF4E0950B2EBA2FA02D0B01B901D7
+:1003F00090010C01CA01A0011124FF27591B99F09B
+:10040000593F50F4503E68F11A16F040A22F232FA6
+:10041000342F4427585FF3CF469537952795A795F6
+:10042000F0405395C9F77EF41F16BA0B620B730B9D
+:10043000840BBAF09150A1F0FF0FBB1F661F771F0E
+:10044000881FC2F70EC0BA0F621F731F841F48F4C3
+:10045000879577956795B795F7959E3F08F0B3CF49
+:100460009395880F08F09927EE0F97958795089533
+:1004700053D008F481E00895E89409C097FB3EF456
+:1004800090958095709561957F4F8F4F9F4F9923E1
+:10049000A9F0F92F96E9BB279395F695879577955F
+:1004A0006795B795F111F8CFFAF4BB0F11F460FF1F
+:1004B0001BC06F5F7F4F8F4F9F4F16C0882311F077
+:1004C00096E911C0772321F09EE8872F762F05C08B
+:1004D000662371F096E8862F70E060E02AF09A9526
+:1004E000660F771F881FDAF7880F9695879597F91B
+:1004F0000895A9D080F09F3740F491110EF0BBC051
+:1005000060E070E080E89FEB089526F41B16611D03
+:10051000711D811D2BC045C0990F0008550FAA0BF6
+:10052000E0E8FEEF16161706E807F907C0F0121606
+:100530001306E407F50798F0621B730B840B950B09
+:1005400039F40A2661F0232B242B252B21F408955E
+:100550000A2609F4A140A6958FEF811D811D0895FB
+:1005600097F99F6780E870E060E00895882371F450
+:10057000772321F09850872B762F07C0662311F43C
+:1005800099270DC09051862B70E060E02AF09A9573
+:10059000660F771F881FDAF7880F9695879597F96A
+:1005A00008959F3F31F0915020F487957795679596
+:1005B000B795880F911D9695879597F908959FEFA8
+:1005C00080EC089500240A941616170618060906EA
+:1005D000089500240A9412161306140605060895B9
+:1005E000092E0394000C11F4882352F0BB0F40F441
+:1005F000BF2B11F460FF04C06F5F7F4F8F4F9F4F81
+:10060000089557FD9058440F551F59F05F3F71F002
+:100610004795880F97FB991F61F09F3F79F0879569
+:100620000895121613061406551FF2CF4695F1DFF2
+:1006300008C0161617061806991FF1CF8695710582
+:10064000610508940895E5DFA0F0BEE7B91788F4C6
+:10065000BB279F3860F41616B11D672F782F8827A7
+:10066000985FF7CF869577956795B11D93959639E5
+:10067000C8F30895E894BB2766277727CB0197F93D
+:1006800008954ADF08F48FEF08950BD0A9CF9ADFC1
+:1006900028F09FDF18F0952309F062CF90CF112446
+:1006A000EACFAFDFA0F3959FD1F3950F50E0551F30
+:1006B000629FF001729FBB27F00DB11D639FAA27B7
+:1006C000F00DB11DAA1F649F6627B00DA11D661F06
+:1006D000829F2227B00DA11D621F739FB00DA11D27
+:1006E000621F839FA00D611D221F749F3327A00DE1
+:1006F000611D231F849F600D211D822F762F6A2F7D
+:1007000011249F5750408AF0E1F088234AF0EE0F01
+:10071000FF1FBB1F661F771F881F91505040A9F70E
+:100720009E3F510570F01CCFA6CF5F3FECF3983E83
+:10073000DCF3869577956795B795F795E7959F5F75
+:10074000C1F7FE2B880F911D9695879597F908950F
+:04075000F894FFCF4B
+:1007540000000000000000000AD7233C0000000055
+:0807640000000000000000008D
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both.sh
new file mode 100644
index 0000000..762735b
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_dcmotor_both.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_dcmotor_both.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections dcmotor_both_main.c -o dcmotor_both -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom dcmotor_both dcmotor_both.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:dcmotor_both.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both_main.c
new file mode 100644
index 0000000..dbf03a2
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_both_main.c
@@ -0,0 +1,217 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct dcmotor_both_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct dcmotor_both_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Integer fmi2IntegerVars[2];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[6];
+} dcmotor_both_fmi2Component;
+
+dcmotor_both_fmi2Component dcmotor_both_component = {
+ .fmi2IntegerVars = {
+ 0 /*pwm._u[1]*/,
+ 0 /*pwm1._u[1]*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value)
+{
+ MDD_avr_pwm_set(om_pwm, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted)
+{
+ void* om_pwm;
+ om_pwm = MDD_avr_pwm_init(om_timer, om_pin, om_initialValue, om_inverted);
+ return om_pwm;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm)
+{
+ MDD_avr_pwm_close(om_pwm);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component dcmotor_both_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &dcmotor_both_component;
+}
+
+fmi2Status dcmotor_both_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status dcmotor_both_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[2] /* pwm1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[3] /* pwm1._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[2] /* pwm1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 2, 0, fmi2False);
+ comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 1, 0, fmi2False);
+ comp->extObjs[4] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[5] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[4] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status dcmotor_both_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status dcmotor_both_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status dcmotor_both_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */ = ((om_mod(comp->currentTime,1.0))>=(0.5)) ? (100) : (0); /* equation 4 */
+ comp->fmi2IntegerVars[1] /* pwm1._u[1] DISCRETE */ = ((om_mod(comp->currentTime,1.0))<(0.5)) ? (100) : (0); /* equation 5 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[5] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[3] /* pwm1._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[1] /* pwm1._u[1] DISCRETE */);
+}
+
+fmi2Status dcmotor_both_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ dcmotor_both_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = dcmotor_both_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ dcmotor_both_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ dcmotor_both_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ dcmotor_both_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = dcmotor_both_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock
new file mode 100644
index 0000000..0e58a0e
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock.hex
new file mode 100644
index 0000000..f752eb8
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock.hex
@@ -0,0 +1,101 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94E50088
+:100020000C9451000C9451000C9451000C94B400A9
+:100030000C9451000C9451000C9483000C945100CA
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0ECE1F6E002C0F0
+:1000800005900D92A231B107D9F711E0A2E1B1E0DC
+:1000900001C01D92A731B107E1F70E9445010C9400
+:1000A0000C030C9400008230910561F083309105BF
+:1000B00099F00197C9F416BC80916E00826080931C
+:1000C0006E0016C0109285001092840080916F001F
+:1000D000826080936F000CC01092B200809170001B
+:1000E00082608093700004C081E090E00E940C0365
+:1000F00078949FB7F894809114019FBF8823C9F327
+:100100001092140108951F920F920FB60F921124AE
+:100110002F933F938F939F9380911201909113019E
+:100120000196909313018093120180911401813004
+:1001300091F020911201309113018091150190915D
+:1001400016012817390738F081E0809314011092C6
+:100150001301109212019F918F913F912F910F9057
+:100160000FBE0F901F9018951F920F920FB60F920F
+:1001700011242F933F938F939F938091120190911D
+:100180001301019690931301809312018091140141
+:10019000813091F02091120130911301809115016D
+:1001A000909116012817390738F081E080931401E7
+:1001B00010921301109212019F918F913F912F91F4
+:1001C0000F900FBE0F901F9018951F920F920FB6B1
+:1001D0000F9211242F933F938F939F93809112013D
+:1001E00090911301019690931301809312018091D5
+:1001F0001401813091F0209112013091130180910E
+:100200001501909116012817390738F081E0809385
+:10021000140110921301109212019F918F913F913E
+:100220002F910F900FBE0F901F901895FC01A1E821
+:10023000B0E08C918D608C9382E090E09387828710
+:10024000229AA0E8B0E08C9181628C93AAE8B0E099
+:1002500011961C921E921C92B587A48785B5836067
+:1002600085BD81E090E0978786872AE030E0309373
+:1002700016012093150124B5226024BD29EF27BD66
+:10028000918B808B80E090E00895CF92DF92EF9287
+:10029000FF9280E091E00E941601C12CD12C7601E2
+:1002A00060E070E0CB0160930001709301018093E6
+:1002B00002019093030120E030E040E85FE30E94F8
+:1002C000F30187FF03C08FEF90E002C080E090E071
+:1002D0009093050180930401809110019091110188
+:1002E0000E945300E0910C01F0910D0180910401F6
+:1002F00080838FEFC81AD80AE80AF80AC701B60146
+:100300000E94F7012FE632E143E05BE30E94A9027D
+:1003100020E030E0A9010E948F01C5CF5058BB27D3
+:10032000AA270ED0DCC0CDD030F0D2D020F031F4EE
+:100330009F3F11F41EF4C2C00EF4E095E7FBB8C075
+:10034000E92FDED080F3BA17620773078407950799
+:1003500018F071F49EF5F6C00EF4E0950B2EBA2F4E
+:10036000A02D0B01B90190010C01CA01A0011124BB
+:10037000FF27591B99F0593F50F4503E68F11A1667
+:10038000F040A22F232F342F4427585FF3CF4695F8
+:1003900037952795A795F0405395C9F77EF41F161A
+:1003A000BA0B620B730B840BBAF09150A1F0FF0FE4
+:1003B000BB1F661F771F881FC2F70EC0BA0F621FD0
+:1003C000731F841F48F4879577956795B795F795C0
+:1003D0009E3F08F0B3CF9395880F08F09927EE0F52
+:1003E00097958795089540D008F481E00895E894A2
+:1003F00009C097FB3EF490958095709561957F4F6D
+:100400008F4F9F4F9923A9F0F92F96E9BB2793951A
+:10041000F695879577956795B795F111F8CFFAF42A
+:10042000BB0F11F460FF1BC06F5F7F4F8F4F9F4F5B
+:1004300016C0882311F096E911C0772321F09EE8B9
+:10044000872F762F05C0662371F096E8862F70E01F
+:1004500060E02AF09A95660F771F881FDAF7880FF9
+:100460009695879597F90895990F0008550FAA0B4F
+:10047000E0E8FEEF16161706E807F907C0F01216B7
+:100480001306E407F50798F0621B730B840B950BBA
+:1004900039F40A2661F0232B242B252B21F408950F
+:1004A0000A2609F4A140A6958FEF811D811D0895AC
+:1004B00097F99F6780E870E060E008959FEF80EC17
+:1004C000089500240A9416161706180609060895BA
+:1004D00000240A9412161306140605060895092E20
+:1004E0000394000C11F4882352F0BB0F40F4BF2B8F
+:1004F00011F460FF04C06F5F7F4F8F4F9F4F0895CF
+:1005000057FD9058440F551F59F05F3F71F04795C4
+:10051000880F97FB991F61F09F3F79F087950895A9
+:10052000121613061406551FF2CF4695F1DF08C0C8
+:10053000161617061806991FF1CF869571056105E5
+:1005400008940895E894BB2766277727CB0197F98D
+:1005500008950BD0C4CFB5DF28F0BADF18F095238B
+:1005600009F0A6CFABCF1124EECFCADFA0F3959F41
+:10057000D1F3950F50E0551F629FF001729FBB278A
+:10058000F00DB11D639FAA27F00DB11DAA1F649F36
+:100590006627B00DA11D661F829F2227B00DA11DE9
+:1005A000621F739FB00DA11D621F839FA00D611D6F
+:1005B000221F749F3327A00D611D231F849F600D90
+:1005C000211D822F762F6A2F11249F5750408AF0C9
+:1005D000E1F088234AF0EE0FFF1FBB1F661F771F55
+:1005E000881F91505040A9F79E3F510570F060CF91
+:1005F000AACF5F3FECF3983EDCF38695779567953D
+:10060000B795F795E7959F5FC1F7FE2B880F911D72
+:0C0610009695879597F90895F894FFCF10
+:10061C0000000000FF000AD7233C0000000000008F
+:02062C000000CC
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock.sh
new file mode 100644
index 0000000..9ef5c4d
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_dcmotor_clock.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_dcmotor_clock.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections dcmotor_clock_main.c -o dcmotor_clock -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom dcmotor_clock dcmotor_clock.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:dcmotor_clock.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock_main.c
new file mode 100644
index 0000000..ae3eff7
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_clock_main.c
@@ -0,0 +1,213 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct dcmotor_clock_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct dcmotor_clock_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Integer fmi2IntegerVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[4];
+} dcmotor_clock_fmi2Component;
+
+dcmotor_clock_fmi2Component dcmotor_clock_component = {
+ .fmi2IntegerVars = {
+ 255 /*pwm._u[1]*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value)
+{
+ MDD_avr_pwm_set(om_pwm, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted)
+{
+ void* om_pwm;
+ om_pwm = MDD_avr_pwm_init(om_timer, om_pin, om_initialValue, om_inverted);
+ return om_pwm;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm)
+{
+ MDD_avr_pwm_close(om_pwm);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component dcmotor_clock_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &dcmotor_clock_component;
+}
+
+fmi2Status dcmotor_clock_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status dcmotor_clock_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 2, 0, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status dcmotor_clock_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status dcmotor_clock_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status dcmotor_clock_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */ = ((comp->currentTime)<(1.0)) ? (255) : (0); /* equation 3 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */);
+}
+
+fmi2Status dcmotor_clock_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ dcmotor_clock_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = dcmotor_clock_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ dcmotor_clock_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ dcmotor_clock_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ dcmotor_clock_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = dcmotor_clock_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop
new file mode 100644
index 0000000..36d8f3b
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop.hex
new file mode 100644
index 0000000..119035b
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop.hex
@@ -0,0 +1,135 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94380134
+:100020000C9451000C9451000C9451000C94070155
+:100030000C9451000C9451000C94D6000C94510077
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E8E3F8E002C0F0
+:1000800005900D92A831B107D9F711E0A8E1B1E0D0
+:1000900001C01D92AD31B107E1F70E94AE010C9491
+:1000A0001A040C940000CF92DF92EF92FF92CF934C
+:1000B000DF93EC01C880D980EA80FB8020E030E04B
+:1000C00040EC50E4C701B6010E9446020E94EB02D8
+:1000D00020E030E040EC50E40E94B7039B01AC010B
+:1000E000C701B6010E94DD016B017C0120E030E018
+:1000F00040E450E40E94420287FF03C08FEF90E08B
+:1001000002C080E090E09D838C8320E030E040E4FA
+:1001100050E4C701B6010E94B30318161CF48FEF18
+:1001200090E002C080E090E09F838E838E899F895B
+:100130008230910561F08330910599F00197C9F4FF
+:1001400016BC80916E00826080936E0016C0109283
+:1001500085001092840080916F00826080936F0010
+:100160000CC01092B2008091700082608093700089
+:1001700004C081E090E00E941A0478949FB7F8943C
+:1001800080911A019FBF8823C9F310921A01EE854E
+:10019000FF858C818083EA89FB898E818083DF9152
+:1001A000CF91FF90EF90DF90CF9008951F920F9224
+:1001B0000FB60F9211242F933F938F939F938091AB
+:1001C00018019091190101969093190180931801DB
+:1001D00080911A01813091F020911801309119011C
+:1001E00080911B0190911C012817390738F081E09C
+:1001F00080931A0110921901109218019F918F910A
+:100200003F912F910F900FBE0F901F9018951F9246
+:100210000F920FB60F9211242F933F938F939F93BA
+:100220008091180190911901019690931901809382
+:10023000180180911A01813091F0209118013091BC
+:10024000190180911B0190911C012817390738F082
+:1002500081E080931A0110921901109218019F9168
+:100260008F913F912F910F900FBE0F901F90189577
+:100270001F920F920FB60F9211242F933F938F93DB
+:100280009F93809118019091190101969093190103
+:100290008093180180911A01813091F0209118010A
+:1002A0003091190180911B0190911C012817390789
+:1002B00038F081E080931A01109219011092180110
+:1002C0009F918F913F912F910F900FBE0F901F9094
+:1002D0001895CF93DF93FC01C1E8D0E088818D6051
+:1002E000888382E090E0918B808B229A40E850E0F6
+:1002F000DA012C9121622C932AE830E0D901119681
+:100300001C921E921C92338B228B28812D60288395
+:1003100095878487219ADA012C9121682C93A8E88B
+:10032000B0E011961C921E921C92B787A68725B545
+:10033000236025BD21E030E0358B248B90931C0198
+:1003400080931B0184B5826084BD89EF87BD378BA4
+:10035000268B80E090E0DF91CF910895CF92DF92DD
+:10036000EF92FF9280E091E00E946901C12CD12CB4
+:10037000760160E070E0CB016093000170930101B1
+:10038000809302019093030180E091E00E9453006A
+:100390008FEFC81AD80AE80AF80AC701B6010E9406
+:1003A000AE022FE632E143E05BE30E94B70320E0B8
+:1003B00030E0A9010E94DE01DFCF5058BB27AA27F9
+:1003C0000ED080C171D130F076D120F031F49F3F52
+:1003D00011F41EF466C10EF4E095E7FB33C1E92F7A
+:1003E00082D180F3BA17620773078407950718F064
+:1003F00071F49EF5B1C10EF4E0950B2EBA2FA02D2D
+:100400000B01B90190010C01CA01A0011124FF27C1
+:10041000591B99F0593F50F4503E68F11A16F040BC
+:10042000A22F232F342F4427585FF3CF46953795BB
+:100430002795A795F0405395C9F77EF41F16BA0B80
+:10044000620B730B840BBAF09150A1F0FF0FBB1F2E
+:10045000661F771F881FC2F70EC0BA0F621F731F77
+:10046000841F48F4879577956795B795F7959E3FD4
+:1004700008F0B3CF9395880F08F09927EE0F979562
+:1004800087950895BBD008F481E008950CD01AC177
+:1004900012D140F009D130F021F45F3F19F0D2C001
+:1004A00051115BC1FEC01FD198F39923C9F35523A5
+:1004B000B1F3951B550BBB27AA2762177307840757
+:1004C00038F09F5F5F4F220F331F441FAA1FA9F30D
+:1004D00033D00E2E3AF0E0E830D091505040E695FF
+:1004E000001CCAF729D0FE2F27D0660F771F881F60
+:1004F000BB1F261737074807AB07B0E809F0BB0B4F
+:10050000802DBF01FF2793585F4F2AF09E3F510572
+:1005100068F098C022C15F3FECF3983EDCF386950B
+:1005200077956795B795F7959F5FC9F7880F911DE8
+:100530009695879597F90895E1E0660F771F881FD4
+:10054000BB1F621773078407BA0720F0621B730B87
+:10055000840BBA0BEE1F88F7E0950895E89409C064
+:1005600097FB3EF490958095709561957F4F8F4FE6
+:100570009F4F9923A9F0F92F96E9BB279395F695FC
+:10058000879577956795B795F111F8CFFAF4BB0F7A
+:1005900011F460FF1BC06F5F7F4F8F4F9F4F16C0DE
+:1005A000882311F096E911C0772321F09EE8872F68
+:1005B000762F05C0662371F096E8862F70E060E024
+:1005C0002AF09A95660F771F881FDAF7880F96959D
+:1005D000879597F90895A9D080F09F3740F491113D
+:1005E0000EF0BBC060E070E080E89FEB089526F459
+:1005F0001B16611D711D811D2BC045C0990F000880
+:10060000550FAA0BE0E8FEEF16161706E807F907E4
+:10061000C0F012161306E407F50798F0621B730B7F
+:10062000840B950B39F40A2661F0232B242B252B00
+:1006300021F408950A2609F4A140A6958FEF811DA3
+:10064000811D089597F99F6780E870E060E0089544
+:10065000882371F4772321F09850872B762F07C0D9
+:10066000662311F499270DC09051862B70E060E04D
+:100670002AF09A95660F771F881FDAF7880F9695EC
+:10068000879597F908959F3F31F0915020F4879511
+:1006900077956795B795880F911D9695879597F9EA
+:1006A00008959FEF80EC089500240A94161617060B
+:1006B00018060906089500240A9412161306140653
+:1006C00005060895092E0394000C11F4882352F0B6
+:1006D000BB0F40F4BF2B11F460FF04C06F5F7F4F6E
+:1006E0008F4F9F4F089557FD9058440F551F59F055
+:1006F0005F3F71F04795880F97FB991F61F09F3F0F
+:1007000079F087950895121613061406551FF2CF37
+:100710004695F1DF08C0161617061806991FF1CF87
+:1007200086957105610508940895E5DFA0F0BEE7A0
+:10073000B91788F4BB279F3860F41616B11D672FD0
+:10074000782F8827985FF7CF869577956795B11DA5
+:1007500093959639C8F30895E894BB2766277727C1
+:10076000CB0197F908954ADF08F48FEF08950BD075
+:10077000A9CF9ADF28F09FDF18F0952309F062CF08
+:1007800090CF1124EACFAFDFA0F3959FD1F3950F5F
+:1007900050E0551F629FF001729FBB27F00DB11D05
+:1007A000639FAA27F00DB11DAA1F649F6627B00D95
+:1007B000A11D661F829F2227B00DA11D621F739F7E
+:1007C000B00DA11D621F839FA00D611D221F749F8C
+:1007D0003327A00D611D231F849F600D211D822FD3
+:1007E000762F6A2F11249F5750408AF0E1F088231A
+:1007F0004AF0EE0FFF1FBB1F661F771F881F915027
+:100800005040A9F79E3F510570F01CCFA6CF5F3F27
+:10081000ECF3983EDCF3869577956795B795F79559
+:10082000E7959F5FC1F7FE2B880F911D96958795E1
+:0808300097F90895F894FFCF39
+:1008380000000000000000006F12033B00000000F1
+:080848000000000000000000A8
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop.sh
new file mode 100644
index 0000000..38ca771
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_dcmotor_loop.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_dcmotor_loop.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections dcmotor_loop_main.c -o dcmotor_loop -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom dcmotor_loop dcmotor_loop.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:dcmotor_loop.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop_main.c
new file mode 100644
index 0000000..581a9d6
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/dcmotor_loop_main.c
@@ -0,0 +1,217 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct dcmotor_loop_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct dcmotor_loop_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Integer fmi2IntegerVars[2];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[6];
+} dcmotor_loop_fmi2Component;
+
+dcmotor_loop_fmi2Component dcmotor_loop_component = {
+ .fmi2IntegerVars = {
+ 0 /*pwm._u[1]*/,
+ 0 /*pwm1._u[1]*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value)
+{
+ MDD_avr_pwm_set(om_pwm, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted)
+{
+ void* om_pwm;
+ om_pwm = MDD_avr_pwm_init(om_timer, om_pin, om_initialValue, om_inverted);
+ return om_pwm;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm)
+{
+ MDD_avr_pwm_close(om_pwm);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component dcmotor_loop_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &dcmotor_loop_component;
+}
+
+fmi2Status dcmotor_loop_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status dcmotor_loop_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[2] /* pwm1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[3] /* pwm1._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[2] /* pwm1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 2, 0, fmi2False);
+ comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 1, 0, fmi2False);
+ comp->extObjs[4] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[5] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[4] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ return fmi2OK;
+}
+
+fmi2Status dcmotor_loop_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status dcmotor_loop_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status dcmotor_loop_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */ = ((om_mod(comp->currentTime,6.0))<(3.0)) ? (255) : (0); /* equation 4 */
+ comp->fmi2IntegerVars[1] /* pwm1._u[1] DISCRETE */ = ((om_mod(comp->currentTime,6.0))>(3.0)) ? (255) : (0); /* equation 5 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[5] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[3] /* pwm1._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[1] /* pwm1._u[1] DISCRETE */);
+}
+
+fmi2Status dcmotor_loop_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ dcmotor_loop_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = dcmotor_loop_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ dcmotor_loop_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ dcmotor_loop_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ dcmotor_loop_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = dcmotor_loop_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_both.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_both.mos
new file mode 100644
index 0000000..c776b9a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_both.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_dcmotor.MDD_dcmotor_both, fileNamePrefix="dcmotor_both");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_clock.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_clock.mos
new file mode 100644
index 0000000..4f2e6ed
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_clock.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_dcmotor.MDD_dcmotor_clock, fileNamePrefix="dcmotor_clock");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_loop.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_loop.mos
new file mode 100644
index 0000000..05800fc
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/dcmotor/runMDD_dcmotor_loop.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_dcmotor.MDD_dcmotor_loop, fileNamePrefix="dcmotor_loop");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led
new file mode 100644
index 0000000..08ef23c
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.hex
new file mode 100644
index 0000000..cc58777
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.hex
@@ -0,0 +1,120 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C9431013B
+:100020000C9451000C9451000C9451000C9400015C
+:100030000C9451000C9451000C94CF000C9451007E
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E4E4F7E002C0F4
+:1000800005900D92AE31B107D9F711E0AEE1B1E0C4
+:1000900001C01D92A332B107E1F70E948B010C94BD
+:1000A000A0030C9400000F931F93CF93DF93EC01F8
+:1000B00080917C00857E856080937C0080917A00B1
+:1000C000806480937A0080917A0086FDFCCF6091F5
+:1000D00078007091790080E090E00E94870220E033
+:1000E00030E040E854E40E94190320E030EC4FE790
+:1000F00054E40E941F026C837D838E839F8301E002
+:1001000010E02E853F85488959890E9415031816ED
+:1001100014F000E010E01D870C878C8D9D8D8230DF
+:10012000910561F08330910599F00197C9F416BCEF
+:1001300080916E00826080936E0016C010928500E0
+:100140001092840080916F00826080936F000CC0D9
+:100150001092B2008091700082608093700004C0A1
+:1001600081E090E00E94A00378949FB7F89480917A
+:1001700020019FBF8823C9F310922001E88DF98DDB
+:100180008C859D85892B19F08081826002C08081D9
+:100190008D7F8083DF91CF911F910F9108951F92E2
+:1001A0000F920FB60F9211242F933F938F939F932B
+:1001B00080911E0190911F01019690931F018093E1
+:1001C0001E0180912001813091F020911E0130911B
+:1001D0001F0180912101909122012817390738F0E1
+:1001E00081E08093200110921F0110921E019F91C7
+:1001F0008F913F912F910F900FBE0F901F901895E8
+:100200001F920F920FB60F9211242F933F938F934B
+:100210009F9380911E0190911F01019690931F0161
+:1002200080931E0180912001813091F020911E0168
+:1002300030911F01809121019091220128173907E7
+:1002400038F081E08093200110921F0110921E016E
+:100250009F918F913F912F910F900FBE0F901F9004
+:1002600018951F920F920FB60F9211242F933F9360
+:100270008F939F9380911E0190911F0101969093FF
+:100280001F0180931E0180912001813091F0209107
+:100290001E0130911F0180912101909122012817A8
+:1002A000390738F081E08093200110921F011092ED
+:1002B0001E019F918F913F912F910F900FBE0F9034
+:1002C0001F901895FC01ACE7B0E08C91806C8C938A
+:1002D000AAE7B0E08C9187688C93178A168A219AD6
+:1002E00085E290E0918F808F85B5836085BD81E048
+:1002F00090E0938F828F22E030E0309322012093B0
+:10030000210124B5226024BD29EF27BD958F848F5C
+:1003100080E090E00895CF92DF92EF92FF9280E02C
+:1003200091E00E946201C12CD12C760160E070E066
+:10033000CB016093000170930101809302019093BF
+:10034000030180E091E00E9453008FEFC81AD80AA1
+:10035000E80AF80AC701B6010E9487022FE632E1D7
+:1003600043E05BE30E94190320E030E0A9010E9412
+:10037000BB01DFCF5058BB27AA270ED01CC10DD11F
+:1003800030F012D120F031F49F3F11F41EF402C17D
+:100390000EF4E095E7FBF8C0E92F1ED180F3BA1701
+:1003A000620773078407950718F071F49EF536C14C
+:1003B0000EF4E0950B2EBA2FA02D0B01B901900180
+:1003C0000C01CA01A0011124FF27591B99F0593FC4
+:1003D00050F4503E68F11A16F040A22F232F342F0C
+:1003E0004427585FF3CF469537952795A795F0405A
+:1003F0005395C9F77EF41F16BA0B620B730B840B6F
+:10040000BAF09150A1F0FF0FBB1F661F771F881F26
+:10041000C2F70EC0BA0F621F731F841F48F487957E
+:1004200077956795B795F7959E3F08F0B3CF93956D
+:10043000880F08F09927EE0F9795879508950CD0AF
+:10044000BAC0B2D040F0A9D030F021F45F3F19F02B
+:100450009BC05111E4C09EC0BFD098F39923C9F34B
+:100460005523B1F3951B550BBB27AA2762177307BA
+:10047000840738F09F5F5F4F220F331F441FAA1F6E
+:10048000A9F333D00E2E3AF0E0E830D0915050402E
+:10049000E695001CCAF729D0FE2F27D0660F771FDC
+:1004A000881FBB1F261737074807AB07B0E809F0BE
+:1004B000BB0B802DBF01FF2793585F4F2AF09E3F53
+:1004C000510568F061C0ABC05F3FECF3983EDCF3D0
+:1004D000869577956795B795F7959F5FC9F7880FCC
+:1004E000911D9695879597F90895E1E0660F771F1E
+:1004F000881FBB1F621773078407BA0720F0621BAF
+:10050000730B840BBA0BEE1F88F7E0950895E894FF
+:1005100009C097FB3EF490958095709561957F4F4B
+:100520008F4F9F4F9923A9F0F92F96E9BB279395F9
+:10053000F695879577956795B795F111F8CFFAF409
+:10054000BB0F11F460FF1BC06F5F7F4F8F4F9F4F3A
+:1005500016C0882311F096E911C0772321F09EE898
+:10056000872F762F05C0662371F096E8862F70E0FE
+:1005700060E02AF09A95660F771F881FDAF7880FD8
+:100580009695879597F9089597F99F6780E870E0A9
+:1005900060E008959FEF80EC089500240A941616F9
+:1005A000170618060906089500240A941216130661
+:1005B000140605060895092E0394000C11F48823EF
+:1005C00052F0BB0F40F4BF2B11F460FF04C06F5F0B
+:1005D0007F4F8F4F9F4F089557FD9058440F551FE1
+:1005E00059F05F3F71F04795880F97FB991F61F0B5
+:1005F0009F3F79F087950895121613061406551F2C
+:10060000F2CF4695F1DF08C0161617061806991F97
+:10061000F1CF86957105610508940895E894BB278C
+:1006200066277727CB0197F9089566D008F48FEFF6
+:1006300008950BD0C0CFB1DF28F0B6DF18F09523B6
+:1006400009F0A2CFA7CF1124EACFC6DFA0F3959F70
+:10065000D1F3950F50E0551F629FF001729FBB27A9
+:10066000F00DB11D639FAA27F00DB11DAA1F649F55
+:100670006627B00DA11D661F829F2227B00DA11D08
+:10068000621F739FB00DA11D621F839FA00D611D8E
+:10069000221F749F3327A00D611D231F849F600DAF
+:1006A000211D822F762F6A2F11249F5750408AF0E8
+:1006B000E1F088234AF0EE0FFF1FBB1F661F771F74
+:1006C000881F91505040A9F79E3F510570F05CCFB4
+:1006D000A6CF5F3FECF3983EDCF386957795679560
+:1006E000B795F795E7959F5FC1F7FE2B880F911D92
+:1006F0009695879597F90895990F0008550FAA0BBD
+:10070000E0E8FEEF16161706E807F907C0F0121624
+:100710001306E407F50798F0621B730B840B950B27
+:1007200039F40A2661F0232B242B252B21F408957C
+:100730000A2609F4A140A6958FEF811D811D089519
+:04074000F894FFCF5B
+:1007440000000000000000000000000000000000A5
+:0E07540016446F12033B00000000000000007E
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.sh
new file mode 100644
index 0000000..48dfad2
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_ldr_led.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_ldr_led.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections ldr_led_main.c -o ldr_led -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom ldr_led ldr_led.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:ldr_led.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.sh~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.sh~
new file mode 100644
index 0000000..48dfad2
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led.sh~
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_ldr_led.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_ldr_led.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections ldr_led_main.c -o ldr_led -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom ldr_led ldr_led.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:ldr_led.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led_main.c
new file mode 100644
index 0000000..3b4bcd7
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_led_main.c
@@ -0,0 +1,243 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct ldr_led_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct ldr_led_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[1];
+ fmi2Boolean fmi2BooleanVars[3];
+ fmi2Real fmi2RealParameter[2];
+ void* extObjs[4];
+} ldr_led_fmi2Component;
+
+ldr_led_fmi2Component ldr_led_component = {
+ .fmi2RealVars = {
+ 0.0 /*adc._y*/,
+ },
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ fmi2False /*booleanExpression2._y*/,
+ fmi2False /*digitalWriteBoolean1._u*/,
+ },
+ .fmi2RealParameter = {
+ 600.0 /*greaterThreshold1._threshold*/,
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+static const char * const OMCLIT0 = "ElectricPotential";
+static const char * const OMCLIT1 = "V";
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+#include "MDDAVRAnalog.h"
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution)
+{
+ fmi2Real om_value;
+ om_value = MDD_avr_analog_read(om_analogPort, om_vref, om_voltageResolution);
+ return om_value;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage)
+{
+ void* om_avr;
+ om_avr = MDD_avr_analog_init(om_divisionFactor, om_referenceVoltage);
+ return om_avr;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr)
+{
+ MDD_avr_analog_close(om_avr);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component ldr_led_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &ldr_led_component;
+}
+
+fmi2Status ldr_led_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status ldr_led_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* adc._analog EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Analog.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(comp, 7, 4);
+ comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ return fmi2OK;
+}
+
+fmi2Status ldr_led_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status ldr_led_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status ldr_led_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* adc._y variable */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(comp, 6, 1024.0, 10); /* equation 6 */
+ comp->fmi2BooleanVars[2] /* digitalWriteBoolean1._u DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>(comp->fmi2RealParameter[0] /* greaterThreshold1._threshold PARAM */); /* equation 7 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, comp->fmi2BooleanVars[2] /* digitalWriteBoolean1._u DISCRETE */);
+}
+
+fmi2Status ldr_led_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ ldr_led_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = ldr_led_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ ldr_led_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ ldr_led_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ ldr_led_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = ldr_led_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_read.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_read.sh
new file mode 100644
index 0000000..ead2010
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_read.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_ldr_read.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_ldr_read.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections ldr_read_main.c -o ldr_read -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom ldr_read ldr_read.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:ldr_read.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_read.sh~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_read.sh~
new file mode 100644
index 0000000..f9c21db
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/ldr_read.sh~
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_ldr_read.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_ldr_read.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections ldr_read_main.c -o ldr_read -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom ldr_read ldr_read.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:ldr_read.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_led.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_led.mos
new file mode 100644
index 0000000..ff9d4a1
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_led.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/sumeet/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/sumeet/MDD_Arduino/linux-version-4/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_ldr.MDD_ldr_led, fileNamePrefix="ldr_led");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_led.mos~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_led.mos~
new file mode 100644
index 0000000..76aef31
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_led.mos~
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_ldr.MDD_ldr_led, fileNamePrefix="ldr_led");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_read.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_read.mos
new file mode 100644
index 0000000..ff9d4a1
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_read.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/sumeet/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/sumeet/MDD_Arduino/linux-version-4/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_ldr.MDD_ldr_led, fileNamePrefix="ldr_led");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_read.mos~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_read.mos~
new file mode 100644
index 0000000..76aef31
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/ldr/runMDD_ldr_read.mos~
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_ldr.MDD_ldr_led, fileNamePrefix="ldr_led");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_led_blink.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_led_blink.hex
new file mode 100644
index 0000000..89858ca
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_led_blink.hex
@@ -0,0 +1,114 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C942A0142
+:100020000C9451000C9451000C9451000C94F90064
+:100030000C9451000C9451000C94C8000C94510085
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E4EFF6E002C0EA
+:1000800005900D92A031B107D9F711E0A0E1B1E0E0
+:1000900001C01D92A531B107E1F70E9478010C94CF
+:1000A00078030C940000CF92DF92EF92FF920F93AF
+:1000B0001F93CF93DF93EC01C880D980EA80FB8047
+:1000C00020E030E040E05FE3C701B6010E94F102AA
+:1000D0000E9449029B01AC010E94A8019B01AC0156
+:1000E000C701B6010E94A70101E010E020E030E066
+:1000F00040E85FE30E94ED0287FF02C000E010E0ED
+:100100001D830C838E859F858230910561F083303D
+:10011000910599F00197C9F416BC80916E00826038
+:1001200080936E0016C0109285001092840080911A
+:100130006F00826080936F000CC01092B2008091BB
+:10014000700082608093700004C081E090E00E94A3
+:10015000780378949FB7F894809112019FBF882309
+:10016000C9F310921201EA85FB858C819D81892B50
+:1001700019F08081806202C080818F7D8083DF9151
+:10018000CF911F910F91FF90EF90DF90CF90089546
+:100190001F920F920FB60F9211242F933F938F93BC
+:1001A0009F938091100190911101019690931101FC
+:1001B0008093100180911201813091F02091100103
+:1001C0003091110180911301909114012817390782
+:1001D00038F081E080931201109211011092100109
+:1001E0009F918F913F912F910F900FBE0F901F9075
+:1001F00018951F920F920FB60F9211242F933F93D1
+:100200008F939F938091100190911101019690938B
+:1002100011018093100180911201813091F02091A1
+:100220001001309111018091130190911401281750
+:10023000390738F081E08093120110921101109279
+:1002400010019F918F913F912F910F900FBE0F90B2
+:100250001F9018951F920F920FB60F9211242F9393
+:100260003F938F939F93809110019091110101967C
+:10027000909311018093100180911201813091F0CF
+:10028000209110013091110180911301909114017E
+:100290002817390738F081E080931201109211017C
+:1002A000109210019F918F913F912F910F900FBE4F
+:1002B0000F901F901895FC0185B5836085BD81E086
+:1002C00090E09587848722E030E0309314012093FA
+:1002D000130124B5226024BD29EF27BD97878687A7
+:1002E000259A85E290E09387828780E090E00895E8
+:1002F000CF92DF92EF92FF9280E091E00E945B014B
+:10030000C12CD12C760160E070E0CB01609300013C
+:1003100070930101809302019093030180E091E0CA
+:100320000E9453008FEFC81AD80AE80AF80AC701DA
+:10033000B6010E940C022FE632E143E05BE30E942B
+:10034000F10220E030E0A9010E94A801DFCF50585F
+:10035000BB27AA270ED0F0C0E1D030F0E6D020F0C5
+:1003600031F49F3F11F41EF4D6C00EF4E095E7FB84
+:10037000A3C0E92FF2D080F3BA176207730784078E
+:10038000950718F071F49EF521C10EF4E0950B2E3F
+:10039000BA2FA02D0B01B90190010C01CA01A001D7
+:1003A0001124FF27591B99F0593F50F4503E68F132
+:1003B0001A16F040A22F232F342F4427585FF3CF73
+:1003C000469537952795A795F0405395C9F77EF444
+:1003D0001F16BA0B620B730B840BBAF09150A1F08D
+:1003E000FF0FBB1F661F771F881FC2F70EC0BA0F13
+:1003F000621F731F841F48F4879577956795B7959B
+:10040000F7959E3F08F0B3CF9395880F08F0992792
+:10041000EE0F979587950895E89409C097FB3EF4F1
+:1004200090958095709561957F4F8F4F9F4F992341
+:10043000A9F0F92F96E9BB279395F69587957795BF
+:100440006795B795F111F8CFFAF4BB0F11F460FF7F
+:100450001BC06F5F7F4F8F4F9F4F16C0882311F0D7
+:1004600096E911C0772321F09EE8872F762F05C0EB
+:10047000662371F096E8862F70E060E02AF09A9586
+:10048000660F771F881FDAF7880F9695879597F97B
+:10049000089585D080F09F3740F491110EF097C0F9
+:1004A00060E070E080E89FEB089526F41B16611D64
+:1004B000711D811D07C021C097F99F6780E870E01A
+:1004C00060E00895882371F4772321F09850872BFA
+:1004D000762F07C0662311F499270DC09051862B03
+:1004E00070E060E02AF09A95660F771F881FDAF7B0
+:1004F000880F9695879597F908959F3F31F0915011
+:1005000020F4879577956795B795880F911D9695F7
+:10051000879597F908959FEF80EC089500240A9439
+:100520001616170618060906089500240A941216CE
+:100530001306140605060895092E0394000C11F401
+:10054000882352F0BB0F40F4BF2B11F460FF04C0AE
+:100550006F5F7F4F8F4F9F4F089557FD9058440F07
+:10056000551F59F05F3F71F04795880F97FB991F12
+:1005700061F09F3F79F087950895121613061406CF
+:10058000551FF2CF4695F1DF08C01616170618065C
+:10059000991FF1CF86957105610508940895E5DFEF
+:1005A000A0F0BEE7B91788F4BB279F3860F4161691
+:1005B000B11D672F782F8827985FF7CF869577959D
+:1005C0006795B11D93959639C8F30895E894BB27B4
+:1005D00066277727CB0197F9089566D008F48FEF47
+:1005E00008950BD0A9CF9ADF28F09FDF18F095234C
+:1005F00009F062CF90CF1124EACFAFDFA0F3959F2F
+:10060000D1F3950F50E0551F629FF001729FBB27F9
+:10061000F00DB11D639FAA27F00DB11DAA1F649FA5
+:100620006627B00DA11D661F829F2227B00DA11D58
+:10063000621F739FB00DA11D621F839FA00D611DDE
+:10064000221F749F3327A00D611D231F849F600DFF
+:10065000211D822F762F6A2F11249F5750408AF038
+:10066000E1F088234AF0EE0FFF1FBB1F661F771FC4
+:10067000881F91505040A9F79E3F510570F01CCF44
+:10068000A6CF5F3FECF3983EDCF3869577956795B0
+:10069000B795F795E7959F5FC1F7FE2B880F911DE2
+:1006A0009695879597F90895990F0008550FAA0B0D
+:1006B000E0E8FEEF16161706E807F907C0F0121675
+:1006C0001306E407F50798F0621B730B840B950B78
+:1006D00039F40A2661F0232B242B252B21F40895CD
+:1006E0000A2609F4A140A6958FEF811D811D08956A
+:0406F000F894FFCFAC
+:1006F4000000000000006F12033B00000000000037
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_led_blue.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_led_blue.hex
new file mode 100644
index 0000000..05d7448
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_led_blue.hex
@@ -0,0 +1,93 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94E50088
+:100020000C9451000C9451000C9451000C94B400A9
+:100030000C9451000C9451000C9483000C945100CA
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0EAEAF5E002C0EA
+:1000800005900D92A031B107D9F721E0A0E1B1E0D0
+:1000900001C01D92A531B207E1F70E9433010C9413
+:1000A000D3020C9400008230910561F083309105F9
+:1000B00099F00197C9F416BC80916E00826080931C
+:1000C0006E0016C0109285001092840080916F001F
+:1000D000826080936F000CC01092B200809170001B
+:1000E00082608093700004C081E090E00E94D3029F
+:1000F00078949FB7F894809112019FBF8823C9F329
+:100100001092120108951F920F920FB60F921124B0
+:100110002F933F938F939F938091100190911101A2
+:10012000019690931101809310018091120181300A
+:1001300091F0209110013091110180911301909163
+:1001400014012817390738F081E0809312011092CA
+:100150001101109210019F918F913F912F910F905B
+:100160000FBE0F901F9018951F920F920FB60F920F
+:1001700011242F933F938F939F938091100190911F
+:100180001101019690931101809310018091120149
+:10019000813091F020911001309111018091130173
+:1001A000909114012817390738F081E080931201EB
+:1001B00010921101109210019F918F913F912F91F8
+:1001C0000F900FBE0F901F9018951F920F920FB6B1
+:1001D0000F9211242F933F938F939F93809110013F
+:1001E00090911101019690931101809310018091DB
+:1001F0001201813091F02091100130911101809114
+:100200001301909114012817390738F081E0809389
+:10021000120110921101109210019F918F913F9144
+:100220002F910F900FBE0F901F901895FC01219AEF
+:1002300085E290E09387828785B5836085BD21E064
+:1002400030E03587248782E090E09093140180931A
+:10025000130184B5826084BD89EF87BD3787268707
+:1002600080E090E00895CF92DF92EF92FF9280E0DD
+:1002700091E00E941601C12CD12C760160E070E063
+:10028000CB01609300017093010180930201909370
+:10029000030180910E0190910F010E945300E091A3
+:1002A0000A01F0910B018081826080838FEFC81A70
+:1002B000D80AE80AF80AC701B6010E94D8012FE659
+:1002C00032E143E05BE30E94660220E030E0A901F6
+:1002D0000E946C01D6CF5058BB27AA270E948301E9
+:1002E0000C942C020E941E0238F00E94250220F07D
+:1002F00039F49F3F19F426F40C941B020EF4E09598
+:10030000E7FB0C941502E92F0E943D0258F3BA173F
+:10031000620773078407950720F079F4A6F50C941B
+:100320005F020EF4E0950B2EBA2FA02D0B01B90140
+:1003300090010C01CA01A0011124FF27591B99F05B
+:10034000593F50F4503E68F11A16F040A22F232F67
+:10035000342F4427585FF3CF469537952795A795B7
+:10036000F0405395C9F77EF41F16BA0B620B730B5E
+:10037000840BBAF09150A1F0FF0FBB1F661F771FCF
+:10038000881FC2F70EC0BA0F621F731F841F48F484
+:10039000879577956795B795F7959E3F08F0B0CF0D
+:1003A0009395880F08F09927EE0F979587950895F4
+:1003B000E89409C097FB3EF49095809570956195FF
+:1003C0007F4F8F4F9F4F9923A9F0F92F96E9BB27B5
+:1003D0009395F695879577956795B795F111F8CF31
+:1003E000FAF4BB0F11F460FF1BC06F5F7F4F8F4F9C
+:1003F0009F4F16C0882311F096E911C0772321F092
+:100400009EE8872F762F05C0662371F096E8862F29
+:1004100070E060E02AF09A95660F771F881FDAF780
+:10042000880F9695879597F9089597F99F6780E8C3
+:1004300070E060E008959FEF80EC089500240A9436
+:100440001616170618060906089500240A941216AF
+:100450001306140605060895092E0394000C11F4E2
+:10046000882352F0BB0F40F4BF2B11F460FF04C08F
+:100470006F5F7F4F8F4F9F4F089557FD9058440FE8
+:10048000551F59F05F3F71F04795880F97FB991FF3
+:1004900061F09F3F79F087950895121613061406B0
+:1004A000551FF2CF4695F1DF08C01616170618063D
+:1004B000991FF1CF86957105610508940895E89418
+:1004C000BB2766277727CB0197F908950E94790209
+:1004D0000C942C020E941E0238F00E94250220F08B
+:1004E000952311F00C9415020C941B0211240C940A
+:1004F00060020E943D0270F3959FC1F3950F50E09A
+:10050000551F629FF001729FBB27F00DB11D639FC5
+:10051000AA27F00DB11DAA1F649F6627B00DA11D6B
+:10052000661F829F2227B00DA11D621F739FB00D11
+:10053000A11D621F839FA00D611D221F749F332781
+:10054000A00D611D231F849F600D211D822F762F1A
+:100550006A2F11249F5750409AF0F1F088234AF0F7
+:10056000EE0FFF1FBB1F661F771F881F9150504063
+:10057000A9F79E3F510580F00C9415020C9460027F
+:100580005F3FE4F3983ED4F3869577956795B795EA
+:10059000F795E7959F5FC1F7FE2B880F911D969504
+:0A05A000879597F90895F894FFCFAE
+:1005AA000000000000006F12033B00000000000082
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_traffic_light b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_traffic_light
new file mode 100755
index 0000000..9616b97
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_traffic_light
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_traffic_light.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_traffic_light.hex
new file mode 100644
index 0000000..95ea020
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/MDD_traffic_light.hex
@@ -0,0 +1,95 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94E50088
+:100020000C9451000C9451000C9451000C94B400A9
+:100030000C9451000C9451000C9483000C945100CA
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E6ECF5E002C0EC
+:1000800005900D92A031B107D9F721E0A0E1B1E0D0
+:1000900001C01D92A531B207E1F70E9441010C9405
+:1000A000E1020C9400008230910561F083309105EB
+:1000B00099F00197C9F416BC80916E00826080931C
+:1000C0006E0016C0109285001092840080916F001F
+:1000D000826080936F000CC01092B200809170001B
+:1000E00082608093700004C081E090E00E94E10291
+:1000F00078949FB7F894809112019FBF8823C9F329
+:100100001092120108951F920F920FB60F921124B0
+:100110002F933F938F939F938091100190911101A2
+:10012000019690931101809310018091120181300A
+:1001300091F0209110013091110180911301909163
+:1001400014012817390738F081E0809312011092CA
+:100150001101109210019F918F913F912F910F905B
+:100160000FBE0F901F9018951F920F920FB60F920F
+:1001700011242F933F938F939F938091100190911F
+:100180001101019690931101809310018091120149
+:10019000813091F020911001309111018091130173
+:1001A000909114012817390738F081E080931201EB
+:1001B00010921101109210019F918F913F912F91F8
+:1001C0000F900FBE0F901F9018951F920F920FB6B1
+:1001D0000F9211242F933F938F939F93809110013F
+:1001E00090911101019690931101809310018091DB
+:1001F0001201813091F02091100130911101809114
+:100200001301909114012817390738F081E0809389
+:10021000120110921101109210019F918F913F9144
+:100220002F910F900FBE0F901F901895DC01E0E00A
+:10023000F0E08081806180831B961C921E921A9749
+:10024000E1E8F0E080818360808322E030E01D9669
+:100250003C932E931C9781E090E09093140180933F
+:10026000130180818860808389EF90E090938900FA
+:10027000809388001F963C932E931E9780E090E019
+:100280000895CF92DF92EF92FF9280E091E00E947A
+:100290001601C12CD12C760160E070E0CB01609397
+:1002A00000017093010180930201909303018091FA
+:1002B0000E0190910F010E945300E0910A01F0910C
+:1002C0000B018081806180838FEFC81AD80AE80A09
+:1002D000F80AC701B6010E94E6012FE632E143E0C9
+:1002E0005BE30E94740220E030E0A9010E947A01E1
+:1002F000D6CF5058BB27AA270E9491010C943A02EE
+:100300000E942C0238F00E94330220F039F49F3F03
+:1003100019F426F40C9429020EF4E095E7FB0C94F2
+:100320002302E92F0E944B0258F3BA1762077307A2
+:100330008407950720F079F4A6F50C946D020EF46D
+:10034000E0950B2EBA2FA02D0B01B90190010C01E5
+:10035000CA01A0011124FF27591B99F0593F50F4FD
+:10036000503E68F11A16F040A22F232F342F442755
+:10037000585FF3CF469537952795A795F04053954D
+:10038000C9F77EF41F16BA0B620B730B840BBAF01D
+:100390009150A1F0FF0FBB1F661F771F881FC2F788
+:1003A0000EC0BA0F621F731F841F48F4879577959C
+:1003B0006795B795F7959E3F08F0B0CF9395880F56
+:1003C00008F09927EE0F979587950895E89409C04E
+:1003D00097FB3EF490958095709561957F4F8F4F78
+:1003E0009F4F9923A9F0F92F96E9BB279395F6958E
+:1003F000879577956795B795F111F8CFFAF4BB0F0C
+:1004000011F460FF1BC06F5F7F4F8F4F9F4F16C06F
+:10041000882311F096E911C0772321F09EE8872FF9
+:10042000762F05C0662371F096E8862F70E060E0B5
+:100430002AF09A95660F771F881FDAF7880F96952E
+:10044000879597F9089597F99F6780E870E060E0D5
+:1004500008959FEF80EC089500240A94161617065D
+:1004600018060906089500240A94121613061406A5
+:1004700005060895092E0394000C11F4882352F008
+:10048000BB0F40F4BF2B11F460FF04C06F5F7F4FC0
+:100490008F4F9F4F089557FD9058440F551F59F0A7
+:1004A0005F3F71F04795880F97FB991F61F09F3F61
+:1004B00079F087950895121613061406551FF2CF8A
+:1004C0004695F1DF08C0161617061806991FF1CFDA
+:1004D00086957105610508940895E894BB27662701
+:1004E0007727CB0197F908950E9487020C943A026E
+:1004F0000E942C0238F00E94330220F0952311F064
+:100500000C9423020C94290211240C946E020E9474
+:100510004B0270F3959FC1F3950F50E0551F629FFA
+:10052000F001729FBB27F00DB11D639FAA27F00D4C
+:10053000B11DAA1F649F6627B00DA11D661F829F73
+:100540002227B00DA11D621F739FB00DA11D621F58
+:10055000839FA00D611D221F749F3327A00D611D75
+:10056000231F849F600D211D822F762F6A2F112457
+:100570009F5750409AF0F1F088234AF0EE0FFF1F8A
+:10058000BB1F661F771F881F91505040A9F79E3FE1
+:10059000510580F00C9423020C946E025F3FE4F34B
+:1005A000983ED4F3869577956795B795F795E79537
+:1005B0009F5FC1F7FE2B880F911D9695879597F940
+:0605C0000895F894FFCF3E
+:1005C6000000000000006F12033B00000000000066
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink
new file mode 100644
index 0000000..3953004
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink.hex
new file mode 100644
index 0000000..89858ca
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink.hex
@@ -0,0 +1,114 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C942A0142
+:100020000C9451000C9451000C9451000C94F90064
+:100030000C9451000C9451000C94C8000C94510085
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E4EFF6E002C0EA
+:1000800005900D92A031B107D9F711E0A0E1B1E0E0
+:1000900001C01D92A531B107E1F70E9478010C94CF
+:1000A00078030C940000CF92DF92EF92FF920F93AF
+:1000B0001F93CF93DF93EC01C880D980EA80FB8047
+:1000C00020E030E040E05FE3C701B6010E94F102AA
+:1000D0000E9449029B01AC010E94A8019B01AC0156
+:1000E000C701B6010E94A70101E010E020E030E066
+:1000F00040E85FE30E94ED0287FF02C000E010E0ED
+:100100001D830C838E859F858230910561F083303D
+:10011000910599F00197C9F416BC80916E00826038
+:1001200080936E0016C0109285001092840080911A
+:100130006F00826080936F000CC01092B2008091BB
+:10014000700082608093700004C081E090E00E94A3
+:10015000780378949FB7F894809112019FBF882309
+:10016000C9F310921201EA85FB858C819D81892B50
+:1001700019F08081806202C080818F7D8083DF9151
+:10018000CF911F910F91FF90EF90DF90CF90089546
+:100190001F920F920FB60F9211242F933F938F93BC
+:1001A0009F938091100190911101019690931101FC
+:1001B0008093100180911201813091F02091100103
+:1001C0003091110180911301909114012817390782
+:1001D00038F081E080931201109211011092100109
+:1001E0009F918F913F912F910F900FBE0F901F9075
+:1001F00018951F920F920FB60F9211242F933F93D1
+:100200008F939F938091100190911101019690938B
+:1002100011018093100180911201813091F02091A1
+:100220001001309111018091130190911401281750
+:10023000390738F081E08093120110921101109279
+:1002400010019F918F913F912F910F900FBE0F90B2
+:100250001F9018951F920F920FB60F9211242F9393
+:100260003F938F939F93809110019091110101967C
+:10027000909311018093100180911201813091F0CF
+:10028000209110013091110180911301909114017E
+:100290002817390738F081E080931201109211017C
+:1002A000109210019F918F913F912F910F900FBE4F
+:1002B0000F901F901895FC0185B5836085BD81E086
+:1002C00090E09587848722E030E0309314012093FA
+:1002D000130124B5226024BD29EF27BD97878687A7
+:1002E000259A85E290E09387828780E090E00895E8
+:1002F000CF92DF92EF92FF9280E091E00E945B014B
+:10030000C12CD12C760160E070E0CB01609300013C
+:1003100070930101809302019093030180E091E0CA
+:100320000E9453008FEFC81AD80AE80AF80AC701DA
+:10033000B6010E940C022FE632E143E05BE30E942B
+:10034000F10220E030E0A9010E94A801DFCF50585F
+:10035000BB27AA270ED0F0C0E1D030F0E6D020F0C5
+:1003600031F49F3F11F41EF4D6C00EF4E095E7FB84
+:10037000A3C0E92FF2D080F3BA176207730784078E
+:10038000950718F071F49EF521C10EF4E0950B2E3F
+:10039000BA2FA02D0B01B90190010C01CA01A001D7
+:1003A0001124FF27591B99F0593F50F4503E68F132
+:1003B0001A16F040A22F232F342F4427585FF3CF73
+:1003C000469537952795A795F0405395C9F77EF444
+:1003D0001F16BA0B620B730B840BBAF09150A1F08D
+:1003E000FF0FBB1F661F771F881FC2F70EC0BA0F13
+:1003F000621F731F841F48F4879577956795B7959B
+:10040000F7959E3F08F0B3CF9395880F08F0992792
+:10041000EE0F979587950895E89409C097FB3EF4F1
+:1004200090958095709561957F4F8F4F9F4F992341
+:10043000A9F0F92F96E9BB279395F69587957795BF
+:100440006795B795F111F8CFFAF4BB0F11F460FF7F
+:100450001BC06F5F7F4F8F4F9F4F16C0882311F0D7
+:1004600096E911C0772321F09EE8872F762F05C0EB
+:10047000662371F096E8862F70E060E02AF09A9586
+:10048000660F771F881FDAF7880F9695879597F97B
+:10049000089585D080F09F3740F491110EF097C0F9
+:1004A00060E070E080E89FEB089526F41B16611D64
+:1004B000711D811D07C021C097F99F6780E870E01A
+:1004C00060E00895882371F4772321F09850872BFA
+:1004D000762F07C0662311F499270DC09051862B03
+:1004E00070E060E02AF09A95660F771F881FDAF7B0
+:1004F000880F9695879597F908959F3F31F0915011
+:1005000020F4879577956795B795880F911D9695F7
+:10051000879597F908959FEF80EC089500240A9439
+:100520001616170618060906089500240A941216CE
+:100530001306140605060895092E0394000C11F401
+:10054000882352F0BB0F40F4BF2B11F460FF04C0AE
+:100550006F5F7F4F8F4F9F4F089557FD9058440F07
+:10056000551F59F05F3F71F04795880F97FB991F12
+:1005700061F09F3F79F087950895121613061406CF
+:10058000551FF2CF4695F1DF08C01616170618065C
+:10059000991FF1CF86957105610508940895E5DFEF
+:1005A000A0F0BEE7B91788F4BB279F3860F4161691
+:1005B000B11D672F782F8827985FF7CF869577959D
+:1005C0006795B11D93959639C8F30895E894BB27B4
+:1005D00066277727CB0197F9089566D008F48FEF47
+:1005E00008950BD0A9CF9ADF28F09FDF18F095234C
+:1005F00009F062CF90CF1124EACFAFDFA0F3959F2F
+:10060000D1F3950F50E0551F629FF001729FBB27F9
+:10061000F00DB11D639FAA27F00DB11DAA1F649FA5
+:100620006627B00DA11D661F829F2227B00DA11D58
+:10063000621F739FB00DA11D621F839FA00D611DDE
+:10064000221F749F3327A00D611D231F849F600DFF
+:10065000211D822F762F6A2F11249F5750408AF038
+:10066000E1F088234AF0EE0FFF1FBB1F661F771FC4
+:10067000881F91505040A9F79E3F510570F01CCF44
+:10068000A6CF5F3FECF3983EDCF3869577956795B0
+:10069000B795F795E7959F5FC1F7FE2B880F911DE2
+:1006A0009695879597F90895990F0008550FAA0B0D
+:1006B000E0E8FEEF16161706E807F907C0F0121675
+:1006C0001306E407F50798F0621B730B840B950B78
+:1006D00039F40A2661F0232B242B252B21F40895CD
+:1006E0000A2609F4A140A6958FEF811D811D08956A
+:0406F000F894FFCFAC
+:1006F4000000000000006F12033B00000000000037
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink.sh
new file mode 100644
index 0000000..cd9e818
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_led_blink.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_led_blink.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections led_blink_main.c -o led_blink -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom led_blink led_blink.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:led_blink.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink_main.c
new file mode 100644
index 0000000..bcf2661
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blink_main.c
@@ -0,0 +1,212 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct led_blink_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct led_blink_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[3];
+} led_blink_fmi2Component;
+
+led_blink_fmi2Component led_blink_component = {
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component led_blink_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &led_blink_component;
+}
+
+fmi2Status led_blink_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status led_blink_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 6);
+ return fmi2OK;
+}
+
+fmi2Status led_blink_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status led_blink_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status led_blink_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */ = (om_mod(comp->currentTime,2.0))>=(1.0); /* equation 3 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 6, comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */);
+}
+
+fmi2Status led_blink_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ led_blink_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = led_blink_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ led_blink_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ led_blink_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ led_blink_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = led_blink_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue
new file mode 100755
index 0000000..f4d2d19
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue.hex
new file mode 100644
index 0000000..f36052a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue.hex
@@ -0,0 +1,91 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94E50088
+:100020000C9451000C9451000C9451000C94B400A9
+:100030000C9451000C9451000C9483000C945100CA
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E6E8F5E002C0F0
+:1000800005900D92A031B107D9F711E0A0E1B1E0E0
+:1000900001C01D92A531B107E1F70E9433010C9414
+:1000A000C1020C9400008230910561F0833091050B
+:1000B00099F00197C9F416BC80916E00826080931C
+:1000C0006E0016C0109285001092840080916F001F
+:1000D000826080936F000CC01092B200809170001B
+:1000E00082608093700004C081E090E00E94C102B1
+:1000F00078949FB7F894809112019FBF8823C9F329
+:100100001092120108951F920F920FB60F921124B0
+:100110002F933F938F939F938091100190911101A2
+:10012000019690931101809310018091120181300A
+:1001300091F0209110013091110180911301909163
+:1001400014012817390738F081E0809312011092CA
+:100150001101109210019F918F913F912F910F905B
+:100160000FBE0F901F9018951F920F920FB60F920F
+:1001700011242F933F938F939F938091100190911F
+:100180001101019690931101809310018091120149
+:10019000813091F020911001309111018091130173
+:1001A000909114012817390738F081E080931201EB
+:1001B00010921101109210019F918F913F912F91F8
+:1001C0000F900FBE0F901F9018951F920F920FB6B1
+:1001D0000F9211242F933F938F939F93809110013F
+:1001E00090911101019690931101809310018091DB
+:1001F0001201813091F02091100130911101809114
+:100200001301909114012817390738F081E0809389
+:10021000120110921101109210019F918F913F9144
+:100220002F910F900FBE0F901F901895FC01219AEF
+:1002300085E290E09387828785B5836085BD81E004
+:1002400090E09587848722E030E03093140120937A
+:10025000130124B5226024BD29EF27BD9787868727
+:1002600080E090E00895CF92DF92EF92FF9280E0DD
+:1002700091E00E941601C12CD12C760160E070E063
+:10028000CB01609300017093010180930201909370
+:10029000030180910E0190910F010E945300E091A3
+:1002A0000A01F0910B018081826080838FEFC81A70
+:1002B000D80AE80AF80AC701B6010E94D0012FE661
+:1002C00032E143E05BE30E945E0220E030E0A901FE
+:1002D0000E946C01D6CF5058BB27AA270ED0B4C0BD
+:1002E000A5D030F0AAD020F031F49F3F11F41EF4D5
+:1002F0009AC00EF4E095E7FB90C0E92FB6D080F3EA
+:10030000BA17620773078407950718F071F49EF512
+:10031000CEC00EF4E0950B2EBA2FA02D0B01B90123
+:1003200090010C01CA01A0011124FF27591B99F06B
+:10033000593F50F4503E68F11A16F040A22F232F77
+:10034000342F4427585FF3CF469537952795A795C7
+:10035000F0405395C9F77EF41F16BA0B620B730B6E
+:10036000840BBAF09150A1F0FF0FBB1F661F771FDF
+:10037000881FC2F70EC0BA0F621F731F841F48F494
+:10038000879577956795B795F7959E3F08F0B3CF1A
+:100390009395880F08F09927EE0F97958795089504
+:1003A000E89409C097FB3EF490958095709561950F
+:1003B0007F4F8F4F9F4F9923A9F0F92F96E9BB27C5
+:1003C0009395F695879577956795B795F111F8CF41
+:1003D000FAF4BB0F11F460FF1BC06F5F7F4F8F4FAC
+:1003E0009F4F16C0882311F096E911C0772321F0A2
+:1003F0009EE8872F762F05C0662371F096E8862F3A
+:1004000070E060E02AF09A95660F771F881FDAF790
+:10041000880F9695879597F9089597F99F6780E8D3
+:1004200070E060E008959FEF80EC089500240A9446
+:100430001616170618060906089500240A941216BF
+:100440001306140605060895092E0394000C11F4F2
+:10045000882352F0BB0F40F4BF2B11F460FF04C09F
+:100460006F5F7F4F8F4F9F4F089557FD9058440FF8
+:10047000551F59F05F3F71F04795880F97FB991F03
+:1004800061F09F3F79F087950895121613061406C0
+:10049000551FF2CF4695F1DF08C01616170618064D
+:1004A000991FF1CF86957105610508940895E89428
+:1004B000BB2766277727CB0197F908950BD0C4CFC8
+:1004C000B5DF28F0BADF18F0952309F0A6CFABCF3F
+:1004D0001124EECFCADFA0F3959FD1F3950F50E022
+:1004E000551F629FF001729FBB27F00DB11D639FE6
+:1004F000AA27F00DB11DAA1F649F6627B00DA11D8C
+:10050000661F829F2227B00DA11D621F739FB00D31
+:10051000A11D621F839FA00D611D221F749F3327A1
+:10052000A00D611D231F849F600D211D822F762F3A
+:100530006A2F11249F5750408AF0E1F088234AF037
+:10054000EE0FFF1FBB1F661F771F881F9150504083
+:10055000A9F79E3F510570F060CFAACF5F3FECF343
+:10056000983EDCF3869577956795B795F795E7956F
+:100570009F5FC1F7FE2B880F911D9695879597F980
+:060580000895F894FFCF7E
+:100586000000000000006F12033B000000000000A6
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue.sh
new file mode 100644
index 0000000..b2a9b7d
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_led_blue.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_led_blue.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections led_blue_main.c -o led_blue -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom led_blue led_blue.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:led_blue.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay
new file mode 100644
index 0000000..154b3fe
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay.hex
new file mode 100644
index 0000000..eaa1eaa
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay.hex
@@ -0,0 +1,100 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C940E015E
+:100020000C9451000C9451000C9451000C94DD0080
+:100030000C9451000C9451000C94AC000C945100A1
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E6E1F6E002C0F6
+:1000800005900D92A031B107D9F711E0A0E1B1E0E0
+:1000900001C01D92A531B107E1F70E945C010C94EB
+:1000A00009030C9400000F931F93CF93DF93EC018F
+:1000B00001E010E020E030E040EA50E4688179811E
+:1000C0008A819B810E94F00187FD02C000E010E060
+:1000D0001D830C838E859F858230910561F083306E
+:1000E000910599F00197C9F416BC80916E00826069
+:1000F00080936E0016C0109285001092840080914B
+:100100006F00826080936F000CC01092B2008091EB
+:10011000700082608093700004C081E090E00E94D3
+:10012000090378949FB7F894809112019FBF8823A8
+:10013000C9F310921201EA85FB858C819D81892B80
+:1001400019F08081826002C080818D7F8083DF9181
+:10015000CF911F910F9108951F920F920FB60F929A
+:1001600011242F933F938F939F938091100190912F
+:100170001101019690931101809310018091120159
+:10018000813091F020911001309111018091130183
+:10019000909114012817390738F081E080931201FB
+:1001A00010921101109210019F918F913F912F9108
+:1001B0000F900FBE0F901F9018951F920F920FB6C1
+:1001C0000F9211242F933F938F939F93809110014F
+:1001D00090911101019690931101809310018091EB
+:1001E0001201813091F02091100130911101809124
+:1001F0001301909114012817390738F081E080939A
+:10020000120110921101109210019F918F913F9154
+:100210002F910F900FBE0F901F9018951F920F9265
+:100220000FB60F9211242F933F938F939F9380913A
+:10023000100190911101019690931101809310018A
+:1002400080911201813091F02091100130911101C3
+:1002500080911301909114012817390738F081E03B
+:100260008093120110921101109210019F918F91B1
+:100270003F912F910F900FBE0F901F901895FC018A
+:10028000219A85E290E09387828785B5836085BD5A
+:1002900081E090E09587848722E030E0309314017C
+:1002A0002093130124B5226024BD29EF27BD978731
+:1002B000868780E090E00895CF92DF92EF92FF92E0
+:1002C00080E091E00E943F01C12CD12C760160E0DA
+:1002D00070E0CB01609300017093010180930201F3
+:1002E0009093030180E091E00E9453008FEFC81AC1
+:1002F000D80AE80AF80AC701B6010E94F4012FE6FD
+:1003000032E143E05BE30E94A60220E030E0A90175
+:100310000E948C01DFCF5058BB27AA270ED0DCC02B
+:10032000CDD030F0D2D020F031F49F3F11F41EF444
+:10033000C2C00EF4E095E7FBB8C0E92FDED080F331
+:10034000BA17620773078407950718F071F49EF5D2
+:10035000F6C00EF4E0950B2EBA2FA02D0B01B901BB
+:1003600090010C01CA01A0011124FF27591B99F02B
+:10037000593F50F4503E68F11A16F040A22F232F37
+:10038000342F4427585FF3CF469537952795A79587
+:10039000F0405395C9F77EF41F16BA0B620B730B2E
+:1003A000840BBAF09150A1F0FF0FBB1F661F771F9F
+:1003B000881FC2F70EC0BA0F621F731F841F48F454
+:1003C000879577956795B795F7959E3F08F0B3CFDA
+:1003D0009395880F08F09927EE0F979587950895C4
+:1003E00040D008F481E00895E89409C097FB3EF4FA
+:1003F00090958095709561957F4F8F4F9F4F992372
+:10040000A9F0F92F96E9BB279395F69587957795EF
+:100410006795B795F111F8CFFAF4BB0F11F460FFAF
+:100420001BC06F5F7F4F8F4F9F4F16C0882311F007
+:1004300096E911C0772321F09EE8872F762F05C01B
+:10044000662371F096E8862F70E060E02AF09A95B6
+:10045000660F771F881FDAF7880F9695879597F9AB
+:100460000895990F0008550FAA0BE0E8FEEF161645
+:100470001706E807F907C0F012161306E407F50798
+:1004800098F0621B730B840B950B39F40A2661F00C
+:10049000232B242B252B21F408950A2609F4A140AF
+:1004A000A6958FEF811D811D089597F99F6780E8BC
+:1004B00070E060E008959FEF80EC089500240A94B6
+:1004C0001616170618060906089500240A9412162F
+:1004D0001306140605060895092E0394000C11F462
+:1004E000882352F0BB0F40F4BF2B11F460FF04C00F
+:1004F0006F5F7F4F8F4F9F4F089557FD9058440F68
+:10050000551F59F05F3F71F04795880F97FB991F72
+:1005100061F09F3F79F0879508951216130614062F
+:10052000551FF2CF4695F1DF08C0161617061806BC
+:10053000991FF1CF86957105610508940895E89497
+:10054000BB2766277727CB0197F908950BD0C4CF37
+:10055000B5DF28F0BADF18F0952309F0A6CFABCFAE
+:100560001124EECFCADFA0F3959FD1F3950F50E091
+:10057000551F629FF001729FBB27F00DB11D639F55
+:10058000AA27F00DB11DAA1F649F6627B00DA11DFB
+:10059000661F829F2227B00DA11D621F739FB00DA1
+:1005A000A11D621F839FA00D611D221F749F332711
+:1005B000A00D611D231F849F600D211D822F762FAA
+:1005C0006A2F11249F5750408AF0E1F088234AF0A7
+:1005D000EE0FFF1FBB1F661F771F881F91505040F3
+:1005E000A9F79E3F510570F060CFAACF5F3FECF3B3
+:1005F000983EDCF3869577956795B795F795E795DF
+:100600009F5FC1F7FE2B880F911D9695879597F9EF
+:060610000895F894FFCFED
+:100616000000000001006F12033B00000000000014
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay.sh
new file mode 100644
index 0000000..53c7838
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_led_blue_delay.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_led_blue_delay.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections led_blue_delay_main.c -o led_blue_delay -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom led_blue_delay led_blue_delay.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:led_blue_delay.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay_main.c
new file mode 100644
index 0000000..80930a6
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_delay_main.c
@@ -0,0 +1,212 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct led_blue_delay_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct led_blue_delay_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[3];
+} led_blue_delay_fmi2Component;
+
+led_blue_delay_fmi2Component led_blue_delay_component = {
+ .fmi2BooleanVars = {
+ fmi2True /*booleanExpression1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component led_blue_delay_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &led_blue_delay_component;
+}
+
+fmi2Status led_blue_delay_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status led_blue_delay_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ return fmi2OK;
+}
+
+fmi2Status led_blue_delay_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status led_blue_delay_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status led_blue_delay_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */ = (comp->currentTime)<(5.0); /* equation 3 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */);
+}
+
+fmi2Status led_blue_delay_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ led_blue_delay_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = led_blue_delay_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ led_blue_delay_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ led_blue_delay_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ led_blue_delay_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = led_blue_delay_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_main.c
new file mode 100644
index 0000000..048f6c8
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_main.c
@@ -0,0 +1,212 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct led_blue_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct led_blue_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[3];
+} led_blue_fmi2Component;
+
+led_blue_fmi2Component led_blue_component = {
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component led_blue_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &led_blue_component;
+}
+
+fmi2Status led_blue_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status led_blue_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ return fmi2OK;
+}
+
+fmi2Status led_blue_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status led_blue_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status led_blue_functionOutputs(fmi2Component comp)
+{
+ Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, fmi2True);
+}
+
+fmi2Status led_blue_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ led_blue_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = led_blue_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ led_blue_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ led_blue_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ led_blue_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = led_blue_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_new.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_new.sh
new file mode 100644
index 0000000..96f97e2
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_new.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_led_blue.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_led_blue.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections led_blue_main.c -o led_blue -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom led_blue led_blue.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:led_blue.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_new.sh~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_new.sh~
new file mode 100644
index 0000000..96f97e2
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_new.sh~
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_led_blue.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_led_blue.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections led_blue_main.c -o led_blue -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom led_blue led_blue.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:led_blue.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red
new file mode 100644
index 0000000..a13b867
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red.hex
new file mode 100644
index 0000000..2f6c931
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red.hex
@@ -0,0 +1,106 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94340138
+:100020000C9451000C9451000C9451000C94030159
+:100030000C9451000C9451000C94D2000C9451007B
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E8E6F6E002C0EF
+:1000800005900D92A431B107D9F711E0A4E1B1E0D8
+:1000900001C01D92A931B107E1F70E9485010C94BE
+:1000A00032030C940000CF92DF92EF92FF920F93F5
+:1000B0001F93CF93DF93EC01C880D980EA80FB8047
+:1000C00001E010E020E030E040EA50E4C701B60172
+:1000D0000E94190287FD02C000E010E01D830C831E
+:1000E00001E010E020E030E040E051E4C701B6015B
+:1000F0000E94190287FD02C000E010E01F830E83FA
+:100100008A899B898230910561F08330910599F04D
+:100110000197C9F416BC80916E00826080936E00D6
+:1001200016C0109285001092840080916F0082604A
+:1001300080936F000CC01092B200809170008260BA
+:100140008093700004C081E090E00E9432037894B4
+:100150009FB7F894809116019FBF8823C9F310922E
+:100160001601EC85FD858C819D81892B19F080819C
+:10017000826002C080818D7F8083EE85FF858E81C5
+:100180009F81892B19F08081886002C08081877FE0
+:100190008083DF91CF911F910F91FF90EF90DF90BF
+:1001A000CF9008951F920F920FB60F9211242F93A4
+:1001B0003F938F939F938091140190911501019625
+:1001C000909315018093140180911601813091F074
+:1001D000209114013091150180911701909118011F
+:1001E0002817390738F081E0809316011092150125
+:1001F000109214019F918F913F912F910F900FBEFC
+:100200000F901F9018951F920F920FB60F92112406
+:100210002F933F938F939F93809114019091150199
+:1002200001969093150180931401809116018130FD
+:1002300091F0209114013091150180911701909156
+:1002400018012817390738F081E0809316011092C1
+:100250001501109214019F918F913F912F910F9052
+:100260000FBE0F901F9018951F920F920FB60F920E
+:1002700011242F933F938F939F938091140190911A
+:100280001501019690931501809314018091160138
+:10029000813091F020911401309115018091170166
+:1002A000909118012817390738F081E080931601E2
+:1002B00010921501109214019F918F913F912F91EF
+:1002C0000F900FBE0F901F901895FC01239A85E2A6
+:1002D00090E09787868725B5236025BD21E030E033
+:1002E000318B208B42E050E050931801409317016E
+:1002F00044B5426044BD49EF47BD338B228B219A00
+:100300009587848780E090E00895CF92DF92EF9206
+:10031000FF9280E091E00E946501C12CD12C760112
+:1003200060E070E0CB016093000170930101809365
+:1003300002019093030180E091E00E9453008FEF4F
+:10034000C81AD80AE80AF80AC701B6010E941D02B5
+:100350002FE632E143E05BE30E94CF0220E030E091
+:10036000A9010E94B501DFCF5058BB27AA270ED0A4
+:10037000DCC0CDD030F0D2D020F031F49F3F11F46A
+:100380001EF4C2C00EF4E095E7FBB8C0E92FDED042
+:1003900080F3BA17620773078407950718F071F4A2
+:1003A0009EF5F6C00EF4E0950B2EBA2FA02D0B0192
+:1003B000B90190010C01CA01A0011124FF27591BAA
+:1003C00099F0593F50F4503E68F11A16F040A22FB0
+:1003D000232F342F4427585FF3CF46953795279521
+:1003E000A795F0405395C9F77EF41F16BA0B620B20
+:1003F000730B840BBAF09150A1F0FF0FBB1F661F67
+:10040000771F881FC2F70EC0BA0F621F731F841FA9
+:1004100048F4879577956795B795F7959E3F08F0CF
+:10042000B3CF9395880F08F09927EE0F979587958E
+:10043000089540D008F481E00895E89409C097FB3E
+:100440003EF490958095709561957F4F8F4F9F4FAB
+:100450009923A9F0F92F96E9BB279395F6958795EF
+:1004600077956795B795F111F8CFFAF4BB0F11F4B2
+:1004700060FF1BC06F5F7F4F8F4F9F4F16C0882359
+:1004800011F096E911C0772321F09EE8872F762F8F
+:1004900005C0662371F096E8862F70E060E02AF0D0
+:1004A0009A95660F771F881FDAF7880F96958795BC
+:1004B00097F90895990F0008550FAA0BE0E8FEEF91
+:1004C00016161706E807F907C0F012161306E40718
+:1004D000F50798F0621B730B840B950B39F40A2611
+:1004E00061F0232B242B252B21F408950A2609F4EF
+:1004F000A140A6958FEF811D811D089597F99F67F3
+:1005000080E870E060E008959FEF80EC089500249B
+:100510000A941616170618060906089500240A9468
+:1005200012161306140605060895092E0394000CEE
+:1005300011F4882352F0BB0F40F4BF2B11F460FF7D
+:1005400004C06F5F7F4F8F4F9F4F089557FD9058A6
+:10055000440F551F59F05F3F71F04795880F97FB87
+:10056000991F61F09F3F79F0879508951216130641
+:100570001406551FF2CF4695F1DF08C01616170670
+:100580001806991FF1CF86957105610508940895A5
+:10059000E894BB2766277727CB0197F908950BD0FE
+:1005A000C4CFB5DF28F0BADF18F0952309F0A6CF45
+:1005B000ABCF1124EECFCADFA0F3959FD1F3950FF7
+:1005C00050E0551F629FF001729FBB27F00DB11DD7
+:1005D000639FAA27F00DB11DAA1F649F6627B00D67
+:1005E000A11D661F829F2227B00DA11D621F739F50
+:1005F000B00DA11D621F839FA00D611D221F749F5E
+:100600003327A00D611D231F849F600D211D822FA4
+:10061000762F6A2F11249F5750408AF0E1F08823EB
+:100620004AF0EE0FFF1FBB1F661F771F881F9150F8
+:100630005040A9F79E3F510570F060CFAACF5F3FB1
+:10064000ECF3983EDCF3869577956795B795F7952B
+:10065000E7959F5FC1F7FE2B880F911D96958795B3
+:0806600097F90895F894FFCF0B
+:1006680000000000010001006F12033B00000000C1
+:04067800000000007E
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red.sh
new file mode 100644
index 0000000..7de1e2c
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_led_blue_red.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_led_blue_red.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections led_blue_red_main.c -o led_blue_red -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom led_blue_red led_blue_red.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:led_blue_red.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red_main.c
new file mode 100644
index 0000000..c9668e8
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_blue_red_main.c
@@ -0,0 +1,215 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct led_blue_red_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct led_blue_red_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[2];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[4];
+} led_blue_red_fmi2Component;
+
+led_blue_red_fmi2Component led_blue_red_component = {
+ .fmi2BooleanVars = {
+ fmi2True /*booleanExpression1._y*/,
+ fmi2True /*booleanExpression2._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component led_blue_red_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &led_blue_red_component;
+}
+
+fmi2Status led_blue_red_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status led_blue_red_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* digitalWriteBoolean2._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 4);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ return fmi2OK;
+}
+
+fmi2Status led_blue_red_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status led_blue_red_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status led_blue_red_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */ = (comp->currentTime)<(5.0); /* equation 4 */
+ comp->fmi2BooleanVars[1] /* booleanExpression2._y DISCRETE */ = (comp->currentTime)<(8.0); /* equation 5 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean2._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 4, comp->fmi2BooleanVars[1] /* booleanExpression2._y DISCRETE */);
+}
+
+fmi2Status led_blue_red_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ led_blue_red_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = led_blue_red_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ led_blue_red_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ led_blue_red_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ led_blue_red_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = led_blue_red_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink
new file mode 100644
index 0000000..e71feb7
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink.hex
new file mode 100644
index 0000000..1c34b59
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink.hex
@@ -0,0 +1,127 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C942C0140
+:100020000C9451000C9451000C9451000C94FB0062
+:100030000C9451000C9451000C94CA000C94510083
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E8ECF7E002C0E8
+:1000800005900D92A031B107D9F711E0A0E1B1E0E0
+:1000900001C01D92A531B107E1F70E947A010C94CD
+:1000A000E2030C940000CF92DF92EF92FF920F9345
+:1000B0001F93CF93DF93EC01C880D980EA80FB8047
+:1000C0002DEC3CEC4CE45EE3C701B6010E940E024D
+:1000D0000E94B3022DEC3CEC4CE45EE30E945B0317
+:1000E0009B01AC01C701B6010E94A90101E010E02B
+:1000F0002DEC3CEC4CEC5DE30E94570387FF02C003
+:1001000000E010E01D830C838E859F858230910571
+:1001100061F08330910599F00197C9F416BC809184
+:100120006E00826080936E0016C01092850010925F
+:10013000840080916F00826080936F000CC01092E9
+:10014000B2008091700082608093700004C081E0F2
+:1001500090E00E94E20378949FB7F8948091120196
+:100160009FBF8823C9F310921201EA85FB858C8119
+:100170009D81892B19F08081826002C080818D7FF2
+:100180008083DF91CF911F910F91FF90EF90DF90CF
+:10019000CF9008951F920F920FB60F9211242F93B4
+:1001A0003F938F939F93809110019091110101963D
+:1001B000909311018093100180911201813091F090
+:1001C000209110013091110180911301909114013F
+:1001D0002817390738F081E080931201109211013D
+:1001E000109210019F918F913F912F910F900FBE10
+:1001F0000F901F9018951F920F920FB60F92112417
+:100200002F933F938F939F938091100190911101B1
+:100210000196909311018093100180911201813019
+:1002200091F0209110013091110180911301909172
+:1002300014012817390738F081E0809312011092D9
+:100240001101109210019F918F913F912F910F906A
+:100250000FBE0F901F9018951F920F920FB60F921E
+:1002600011242F933F938F939F938091100190912E
+:100270001101019690931101809310018091120158
+:10028000813091F020911001309111018091130182
+:10029000909114012817390738F081E080931201FA
+:1002A00010921101109210019F918F913F912F9107
+:1002B0000F900FBE0F901F901895FC0185B58360BD
+:1002C00085BD81E090E09587848722E030E030931F
+:1002D00014012093130124B5226024BD29EF27BD0A
+:1002E00097878687219A85E290E09387828780E0CE
+:1002F00090E00895CF92DF92EF92FF9280E091E03C
+:100300000E945D01C12CD12C760160E070E0CB0130
+:1003100060930001709301018093020190930301A7
+:1003200080E091E00E9453008FEFC81AD80AE80AD3
+:10033000F80AC701B6010E9476022FE632E143E0D7
+:100340005BE30E945B0320E030E0A9010E94AA0168
+:10035000DFCF5058BB27AA270ED058C149D130F063
+:100360004ED120F031F49F3F11F41EF43EC10EF443
+:10037000E095E7FB0BC1E92F5AD180F3BA1762076A
+:1003800073078407950718F071F49EF589C10EF480
+:10039000E0950B2EBA2FA02D0B01B90190010C0195
+:1003A000CA01A0011124FF27591B99F0593F50F4AD
+:1003B000503E68F11A16F040A22F232F342F442705
+:1003C000585FF3CF469537952795A795F0405395FD
+:1003D000C9F77EF41F16BA0B620B730B840BBAF0CD
+:1003E0009150A1F0FF0FBB1F661F771F881FC2F738
+:1003F0000EC0BA0F621F731F841F48F4879577954C
+:100400006795B795F7959E3F08F0B3CF9395880F02
+:1004100008F09927EE0F9795879508950CD0F6C0B0
+:10042000EED040F0E5D030F021F45F3F19F0AEC0DF
+:10043000511137C1DAC0FBD098F39923C9F3552382
+:10044000B1F3951B550BBB27AA27621773078407C7
+:1004500038F09F5F5F4F220F331F441FAA1FA9F37D
+:1004600033D00E2E3AF0E0E830D091505040E6956F
+:10047000001CCAF729D0FE2F27D0660F771F881FD0
+:10048000BB1F261737074807AB07B0E809F0BB0BBF
+:10049000802DBF01FF2793585F4F2AF09E3F5105E3
+:1004A00068F074C0FEC05F3FECF3983EDCF38695C5
+:1004B00077956795B795F7959F5FC9F7880F911D59
+:1004C0009695879597F90895E1E0660F771F881F45
+:1004D000BB1F621773078407BA0720F0621B730BF8
+:1004E000840BBA0BEE1F88F7E0950895E89409C0D5
+:1004F00097FB3EF490958095709561957F4F8F4F57
+:100500009F4F9923A9F0F92F96E9BB279395F6956C
+:10051000879577956795B795F111F8CFFAF4BB0FEA
+:1005200011F460FF1BC06F5F7F4F8F4F9F4F16C04E
+:10053000882311F096E911C0772321F09EE8872FD8
+:10054000762F05C0662371F096E8862F70E060E094
+:100550002AF09A95660F771F881FDAF7880F96950D
+:10056000879597F9089585D080F09F3740F49111D1
+:100570000EF097C060E070E080E89FEB089526F4ED
+:100580001B16611D711D811D07C021C097F99F6752
+:1005900080E870E060E00895882371F4772321F00B
+:1005A0009850872B762F07C0662311F499270DC02A
+:1005B0009051862B70E060E02AF09A95660F771FC5
+:1005C000881FDAF7880F9695879597F908959F3FCA
+:1005D00031F0915020F4879577956795B795880FFE
+:1005E000911D9695879597F908959FEF80EC089552
+:1005F00000240A9416161706180609060895002402
+:100600000A9412161306140605060895092E03947B
+:10061000000C11F4882352F0BB0F40F4BF2B11F4EF
+:1006200060FF04C06F5F7F4F8F4F9F4F089557FD4E
+:100630009058440F551F59F05F3F71F04795880F50
+:1006400097FB991F61F09F3F79F0879508951216E7
+:1006500013061406551FF2CF4695F1DF08C0161693
+:1006600017061806991FF1CF869571056105089444
+:100670000895E5DFA0F0BEE7B91788F4BB279F38DF
+:1006800060F41616B11D672F782F8827985FF7CF73
+:10069000869577956795B11D93959639C8F308951A
+:1006A000E894BB2766277727CB0197F9089566D092
+:1006B00008F48FEF08950BD0A9CF9ADF28F09FDFC1
+:1006C00018F0952309F062CF90CF1124EACFAFDF65
+:1006D000A0F3959FD1F3950F50E0551F629FF00155
+:1006E000729FBB27F00DB11D639FAA27F00DB11DAE
+:1006F000AA1F649F6627B00DA11D661F829F222737
+:10070000B00DA11D621F739FB00DA11D621F839FBD
+:10071000A00D611D221F749F3327A00D611D231F93
+:10072000849F600D211D822F762F6A2F11249F57E1
+:1007300050408AF0E1F088234AF0EE0FFF1FBB1F04
+:10074000661F771F881F91505040A9F79E3F5105A3
+:1007500070F01CCFA6CF5F3FECF3983EDCF386959C
+:1007600077956795B795F795E7959F5FC1F7FE2B4E
+:10077000880F911D9695879597F90895990F000810
+:10078000550FAA0BE0E8FEEF16161706E807F90763
+:10079000C0F012161306E407F50798F0621B730BFE
+:1007A000840B950B39F40A2661F0232B242B252B7F
+:1007B00021F408950A2609F4A140A6958FEF811D22
+:0807C000811D0895F894FFCF9C
+:1007C8000000000000006F12033B00000000000062
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink.sh
new file mode 100644
index 0000000..a30543c
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_led_green_blink.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_led_green_blink.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections led_green_blink_main.c -o led_green_blink -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom led_green_blink led_green_blink.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:led_green_blink.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink_main.c
new file mode 100644
index 0000000..5999083
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/led_green_blink_main.c
@@ -0,0 +1,212 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct led_green_blink_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct led_green_blink_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[3];
+} led_green_blink_fmi2Component;
+
+led_green_blink_fmi2Component led_green_blink_component = {
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component led_green_blink_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &led_green_blink_component;
+}
+
+fmi2Status led_green_blink_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status led_green_blink_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ return fmi2OK;
+}
+
+fmi2Status led_green_blink_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status led_green_blink_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status led_green_blink_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */ = (om_mod(comp->currentTime,0.2))>=(0.1); /* equation 3 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */);
+}
+
+fmi2Status led_green_blink_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ led_green_blink_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = led_green_blink_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ led_green_blink_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ led_green_blink_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ led_green_blink_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = led_green_blink_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blink.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blink.mos
new file mode 100644
index 0000000..53c008c
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blink.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/sumeet/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/sumeet/MDD_Arduino/linux-version-4/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blink, fileNamePrefix="led_blink");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blink.mos~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blink.mos~
new file mode 100644
index 0000000..1e58f73
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blink.mos~
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/sumeet/MDD_Arduino/linux-version-4/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blink, fileNamePrefix="led_blink");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue.mos
new file mode 100644
index 0000000..b845042
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/manas/Documents/OpenModelica-HIL/ModelPlugin-openmodelica/OpenModelicaEmbedded/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/manas/Documents/OpenModelica-HIL/ModelPlugin-openmodelica/OpenModelicaEmbedded/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blue, fileNamePrefix="led_blue");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue.mos~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue.mos~
new file mode 100644
index 0000000..d931832
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue.mos~
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/sumeet/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/sumeet/MDD_Arduino/linux-version-4/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blue, fileNamePrefix="led_blue");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue_delay.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue_delay.mos
new file mode 100644
index 0000000..62b9250
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue_delay.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blue_delay, fileNamePrefix="led_blue_delay");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue_red.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue_red.mos
new file mode 100644
index 0000000..f60dfc6
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_blue_red.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blue_red, fileNamePrefix="led_blue_red");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_green_blink.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_green_blink.mos
new file mode 100644
index 0000000..eeb79c1
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_led_green_blink.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_green_blink, fileNamePrefix="led_green_blink");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_traffic_light.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_traffic_light.mos
new file mode 100644
index 0000000..a793656
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_traffic_light.mos
@@ -0,0 +1,13 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/manas/Documents/OpenModelica-HIL/ModelPlugin-openmodelica/OpenModelicaEmbedded/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/manas/Documents/OpenModelica-HIL/ModelPlugin-openmodelica/OpenModelicaEmbedded/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_traffic_light, fileNamePrefix="traffic_light");
+
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_traffic_light.mos~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_traffic_light.mos~
new file mode 100644
index 0000000..7c13575
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/runMDD_traffic_light.mos~
@@ -0,0 +1,13 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/manas/Documents/OpenModelica-HIL/ModelPlugin-openmodelica/OpenModelicaEmbedded/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/manas/Documents/OpenModelica-HIL/ModelPlugin-openmodelica/OpenModelicaEmbedded/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blue, fileNamePrefix="traffic_light");
+
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/traffic_light b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/traffic_light
new file mode 100755
index 0000000..9264466
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/traffic_light
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/traffic_light_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/traffic_light_main.c
new file mode 100644
index 0000000..9577e23
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/led/traffic_light_main.c
@@ -0,0 +1,212 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct traffic_light_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct traffic_light_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[3];
+} traffic_light_fmi2Component;
+
+traffic_light_fmi2Component traffic_light_component = {
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component traffic_light_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &traffic_light_component;
+}
+
+fmi2Status traffic_light_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status traffic_light_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 1, 5);
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 1);
+ return fmi2OK;
+}
+
+fmi2Status traffic_light_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status traffic_light_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status traffic_light_functionOutputs(fmi2Component comp)
+{
+ Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 5, fmi2True);
+}
+
+fmi2Status traffic_light_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ traffic_light_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = traffic_light_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ traffic_light_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ traffic_light_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ traffic_light_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = traffic_light_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold
new file mode 100644
index 0000000..3a53c95
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.hex
new file mode 100644
index 0000000..4c24433
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.hex
@@ -0,0 +1,157 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94170254
+:100020000C9451000C9451000C9451000C94E60176
+:100030000C9451000C9451000C94B5010C94510097
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0EAE5F9E002C0EB
+:1000800005900D92A235B107D9F711E0A2E5B1E0D4
+:1000900001C01D92A735B107E1F70E9488020C94B8
+:1000A000AB040C94000080917C00857E826080937C
+:1000B0007C0080917A00806480937A0080917A003D
+:1000C00086FDFCCF809178009091790008954F9241
+:1000D0005F926F927F928F929F92AF92BF92CF92D8
+:1000E000DF92EF92FF920F931F93CF93DF938C01D8
+:1000F0000E94530060E080E090E00E949D040E9416
+:100100005300BC0180E090E00E94840320E030E0D6
+:1001100040E854E40E94160420E030EC4FE754E439
+:100120000E941C034B015C01D80114966D937D93D2
+:100130008D939C931797C1E0D0E0D4962D913D917B
+:100140004D915C91D7970E94120487FF02C0C0E0D6
+:10015000D0E0F801D3A7C2A7CD2B39F0412C512C08
+:1001600090E8692E9FE3792E03C0412C512C320177
+:10017000D8011C964D925D926D927C921F97C1E0C2
+:10018000D0E0D8962D913D914D915C91DB97C301C4
+:10019000B2010E94120487FF02C0C0E0D0E0F80163
+:1001A000D5A3C4A3C1E0D0E020A931A942A953A995
+:1001B000C501B4010E94120487FF02C0C0E0D0E074
+:1001C000D8019996DC93CE939897CD2B39F0C12C1A
+:1001D000D12C80E8E82E8FE3F82E03C0C12CD12C5F
+:1001E0007601F801C086D186E286F386C1E0D0E0D0
+:1001F000A3019201C701B6010E941204181614F05F
+:10020000C0E0D0E0D8019396DC93CE939297C1E002
+:10021000D0E09C962D913D914D915C919F97C501A9
+:10022000B4010E94120487FF02C0C0E0D0E0F801D0
+:10023000D7A3C6A3CD2B29F060E070E080E89FE350
+:1002400003C060E070E0CB01D80150966D937D93C0
+:100250008D939C935397C1E0D0E0A70196010E9433
+:100260001204181614F0C0E0D0E0F801D1A3C0A326
+:10027000E05BFF4F808191818230910561F0833096
+:10028000910599F00197C9F416BC80916E008260C7
+:1002900080936E0016C010928500109284008091A9
+:1002A0006F00826080936F000CC01092B20080914A
+:1002B000700082608093700004C081E090E00E9432
+:1002C000AB0478949FB7F894809154019FBF882322
+:1002D000C9F310925401F801E85BFF4F0190F081DF
+:1002E000E02DD80190968D919C919197892B19F0D2
+:1002F0008081826002C080818D7F8083F801E65B0F
+:10030000FF4F0190F081E02DD80192968D919C9144
+:100310009397892B19F08081846002C080818B7F44
+:100320008083F801E45BFF4F0190F081E02DD8015C
+:1003300094968D919C919597892B19F08081886076
+:1003400002C08081877F8083DF91CF911F910F91C1
+:10035000FF90EF90DF90CF90BF90AF909F908F90E5
+:100360007F906F905F904F9008951F920F920FB6FD
+:100370000F9211242F933F938F939F93809152015B
+:100380009091530101969093530180935201809173
+:100390005401813091F020915201309153018091AC
+:1003A0005501909156012817390738F081E0809364
+:1003B000540110925301109252019F918F913F91DD
+:1003C0002F910F900FBE0F901F9018951F920F92B4
+:1003D0000FB60F9211242F933F938F939F93809189
+:1003E00052019091530101969093530180935201D1
+:1003F00080915401813091F020915201309153014C
+:1004000080915501909156012817390738F081E005
+:100410008093540110925301109252019F918F9139
+:100420003F912F910F900FBE0F901F9018951F9224
+:100430000F920FB60F9211242F933F938F939F9398
+:1004400080915201909153010196909353018093B2
+:10045000520180915401813091F0209152013091EC
+:10046000530180915501909156012817390738F0B2
+:1004700081E08093540110925301109252019F9198
+:100480008F913F912F910F900FBE0F901F90189555
+:10049000ECE7F0E02081206C2083EAE7F0E02081A7
+:1004A00027682083FC01EA5BFF4F11821082239AA8
+:1004B000FC01E45BFF4F25E230E031832083229A88
+:1004C000FC01E65BFF4F31832083219AFC01E85B4E
+:1004D000FF4F3183208325B5236025BDFC01E25BFE
+:1004E000FF4F21E030E03183208342E050E0509321
+:1004F00056014093550144B5426044BD49EF47BDA4
+:10050000FC01E05BFF4F3183208380E090E00895A1
+:10051000CF92DF92EF92FF9280E091E00E9448023A
+:10052000C12CD12C760160E070E0CB01609300011A
+:1005300070930101809302019093030180E091E0A8
+:100540000E9467008FEFC81AD80AE80AF80AC701A4
+:10055000B6010E9484032FE632E143E05BE30E9490
+:10056000160420E030E0A9010E94B802DFCF505805
+:10057000BB27AA270ED01CC10DD130F012D120F01C
+:1005800031F49F3F11F41EF402C10EF4E095E7FB35
+:10059000F8C0E92F1ED180F3BA17620773078407EA
+:1005A000950718F071F49EF536C10EF4E0950B2E08
+:1005B000BA2FA02D0B01B90190010C01CA01A001B5
+:1005C0001124FF27591B99F0593F50F4503E68F110
+:1005D0001A16F040A22F232F342F4427585FF3CF51
+:1005E000469537952795A795F0405395C9F77EF422
+:1005F0001F16BA0B620B730B840BBAF09150A1F06B
+:10060000FF0FBB1F661F771F881FC2F70EC0BA0FF0
+:10061000621F731F841F48F4879577956795B79578
+:10062000F7959E3F08F0B3CF9395880F08F0992770
+:10063000EE0F9795879508950CD0BAC0B2D040F0D0
+:10064000A9D030F021F45F3F19F09BC05111E4C0F4
+:100650009EC0BFD098F39923C9F35523B1F3951BDE
+:10066000550BBB27AA2762177307840738F09F5FD3
+:100670005F4F220F331F441FAA1FA9F333D00E2E42
+:100680003AF0E0E830D091505040E695001CCAF7AF
+:1006900029D0FE2F27D0660F771F881FBB1F261774
+:1006A00037074807AB07B0E809F0BB0B802DBF0147
+:1006B000FF2793585F4F2AF09E3F510568F061C0B5
+:1006C000ABC05F3FECF3983EDCF38695779567957A
+:1006D000B795F7959F5FC9F7880F911D96958795F8
+:1006E00097F90895E1E0660F771F881FBB1F621717
+:1006F00073078407BA0720F0621B730B840BBA0BD5
+:10070000EE1F88F7E0950895E89409C097FB3EF442
+:1007100090958095709561957F4F8F4F9F4F99234E
+:10072000A9F0F92F96E9BB279395F69587957795CC
+:100730006795B795F111F8CFFAF4BB0F11F460FF8C
+:100740001BC06F5F7F4F8F4F9F4F16C0882311F0E4
+:1007500096E911C0772321F09EE8872F762F05C0F8
+:10076000662371F096E8862F70E060E02AF09A9593
+:10077000660F771F881FDAF7880F9695879597F988
+:10078000089597F99F6780E870E060E008959FEF13
+:1007900080EC089500240A94161617061806090618
+:1007A000089500240A9412161306140605060895E7
+:1007B000092E0394000C11F4882352F0BB0F40F46F
+:1007C000BF2B11F460FF04C06F5F7F4F8F4F9F4FAF
+:1007D000089557FD9058440F551F59F05F3F71F031
+:1007E0004795880F97FB991F61F09F3F79F0879598
+:1007F0000895121613061406551FF2CF4695F1DF21
+:1008000008C0161617061806991FF1CF86957105B0
+:10081000610508940895E894BB2766277727CB01E4
+:1008200097F9089566D008F48FEF08950BD0C0CFE4
+:10083000B1DF28F0B6DF18F0952309F0A2CFA7CFDB
+:100840001124EACFC6DFA0F3959FD1F3950F50E0B6
+:10085000551F629FF001729FBB27F00DB11D639F72
+:10086000AA27F00DB11DAA1F649F6627B00DA11D18
+:10087000661F829F2227B00DA11D621F739FB00DBE
+:10088000A11D621F839FA00D611D221F749F33272E
+:10089000A00D611D231F849F600D211D822F762FC7
+:1008A0006A2F11249F5750408AF0E1F088234AF0C4
+:1008B000EE0FFF1FBB1F661F771F881F9150504010
+:1008C000A9F79E3F510570F05CCFA6CF5F3FECF3D8
+:1008D000983EDCF3869577956795B795F795E795FC
+:1008E0009F5FC1F7FE2B880F911D9695879597F90D
+:1008F0000895990F0008550FAA0BE0E8FEEF1616B1
+:100900001706E807F907C0F012161306E407F50703
+:1009100098F0621B730B840B950B39F40A2661F077
+:10092000232B242B252B21F408950A2609F4A1401A
+:10093000A6958FEF811D811D0895262FF999FECF71
+:100940001FBA92BD81BD20BD0FB6F894FA9AF99AEC
+:0A0950000FBE01960895F894FFCF42
+:10095A00000000000000000000000000000000008D
+:10096A00000000000000000000000000000000007D
+:10097A00000000000000000000000000000000006D
+:10098A000000A043000061440000003F6F12033BD7
+:10099A000500010000000000000000000000000047
+:0209AA0000004B
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.sh
new file mode 100644
index 0000000..515d97e
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_pot_threshold.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_pot_threshold.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections pot_threshold_main.c -o pot_threshold -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom pot_threshold pot_threshold.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:pot_threshold.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.sh~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.sh~
new file mode 100644
index 0000000..f669595
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold.sh~
@@ -0,0 +1,63 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_pot_threshold.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_pot_threshold.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections pot_threshold_main.c -o pot_threshold -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom pot_threshold pot_threshold.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:pot_threshold.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+
+plot(y)
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold_main.c
new file mode 100644
index 0000000..2e867ec
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/pot_threshold_main.c
@@ -0,0 +1,274 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct pot_threshold_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct pot_threshold_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[7];
+ fmi2Boolean fmi2BooleanVars[6];
+ fmi2Real fmi2RealParameter[5];
+ fmi2Integer fmi2IntegerParameter[1];
+ fmi2Boolean fmi2BooleanParameter[1];
+ fmi2String fmi2StringParameter[1];
+ void* extObjs[6];
+} pot_threshold_fmi2Component;
+
+pot_threshold_fmi2Component pot_threshold_component = {
+ .fmi2RealVars = {
+ 0.0 /*adc._y*/,
+ 0.0 /*greater1._u1*/,
+ 0.0 /*greater1._u2*/,
+ 0.0 /*greater2._u1*/,
+ 0.0 /*realExpression1._y*/,
+ 0.0 /*realExpression2._y*/,
+ 0.0 /*realValue1._number*/,
+ },
+ .fmi2BooleanVars = {
+ fmi2False /*digitalWriteBoolean1._u*/,
+ fmi2False /*digitalWriteBoolean2._u*/,
+ fmi2False /*digitalWriteBoolean3._u*/,
+ fmi2False /*greaterEqualThreshold1._y*/,
+ fmi2False /*greaterEqualThreshold2._y*/,
+ fmi2False /*greaterEqualThreshold3._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.0 /*greaterEqualThreshold1._threshold*/,
+ 320.0 /*greaterEqualThreshold2._threshold*/,
+ 900.0 /*greaterEqualThreshold3._threshold*/,
+ 0.5 /*realToBoolean1._threshold*/,
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+ .fmi2IntegerParameter = {
+ 5 /*realValue1._significantDigits*/,
+ },
+ .fmi2BooleanParameter = {
+ fmi2True /*realValue1._use_numberPort*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+static const char * const OMCLIT0 = "ElectricPotential";
+static const char * const OMCLIT1 = "V";
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+#include "MDDAVRAnalog.h"
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution)
+{
+ fmi2Real om_value;
+ om_value = MDD_avr_analog_read(om_analogPort, om_vref, om_voltageResolution);
+ return om_value;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage)
+{
+ void* om_avr;
+ om_avr = MDD_avr_analog_init(om_divisionFactor, om_referenceVoltage);
+ return om_avr;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr)
+{
+ MDD_avr_analog_close(om_avr);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component pot_threshold_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &pot_threshold_component;
+}
+
+fmi2Status pot_threshold_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status pot_threshold_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* adc._analog EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Analog.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(comp, 7, 4);
+ comp->extObjs[3] /* digitalWriteBoolean3._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 4);
+ comp->extObjs[2] /* digitalWriteBoolean2._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 3);
+ comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ comp->extObjs[4] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[5] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[4] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ return fmi2OK;
+}
+
+fmi2Status pot_threshold_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status pot_threshold_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status pot_threshold_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* adc._y variable */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(comp, 3, 1024.0, 10); /* equation 15 */
+ comp->fmi2BooleanVars[5] /* greaterEqualThreshold3._y DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>=(comp->fmi2RealParameter[2] /* greaterEqualThreshold3._threshold PARAM */); /* equation 16 */
+ comp->fmi2RealVars[2] /* greater1._u2 variable */ = (comp->fmi2BooleanVars[5] /* greaterEqualThreshold3._y DISCRETE */) ? (1.0) : (0.0); /* equation 17 */
+ comp->fmi2BooleanVars[2] /* digitalWriteBoolean3._u DISCRETE */ = (comp->fmi2RealVars[2] /* greater1._u2 variable */)>=(comp->fmi2RealParameter[3] /* realToBoolean1._threshold PARAM */); /* equation 18 */
+ comp->fmi2BooleanVars[4] /* greaterEqualThreshold2._y DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>=(comp->fmi2RealParameter[1] /* greaterEqualThreshold2._threshold PARAM */); /* equation 19 */
+ comp->fmi2RealVars[1] /* greater1._u1 variable */ = (comp->fmi2BooleanVars[4] /* greaterEqualThreshold2._y DISCRETE */) ? (1.0) : (0.0); /* equation 20 */
+ comp->fmi2BooleanVars[1] /* digitalWriteBoolean2._u DISCRETE */ = (comp->fmi2RealVars[1] /* greater1._u1 variable */)>(comp->fmi2RealVars[2] /* greater1._u2 variable */); /* equation 21 */
+ comp->fmi2BooleanVars[3] /* greaterEqualThreshold1._y DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>=(comp->fmi2RealParameter[0] /* greaterEqualThreshold1._threshold PARAM */); /* equation 22 */
+ comp->fmi2RealVars[3] /* greater2._u1 variable */ = (comp->fmi2BooleanVars[3] /* greaterEqualThreshold1._y DISCRETE */) ? (1.0) : (0.0); /* equation 23 */
+ comp->fmi2BooleanVars[0] /* digitalWriteBoolean1._u DISCRETE */ = (comp->fmi2RealVars[3] /* greater2._u1 variable */)>(comp->fmi2RealVars[1] /* greater1._u1 variable */); /* equation 24 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[5] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, comp->fmi2BooleanVars[0] /* digitalWriteBoolean1._u DISCRETE */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[2] /* digitalWriteBoolean2._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 3, comp->fmi2BooleanVars[1] /* digitalWriteBoolean2._u DISCRETE */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[3] /* digitalWriteBoolean3._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 4, comp->fmi2BooleanVars[2] /* digitalWriteBoolean3._u DISCRETE */);
+}
+
+fmi2Status pot_threshold_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ pot_threshold_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = pot_threshold_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ pot_threshold_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ pot_threshold_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ pot_threshold_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = pot_threshold_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/runMDD_pot_threshold.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/runMDD_pot_threshold.mos
new file mode 100644
index 0000000..f347b0c
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/runMDD_pot_threshold.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/sumeet/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/sumeet/MDD_Arduino/linux-version-4/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_pot.MDD_pot_threshold, fileNamePrefix="pot_threshold");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/runMDD_pot_threshold.mos~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/runMDD_pot_threshold.mos~
new file mode 100644
index 0000000..98cc2cc
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/pot/runMDD_pot_threshold.mos~
@@ -0,0 +1,14 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/sumeet/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/sumeet/MDD_Arduino/linux-version-4/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_pot.MDD_pot_threshold, fileNamePrefix="pot_threshold");
+getErrorString();
+
+simulate(pot_threshold, outputFormat="csv", startTime=0, stopTime=4, numberOfIntervals=5)
+plot(y)
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button
new file mode 100644
index 0000000..976f017
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.hex
new file mode 100644
index 0000000..a35b0ab
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.hex
@@ -0,0 +1,94 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94FC0071
+:100020000C9451000C9451000C9451000C94CB0092
+:100030000C9451000C9451000C949A000C945100B3
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0ECEAF5E002C0E8
+:1000800005900D92A631B107D9F711E0A6E1B1E0D4
+:1000900001C01D92AB31B107E1F70E944F010C94F2
+:1000A000D4020C940000FC01A685B7858C91829542
+:1000B000817080871186848995898230910561F0ED
+:1000C0008330910599F00197C9F416BC80916E00B8
+:1000D000826080936E0016C010928500109284009A
+:1000E00080916F00826080936F000CC01092B2000C
+:1000F0008091700082608093700004C081E090E085
+:100100000E94D40278949FB7F894809118019FBF01
+:100110008823C9F310921801A089B189808591853F
+:10012000009721F08C9182608C9308958C918D7F43
+:100130008C9308951F920F920FB60F9211242F9354
+:100140003F938F939F938091160190911701019691
+:10015000909317018093160180911801813091F0DE
+:1001600020911601309117018091190190911A0187
+:100170002817390738F081E0809318011092170191
+:10018000109216019F918F913F912F910F900FBE6A
+:100190000F901F9018951F920F920FB60F92112477
+:1001A0002F933F938F939F93809116019091170106
+:1001B0000196909317018093160180911801813068
+:1001C00091F02091160130911701809119019091C1
+:1001D0001A012817390738F081E08093180110922E
+:1001E0001701109216019F918F913F912F910F90BF
+:1001F0000FBE0F901F9018951F920F920FB60F927F
+:1002000011242F933F938F939F9380911601909188
+:1002100017010196909317018093160180911801A0
+:10022000813091F0209116013091170180911901D0
+:1002300090911A012817390738F081E0809318014E
+:1002400010921701109216019F918F913F912F915B
+:100250000F900FBE0F901F901895FC01219A85E218
+:1002600090E0918B808B249883E290E0978786873B
+:1002700085B5836085BD81E090E0938B828B22E021
+:1002800030E030931A012093190124B5226024BD77
+:1002900029EF27BD958B848B80E090E00895CF9265
+:1002A000DF92EF92FF9280E091E00E942D01C12C3D
+:1002B000D12C760160E070E0CB0160930001709377
+:1002C0000101809302019093030180E091E00E947C
+:1002D00053008FEFC81AD80AE80AF80AC701B60116
+:1002E0000E94E3012FE632E143E05BE30E947102EA
+:1002F00020E030E0A9010E947F01DFCF5058BB27EA
+:10030000AA270ED0B4C0A5D030F0AAD020F031F486
+:100310009F3F11F41EF49AC00EF4E095E7FB90C0E5
+:10032000E92FB6D080F3BA176207730784079507E1
+:1003300018F071F49EF5CEC00EF4E0950B2EBA2F96
+:10034000A02D0B01B90190010C01CA01A0011124DB
+:10035000FF27591B99F0593F50F4503E68F11A1687
+:10036000F040A22F232F342F4427585FF3CF469518
+:1003700037952795A795F0405395C9F77EF41F163A
+:10038000BA0B620B730B840BBAF09150A1F0FF0F04
+:10039000BB1F661F771F881FC2F70EC0BA0F621FF0
+:1003A000731F841F48F4879577956795B795F795E0
+:1003B0009E3F08F0B3CF9395880F08F09927EE0F72
+:1003C000979587950895E89409C097FB3EF490951A
+:1003D0008095709561957F4F8F4F9F4F9923A9F01E
+:1003E000F92F96E9BB279395F695879577956795AD
+:1003F000B795F111F8CFFAF4BB0F11F460FF1BC0F1
+:100400006F5F7F4F8F4F9F4F16C0882311F096E983
+:1004100011C0772321F09EE8872F762F05C0662331
+:1004200071F096E8862F70E060E02AF09A95660FEA
+:10043000771F881FDAF7880F9695879597F90895A3
+:1004400097F99F6780E870E060E008959FEF80EC87
+:10045000089500240A94161617061806090608952A
+:1004600000240A9412161306140605060895092E90
+:100470000394000C11F4882352F0BB0F40F4BF2BFF
+:1004800011F460FF04C06F5F7F4F8F4F9F4F08953F
+:1004900057FD9058440F551F59F05F3F71F0479535
+:1004A000880F97FB991F61F09F3F79F0879508951A
+:1004B000121613061406551FF2CF4695F1DF08C039
+:1004C000161617061806991FF1CF86957105610556
+:1004D00008940895E894BB2766277727CB0197F9FE
+:1004E00008950BD0C4CFB5DF28F0BADF18F09523FC
+:1004F00009F0A6CFABCF1124EECFCADFA0F3959FB2
+:10050000D1F3950F50E0551F629FF001729FBB27FA
+:10051000F00DB11D639FAA27F00DB11DAA1F649FA6
+:100520006627B00DA11D661F829F2227B00DA11D59
+:10053000621F739FB00DA11D621F839FA00D611DDF
+:10054000221F749F3327A00D611D231F849F600D00
+:10055000211D822F762F6A2F11249F5750408AF039
+:10056000E1F088234AF0EE0FFF1FBB1F661F771FC5
+:10057000881F91505040A9F79E3F510570F060CF01
+:10058000AACF5F3FECF3983EDCF3869577956795AD
+:10059000B795F795E7959F5FC1F7FE2B880F911DE3
+:0C05A0009695879597F90895F894FFCF81
+:1005AC00000000000000000000006F12033B000080
+:0605BC0000000000000039
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.sh
new file mode 100644
index 0000000..2676f10
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_led_push_button.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_led_push_button.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections led_push_button_main.c -o led_push_button -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom led_push_button led_push_button.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:led_push_button.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.sh~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.sh~
new file mode 100644
index 0000000..1428171
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button.sh~
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_led_push_button.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_led_push_button.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections led_push_button_main.c -o led_push_button -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom led_push_button led_push_button.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:led_push_button.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button_main.c
new file mode 100644
index 0000000..0a380fc
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_button_main.c
@@ -0,0 +1,235 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct led_push_button_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct led_push_button_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[3];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[4];
+} led_push_button_fmi2Component;
+
+led_push_button_fmi2Component led_push_button_component = {
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ fmi2False /*booleanExpression2._y*/,
+ fmi2False /*digitalReadBoolean1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline fmi2Boolean Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_read(fmi2Component comp, void* om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_destructor(fmi2Component comp, void* om_digital);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Boolean Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_read(fmi2Component comp, void* om_port, fmi2Integer om_pin)
+{
+ fmi2Boolean om_b;
+ om_b = MDD_avr_digital_pin_read(om_port, om_pin);
+ return om_b;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2False);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component led_push_button_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &led_push_button_component;
+}
+
+fmi2Status led_push_button_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status led_push_button_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ comp->extObjs[0] /* digitalReadBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitRead */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(comp, 2, 5);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ return fmi2OK;
+}
+
+fmi2Status led_push_button_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status led_push_button_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status led_push_button_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2BooleanVars[2] /* digitalReadBoolean1._y DISCRETE */ = comp->fmi2BooleanVars[2] /* digitalReadBoolean1._y DISCRETE */;
+ comp->fmi2BooleanVars[2] /* digitalReadBoolean1._y DISCRETE */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_read(comp, comp->extObjs[0] /* digitalReadBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitRead */, 5);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, comp->fmi2BooleanVars[2] /* digitalReadBoolean1._y DISCRETE */);
+}
+
+fmi2Status led_push_button_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ led_push_button_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = led_push_button_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ led_push_button_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ led_push_button_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ led_push_button_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = led_push_button_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_test.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_test.hex
new file mode 100644
index 0000000..ef6d000
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_test.hex
@@ -0,0 +1,64 @@
+:100000000C9434000C9446000C9446000C9446006A
+:100010000C9446000C9446000C9446000C94460048
+:100020000C9446000C9446000C9446000C94460038
+:100030000C9446000C9446000C9446000C94460028
+:100040000C9446000C9446000C9446000C94460018
+:100050000C9446000C9446000C9446000C94460008
+:100060000C9446000C94460011241FBECFEFD8E03C
+:10007000DEBFCDBF11E0A0E0B1E001C01D92AE3007
+:10008000B107E1F70E946C000C94F1010C940000A0
+:10009000FC01A285B3858C9184FB222720F930E0F6
+:1000A000318720870484F585E02D8081232B19F08A
+:1000B0008460808308958B7F80830895229A25E24F
+:1000C00030E0FC0135872487249823E230E0338731
+:1000D000228780E090E00895CF92DF92EF92FF9226
+:1000E00080E091E00E945E00C12CD12C760160E09E
+:1000F00070E0CB01609300017093010180930201D5
+:100100009093030180E091E00E9448008FEFC81AAD
+:10011000D80AE80AF80AC701B6010E9400012FE6D2
+:1001200032E143E05BE30E948E0120E030E0A90170
+:100130000E949C00DFCF5058BB27AA270ED0B4C026
+:10014000A5D030F0AAD020F031F49F3F11F41EF476
+:100150009AC00EF4E095E7FB90C0E92FB6D080F38B
+:10016000BA17620773078407950718F071F49EF5B4
+:10017000CEC00EF4E0950B2EBA2FA02D0B01B901C5
+:1001800090010C01CA01A0011124FF27591B99F00D
+:10019000593F50F4503E68F11A16F040A22F232F19
+:1001A000342F4427585FF3CF469537952795A79569
+:1001B000F0405395C9F77EF41F16BA0B620B730B10
+:1001C000840BBAF09150A1F0FF0FBB1F661F771F81
+:1001D000881FC2F70EC0BA0F621F731F841F48F436
+:1001E000879577956795B795F7959E3F08F0B3CFBC
+:1001F0009395880F08F09927EE0F979587950895A6
+:10020000E89409C097FB3EF49095809570956195B0
+:100210007F4F8F4F9F4F9923A9F0F92F96E9BB2766
+:100220009395F695879577956795B795F111F8CFE2
+:10023000FAF4BB0F11F460FF1BC06F5F7F4F8F4F4D
+:100240009F4F16C0882311F096E911C0772321F043
+:100250009EE8872F762F05C0662371F096E8862FDB
+:1002600070E060E02AF09A95660F771F881FDAF732
+:10027000880F9695879597F9089597F99F6780E875
+:1002800070E060E008959FEF80EC089500240A94E8
+:100290001616170618060906089500240A94121661
+:1002A0001306140605060895092E0394000C11F494
+:1002B000882352F0BB0F40F4BF2B11F460FF04C041
+:1002C0006F5F7F4F8F4F9F4F089557FD9058440F9A
+:1002D000551F59F05F3F71F04795880F97FB991FA5
+:1002E00061F09F3F79F08795089512161306140662
+:1002F000551FF2CF4695F1DF08C0161617061806EF
+:10030000991FF1CF86957105610508940895E894C9
+:10031000BB2766277727CB0197F908950BD0C4CF69
+:10032000B5DF28F0BADF18F0952309F0A6CFABCFE0
+:100330001124EECFCADFA0F3959FD1F3950F50E0C3
+:10034000551F629FF001729FBB27F00DB11D639F87
+:10035000AA27F00DB11DAA1F649F6627B00DA11D2D
+:10036000661F829F2227B00DA11D621F739FB00DD3
+:10037000A11D621F839FA00D611D221F749F332743
+:10038000A00D611D231F849F600D211D822F762FDC
+:100390006A2F11249F5750408AF0E1F088234AF0D9
+:1003A000EE0FFF1FBB1F661F771F881F9150504025
+:1003B000A9F79E3F510570F060CFAACF5F3FECF3E5
+:1003C000983EDCF3869577956795B795F795E79511
+:1003D0009F5FC1F7FE2B880F911D9695879597F922
+:0603E0000895F894FFCF20
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_test_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_test_main.c
new file mode 100644
index 0000000..1bef90d
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_push_test_main.c
@@ -0,0 +1,198 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct led_push_test_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct led_push_test_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[3];
+ void* extObjs[2];
+} led_push_test_fmi2Component;
+
+led_push_test_fmi2Component led_push_test_component = {
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ fmi2False /*booleanExpression2._y*/,
+ fmi2False /*digitalReadBoolean1._y*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRDigital.h"
+
+static inline fmi2Boolean Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_read(fmi2Component comp, void* om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_destructor(fmi2Component comp, void* om_digital);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+
+static inline fmi2Boolean Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_read(fmi2Component comp, void* om_port, fmi2Integer om_pin)
+{
+ fmi2Boolean om_b;
+ om_b = MDD_avr_digital_pin_read(om_port, om_pin);
+ return om_b;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2False);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+
+fmi2Component led_push_test_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &led_push_test_component;
+}
+
+fmi2Status led_push_test_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status led_push_test_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 3);
+ comp->extObjs[0] /* digitalReadBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitRead */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(comp, 2, 5);
+ return fmi2OK;
+}
+
+fmi2Status led_push_test_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status led_push_test_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status led_push_test_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2BooleanVars[2] /* digitalReadBoolean1._y DISCRETE */ = comp->fmi2BooleanVars[2] /* digitalReadBoolean1._y DISCRETE */;
+ comp->fmi2BooleanVars[2] /* digitalReadBoolean1._y DISCRETE */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_read(comp, comp->extObjs[0] /* digitalReadBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitRead */, 5);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 3, comp->fmi2BooleanVars[2] /* digitalReadBoolean1._y DISCRETE */);
+}
+
+fmi2Status led_push_test_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ led_push_test_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = led_push_test_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ led_push_test_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ led_push_test_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ led_push_test_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = led_push_test_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_test b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_test
new file mode 100644
index 0000000..3a7ea87
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/led_test
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/output.txt b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/output.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/output.txt
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.mo b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.mo
new file mode 100644
index 0000000..6f0e207
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.mo
@@ -0,0 +1,26 @@
+model pushTest1
+ extends Modelica.Icons.Example;
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalReadBoolean digitalReadBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'4', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {-60, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'2', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {60, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {-2, -2}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-44, 48}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = false) annotation(
+ Placement(visible = true, transformation(origin = {-46, -58}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-70, 78}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+equation
+ connect(booleanExpression1.y, logicalSwitch1.u1) annotation(
+ Line(points = {{-33, 48}, {-28, 48}, {-28, 6}, {-14, 6}}, color = {255, 0, 255}));
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{10, -2}, {48, -2}, {48, -2}, {48, -2}}, color = {255, 0, 255}));
+ connect(digitalReadBoolean1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{-48, -2}, {-14, -2}, {-14, -2}, {-14, -2}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, logicalSwitch1.u3) annotation(
+ Line(points = {{-34, -58}, {-24, -58}, {-24, -10}, {-14, -10}, {-14, -10}}, color = {255, 0, 255}));
+ annotation(
+ uses(Modelica_DeviceDrivers(version = "1.5.0"), Modelica(version = "3.2.2")));
+end pushTest1; \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.sh
new file mode 100644
index 0000000..2676f10
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_led_push_button.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_led_push_button.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections led_push_button_main.c -o led_push_button -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom led_push_button led_push_button.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:led_push_button.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.sh~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.sh~
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/pushTest1.sh~
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status
new file mode 100644
index 0000000..5b91980
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status.hex
new file mode 100644
index 0000000..ab8dde5
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status.hex
@@ -0,0 +1,91 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94E50088
+:100020000C9451000C9451000C9451000C94B400A9
+:100030000C9451000C9451000C9483000C945100CA
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E8E7F5E002C0EF
+:1000800005900D92A431B107D9F711E0A4E1B1E0D8
+:1000900001C01D92A931B107E1F70E9433010C9410
+:1000A000BA020C9400008230910561F08330910512
+:1000B00099F00197C9F416BC80916E00826080931C
+:1000C0006E0016C0109285001092840080916F001F
+:1000D000826080936F000CC01092B200809170001B
+:1000E00082608093700004C081E090E00E94BA02B8
+:1000F00078949FB7F894809116019FBF8823C9F325
+:100100001092160108951F920F920FB60F921124AC
+:100110002F933F938F939F9380911401909115019A
+:1001200001969093150180931401809116018130FE
+:1001300091F0209114013091150180911701909157
+:1001400018012817390738F081E0809316011092C2
+:100150001501109214019F918F913F912F910F9053
+:100160000FBE0F901F9018951F920F920FB60F920F
+:1001700011242F933F938F939F938091140190911B
+:100180001501019690931501809314018091160139
+:10019000813091F020911401309115018091170167
+:1001A000909118012817390738F081E080931601E3
+:1001B00010921501109214019F918F913F912F91F0
+:1001C0000F900FBE0F901F9018951F920F920FB6B1
+:1001D0000F9211242F933F938F939F93809114013B
+:1001E00090911501019690931501809314018091CF
+:1001F0001601813091F02091140130911501809108
+:100200001701909118012817390738F081E0809381
+:10021000160110921501109214019F918F913F9138
+:100220002F910F900FBE0F901F901895FC012498EE
+:1002300083E290E09787868785B5836085BD81E0FE
+:1002400090E0918B808B22E030E030931801209376
+:10025000170124B5226024BD29EF27BD938B828B23
+:1002600080E090E00895CF92DF92EF92FF9280E0DD
+:1002700091E00E941601C12CD12C760160E070E063
+:10028000CB01609300017093010180930201909370
+:10029000030180911201909113010E9453008FEF8E
+:1002A000C81AD80AE80AF80AC701B6010E94C901AB
+:1002B0002FE632E143E05BE30E94570220E030E0AA
+:1002C000A9010E946501DDCF5058BB27AA270ED097
+:1002D000B4C0A5D030F0AAD020F031F49F3F11F483
+:1002E0001EF49AC00EF4E095E7FB90C0E92FB6D05B
+:1002F00080F3BA17620773078407950718F071F443
+:100300009EF5CEC00EF4E0950B2EBA2FA02D0B015A
+:10031000B90190010C01CA01A0011124FF27591B4A
+:1003200099F0593F50F4503E68F11A16F040A22F50
+:10033000232F342F4427585FF3CF469537952795C1
+:10034000A795F0405395C9F77EF41F16BA0B620BC0
+:10035000730B840BBAF09150A1F0FF0FBB1F661F07
+:10036000771F881FC2F70EC0BA0F621F731F841F4A
+:1003700048F4879577956795B795F7959E3F08F070
+:10038000B3CF9395880F08F09927EE0F979587952F
+:100390000895E89409C097FB3EF490958095709578
+:1003A00061957F4F8F4F9F4F9923A9F0F92F96E9C1
+:1003B000BB279395F695879577956795B795F11136
+:1003C000F8CFFAF4BB0F11F460FF1BC06F5F7F4FD3
+:1003D0008F4F9F4F16C0882311F096E911C07723E5
+:1003E00021F09EE8872F762F05C0662371F096E8EE
+:1003F000862F70E060E02AF09A95660F771F881FBD
+:10040000DAF7880F9695879597F9089597F99F677A
+:1004100080E870E060E008959FEF80EC089500248C
+:100420000A941616170618060906089500240A9459
+:1004300012161306140605060895092E0394000CDF
+:1004400011F4882352F0BB0F40F4BF2B11F460FF6E
+:1004500004C06F5F7F4F8F4F9F4F089557FD905897
+:10046000440F551F59F05F3F71F04795880F97FB78
+:10047000991F61F09F3F79F0879508951216130632
+:100480001406551FF2CF4695F1DF08C01616170661
+:100490001806991FF1CF8695710561050894089596
+:1004A000E894BB2766277727CB0197F908950BD0EF
+:1004B000C4CFB5DF28F0BADF18F0952309F0A6CF36
+:1004C000ABCF1124EECFCADFA0F3959FD1F3950FE8
+:1004D00050E0551F629FF001729FBB27F00DB11DC8
+:1004E000639FAA27F00DB11DAA1F649F6627B00D58
+:1004F000A11D661F829F2227B00DA11D621F739F41
+:10050000B00DA11D621F839FA00D611D221F749F4E
+:100510003327A00D611D231F849F600D211D822F95
+:10052000762F6A2F11249F5750408AF0E1F08823DC
+:100530004AF0EE0FFF1FBB1F661F771F881F9150E9
+:100540005040A9F79E3F510570F060CFAACF5F3FA2
+:10055000ECF3983EDCF3869577956795B795F7951C
+:10056000E7959F5FC1F7FE2B880F911D96958795A4
+:0805700097F90895F894FFCFFC
+:1005780000000000000000006F12033B01000000B3
+:04058800000000006F
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status.sh
new file mode 100644
index 0000000..404eced
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_push_button_status.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_push_button_status.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections push_button_status_main.c -o push_button_status -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom push_button_status push_button_status.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:push_button_status.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status_main.c
new file mode 100644
index 0000000..f732e8a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/push_button_status_main.c
@@ -0,0 +1,219 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct push_button_status_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct push_button_status_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[2];
+ fmi2Real fmi2RealParameter[1];
+ fmi2Boolean fmi2BooleanParameter[1];
+ void* extObjs[3];
+} push_button_status_fmi2Component;
+
+push_button_status_fmi2Component push_button_status_component = {
+ .fmi2BooleanVars = {
+ fmi2False /*booleanValue1._active*/,
+ fmi2False /*digitalReadBoolean1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+ .fmi2BooleanParameter = {
+ fmi2True /*booleanValue1._use_activePort*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline fmi2Boolean Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_read(fmi2Component comp, void* om_port, fmi2Integer om_pin);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Boolean Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_read(fmi2Component comp, void* om_port, fmi2Integer om_pin)
+{
+ fmi2Boolean om_b;
+ om_b = MDD_avr_digital_pin_read(om_port, om_pin);
+ return om_b;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2False);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component push_button_status_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &push_button_status_component;
+}
+
+fmi2Status push_button_status_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status push_button_status_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* digitalReadBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitRead */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(comp, 2, 5);
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ return fmi2OK;
+}
+
+fmi2Status push_button_status_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status push_button_status_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status push_button_status_functionOutputs(fmi2Component comp)
+{
+ Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);
+}
+
+fmi2Status push_button_status_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ push_button_status_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = push_button_status_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ push_button_status_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ push_button_status_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ push_button_status_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = push_button_status_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_led_push_button.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_led_push_button.mos
new file mode 100644
index 0000000..f396c9b
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_led_push_button.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/sumeet/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/sumeet/MDD_Arduino/linux-version-4/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_push.pushTest1, fileNamePrefix="led_push_test");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_led_push_button.mos~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_led_push_button.mos~
new file mode 100644
index 0000000..f396c9b
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_led_push_button.mos~
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/sumeet/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/sumeet/MDD_Arduino/linux-version-4/OpenModelica-Arduino-MDD_Arduino_Revised/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_push.pushTest1, fileNamePrefix="led_push_test");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_push_button_status.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_push_button_status.mos
new file mode 100644
index 0000000..ab3a87e
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_push_button_status.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_push.pushTest1, fileNamePrefix="push_button_test");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_push_button_status.mos~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_push_button_status.mos~
new file mode 100644
index 0000000..ab3a87e
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/push/runMDD_push_button_status.mos~
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_push.pushTest1, fileNamePrefix="push_button_test");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_init.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_init.mos
new file mode 100644
index 0000000..be5ff81
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_init.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_servo.MDD_servo_init, fileNamePrefix="servo_init");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_loop.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_loop.mos
new file mode 100644
index 0000000..23b035f
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_loop.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_servo.MDD_servo_loop, fileNamePrefix="servo_loop");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_pot.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_pot.mos
new file mode 100644
index 0000000..a7e6ac1
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_pot.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_servo.MDD_servo_pot, fileNamePrefix="servo_pot");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_reverse.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_reverse.mos
new file mode 100644
index 0000000..4d6b950
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/runMDD_servo_reverse.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_servo.MDD_servo_reverse, fileNamePrefix="servo_reverse");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init
new file mode 100644
index 0000000..ba1b63b
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init.hex
new file mode 100644
index 0000000..667f2cc
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init.hex
@@ -0,0 +1,94 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94E50088
+:100020000C9451000C9451000C9451000C94B400A9
+:100030000C9451000C9451000C9483000C945100CA
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E6EAF5E002C0EE
+:1000800005900D92A231B107D9F711E0A2E1B1E0DC
+:1000900001C01D92A731B107E1F70E9443010C9402
+:1000A000D1020C9400008230910561F083309105FB
+:1000B00099F00197C9F416BC80916E00826080931C
+:1000C0006E0016C0109285001092840080916F001F
+:1000D000826080936F000CC01092B200809170001B
+:1000E00082608093700004C081E090E00E94D102A1
+:1000F00078949FB7F894809114019FBF8823C9F327
+:100100001092140108951F920F920FB60F921124AE
+:100110002F933F938F939F9380911201909113019E
+:100120000196909313018093120180911401813004
+:1001300091F020911201309113018091150190915D
+:1001400016012817390738F081E0809314011092C6
+:100150001301109212019F918F913F912F910F9057
+:100160000FBE0F901F9018951F920F920FB60F920F
+:1001700011242F933F938F939F938091120190911D
+:100180001301019690931301809312018091140141
+:10019000813091F02091120130911301809115016D
+:1001A000909116012817390738F081E080931401E7
+:1001B00010921301109212019F918F913F912F91F4
+:1001C0000F900FBE0F901F9018951F920F920FB6B1
+:1001D0000F9211242F933F938F939F93809112013D
+:1001E00090911301019690931301809312018091D5
+:1001F0001401813091F0209112013091130180910E
+:100200001501909116012817390738F081E0809385
+:10021000140110921301109212019F918F913F913E
+:100220002F910F900FBE0F901F901895FC01A1E821
+:10023000B0E08C918D608C9322E030E03387228790
+:10024000219AA0E8B0E08C9181688C93A8E8B0E096
+:1002500011961C921E921C92B587A48785B5836067
+:1002600085BD81E090E097878687309316012093C3
+:10027000150124B5226024BD29EF27BD918B808B09
+:1002800080E090E00895CF92DF92EF92FF92CF93BB
+:1002900080E091E00E941601C12CD12C760160E033
+:1002A00070E0CB01CEE16093000170930101809377
+:1002B00002019093030180911001909111010E941D
+:1002C0005300E0910C01F0910D01C0838FEFC81A2B
+:1002D000D80AE80AF80AC701B6010E94E0012FE631
+:1002E00032E143E05BE30E946E0220E030E0A901CE
+:1002F0000E947C01D8CF5058BB27AA270ED0B4C08B
+:10030000A5D030F0AAD020F031F49F3F11F41EF4B4
+:100310009AC00EF4E095E7FB90C0E92FB6D080F3C9
+:10032000BA17620773078407950718F071F49EF5F2
+:10033000CEC00EF4E0950B2EBA2FA02D0B01B90103
+:1003400090010C01CA01A0011124FF27591B99F04B
+:10035000593F50F4503E68F11A16F040A22F232F57
+:10036000342F4427585FF3CF469537952795A795A7
+:10037000F0405395C9F77EF41F16BA0B620B730B4E
+:10038000840BBAF09150A1F0FF0FBB1F661F771FBF
+:10039000881FC2F70EC0BA0F621F731F841F48F474
+:1003A000879577956795B795F7959E3F08F0B3CFFA
+:1003B0009395880F08F09927EE0F979587950895E4
+:1003C000E89409C097FB3EF49095809570956195EF
+:1003D0007F4F8F4F9F4F9923A9F0F92F96E9BB27A5
+:1003E0009395F695879577956795B795F111F8CF21
+:1003F000FAF4BB0F11F460FF1BC06F5F7F4F8F4F8C
+:100400009F4F16C0882311F096E911C0772321F081
+:100410009EE8872F762F05C0662371F096E8862F19
+:1004200070E060E02AF09A95660F771F881FDAF770
+:10043000880F9695879597F9089597F99F6780E8B3
+:1004400070E060E008959FEF80EC089500240A9426
+:100450001616170618060906089500240A9412169F
+:100460001306140605060895092E0394000C11F4D2
+:10047000882352F0BB0F40F4BF2B11F460FF04C07F
+:100480006F5F7F4F8F4F9F4F089557FD9058440FD8
+:10049000551F59F05F3F71F04795880F97FB991FE3
+:1004A00061F09F3F79F087950895121613061406A0
+:1004B000551FF2CF4695F1DF08C01616170618062D
+:1004C000991FF1CF86957105610508940895E89408
+:1004D000BB2766277727CB0197F908950BD0C4CFA8
+:1004E000B5DF28F0BADF18F0952309F0A6CFABCF1F
+:1004F0001124EECFCADFA0F3959FD1F3950F50E002
+:10050000551F629FF001729FBB27F00DB11D639FC5
+:10051000AA27F00DB11DAA1F649F6627B00DA11D6B
+:10052000661F829F2227B00DA11D621F739FB00D11
+:10053000A11D621F839FA00D611D221F749F332781
+:10054000A00D611D231F849F600D211D822F762F1A
+:100550006A2F11249F5750408AF0E1F088234AF017
+:10056000EE0FFF1FBB1F661F771F881F9150504063
+:10057000A9F79E3F510570F060CFAACF5F3FECF323
+:10058000983EDCF3869577956795B795F795E7954F
+:100590009F5FC1F7FE2B880F911D9695879597F960
+:0605A0000895F894FFCF5E
+:1005A6000000000000006F12033B00000000000086
+:0205B600000043
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init.sh
new file mode 100644
index 0000000..a8c1413
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_servo_init.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_servo_init.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections servo_init_main.c -o servo_init -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom servo_init servo_init.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:servo_init.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init_main.c
new file mode 100644
index 0000000..b10d9af
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_init_main.c
@@ -0,0 +1,213 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct servo_init_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct servo_init_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Integer fmi2IntegerVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[4];
+} servo_init_fmi2Component;
+
+servo_init_fmi2Component servo_init_component = {
+ .fmi2IntegerVars = {
+ 0 /*integerExpression1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value)
+{
+ MDD_avr_pwm_set(om_pwm, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted)
+{
+ void* om_pwm;
+ om_pwm = MDD_avr_pwm_init(om_timer, om_pin, om_initialValue, om_inverted);
+ return om_pwm;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm)
+{
+ MDD_avr_pwm_close(om_pwm);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component servo_init_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &servo_init_component;
+}
+
+fmi2Status servo_init_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status servo_init_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 1, 0, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ return fmi2OK;
+}
+
+fmi2Status servo_init_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status servo_init_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status servo_init_functionOutputs(fmi2Component comp)
+{
+ Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, 30);
+}
+
+fmi2Status servo_init_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ servo_init_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = servo_init_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ servo_init_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ servo_init_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ servo_init_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = servo_init_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_loop.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_loop.sh
new file mode 100644
index 0000000..4be3b84
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_loop.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_servo_loop.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_servo_loop.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections servo_loop_main.c -o servo_loop -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom servo_loop servo_loop.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:servo_loop.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_loop_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_loop_main.c
new file mode 100644
index 0000000..2eb1630
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_loop_main.c
@@ -0,0 +1,235 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct servo_loop_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct servo_loop_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Integer fmi2IntegerVars[3];
+ fmi2Boolean fmi2BooleanVars[3];
+ fmi2Real fmi2RealParameter[1];
+ fmi2Integer fmi2IntegerParameter[1];
+ fmi2Boolean fmi2BooleanParameter[2];
+ fmi2String fmi2StringParameter[1];
+ void* extObjs[4];
+} servo_loop_fmi2Component;
+
+servo_loop_fmi2Component servo_loop_component = {
+ .fmi2IntegerVars = {
+ 0 /*integerExpression1._y*/,
+ 0 /*triggeredAdd1._local_set*/,
+ 0 /*triggeredAdd1._y*/,
+ },
+ .fmi2BooleanVars = {
+ fmi2False /*$whenCondition1*/,
+ fmi2False /*booleanExpression1._y*/,
+ fmi2False /*triggeredAdd1._local_reset*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+ .fmi2IntegerParameter = {
+ 0 /*triggeredAdd1._y_start*/,
+ },
+ .fmi2BooleanParameter = {
+ fmi2False /*triggeredAdd1._use_reset*/,
+ fmi2False /*triggeredAdd1._use_set*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value)
+{
+ MDD_avr_pwm_set(om_pwm, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted)
+{
+ void* om_pwm;
+ om_pwm = MDD_avr_pwm_init(om_timer, om_pin, om_initialValue, om_inverted);
+ return om_pwm;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm)
+{
+ MDD_avr_pwm_close(om_pwm);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component servo_loop_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &servo_loop_component;
+}
+
+fmi2Status servo_loop_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status servo_loop_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 1, 0, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ return fmi2OK;
+}
+
+fmi2Status servo_loop_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status servo_loop_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status servo_loop_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2BooleanVars[0] /* $whenCondition1 DISCRETE */ = (om_mod(comp->currentTime,0.2))>(0.1); /* equation 9 */
+
+ #error "[CodegenEmbeddedC.tpl:346:14-346:14] Unsupported equation: ..."
+
+ comp->fmi2BooleanVars[1] /* booleanExpression1._y DISCRETE */ = comp->fmi2BooleanVars[0] /* $whenCondition1 DISCRETE */; /* equation 11 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[2] /* triggeredAdd1._y DISCRETE */);
+}
+
+fmi2Status servo_loop_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ servo_loop_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = servo_loop_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ servo_loop_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ servo_loop_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ servo_loop_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = servo_loop_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_pot.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_pot.sh
new file mode 100644
index 0000000..41f9d90
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_pot.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_servo_pot.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_servo_pot.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections servo_pot_main.c -o servo_pot -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom servo_pot servo_pot.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:servo_pot.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_pot_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_pot_main.c
new file mode 100644
index 0000000..4cb1705
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_pot_main.c
@@ -0,0 +1,244 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct servo_pot_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct servo_pot_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[1];
+ fmi2Integer fmi2IntegerVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[5];
+} servo_pot_fmi2Component;
+
+servo_pot_fmi2Component servo_pot_component = {
+ .fmi2RealVars = {
+ 0.0 /*adc._y*/,
+ },
+ .fmi2IntegerVars = {
+ 0 /*pwm._u[1]*/,
+ },
+ .fmi2RealParameter = {
+ 0.002 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+static const char * const OMCLIT0 = "ElectricPotential";
+static const char * const OMCLIT1 = "V";
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution)
+{
+ fmi2Real om_value;
+ om_value = MDD_avr_analog_read(om_analogPort, om_vref, om_voltageResolution);
+ return om_value;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage)
+{
+ void* om_avr;
+ om_avr = MDD_avr_analog_init(om_divisionFactor, om_referenceVoltage);
+ return om_avr;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr)
+{
+ MDD_avr_analog_close(om_avr);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value)
+{
+ MDD_avr_pwm_set(om_pwm, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted)
+{
+ void* om_pwm;
+ om_pwm = MDD_avr_pwm_init(om_timer, om_pin, om_initialValue, om_inverted);
+ return om_pwm;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm)
+{
+ MDD_avr_pwm_close(om_pwm);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component servo_pot_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &servo_pot_component;
+}
+
+fmi2Status servo_pot_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status servo_pot_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[2] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[1] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 1, 0, fmi2False);
+ comp->extObjs[0] /* adc._analog EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Analog.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(comp, 7, 4);
+ comp->extObjs[3] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[4] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[3] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 2);
+ return fmi2OK;
+}
+
+fmi2Status servo_pot_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status servo_pot_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status servo_pot_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* adc._y variable */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(comp, 3, 180.0, 10); /* equation 4 */
+ comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */ = ((comp->fmi2RealVars[0] /* adc._y variable */)>(0.0)) ? (((int)
+ #error "[CodegenEmbeddedC.tpl:490:28-490:28] daeExpCallBuiltin: Not supported: floor(0.5 + adc.y, 1)"
+ )) : (((int)
+ #error "[CodegenEmbeddedC.tpl:490:28-490:28] daeExpCallBuiltin: Not supported: ceil(-0.5 + adc.y, 3)"
+ )); /* equation 5 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[4] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[2] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */);
+}
+
+fmi2Status servo_pot_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ servo_pot_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = servo_pot_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ servo_pot_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ servo_pot_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ servo_pot_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = servo_pot_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse
new file mode 100644
index 0000000..67359ad
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse.hex
new file mode 100644
index 0000000..565bd99
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse.hex
@@ -0,0 +1,101 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94E50088
+:100020000C9451000C9451000C9451000C94B400A9
+:100030000C9451000C9451000C9483000C945100CA
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0ECE1F6E002C0F0
+:1000800005900D92A231B107D9F711E0A2E1B1E0DC
+:1000900001C01D92A731B107E1F70E9445010C9400
+:1000A0000C030C9400008230910561F083309105BF
+:1000B00099F00197C9F416BC80916E00826080931C
+:1000C0006E0016C0109285001092840080916F001F
+:1000D000826080936F000CC01092B200809170001B
+:1000E00082608093700004C081E090E00E940C0365
+:1000F00078949FB7F894809114019FBF8823C9F327
+:100100001092140108951F920F920FB60F921124AE
+:100110002F933F938F939F9380911201909113019E
+:100120000196909313018093120180911401813004
+:1001300091F020911201309113018091150190915D
+:1001400016012817390738F081E0809314011092C6
+:100150001301109212019F918F913F912F910F9057
+:100160000FBE0F901F9018951F920F920FB60F920F
+:1001700011242F933F938F939F938091120190911D
+:100180001301019690931301809312018091140141
+:10019000813091F02091120130911301809115016D
+:1001A000909116012817390738F081E080931401E7
+:1001B00010921301109212019F918F913F912F91F4
+:1001C0000F900FBE0F901F9018951F920F920FB6B1
+:1001D0000F9211242F933F938F939F93809112013D
+:1001E00090911301019690931301809312018091D5
+:1001F0001401813091F0209112013091130180910E
+:100200001501909116012817390738F081E0809385
+:10021000140110921301109212019F918F913F913E
+:100220002F910F900FBE0F901F901895FC01A1E821
+:10023000B0E08C918D608C9382E090E09387828710
+:10024000219AA0E8B0E08C9181688C93A8E8B0E096
+:1002500011961C921E921C92B587A48785B5836067
+:1002600085BD81E090E0978786872AE030E0309373
+:1002700016012093150124B5226024BD29EF27BD66
+:10028000918B808B80E090E00895CF92DF92EF9287
+:10029000FF9280E091E00E941601C12CD12C7601E2
+:1002A00060E070E0CB0160930001709301018093E6
+:1002B0000201909303012DEC3CEC4CE45EE30E94C0
+:1002C000F30187FF03C086E190E002C08FE090E079
+:1002D0009093050180930401809110019091110188
+:1002E0000E945300E0910C01F0910D0180910401F6
+:1002F00080838FEFC81AD80AE80AF80AC701B60146
+:100300000E94F7012FE632E143E05BE30E94A9027D
+:1003100020E030E0A9010E948F01C5CF5058BB27D3
+:10032000AA270ED0DCC0CDD030F0D2D020F031F4EE
+:100330009F3F11F41EF4C2C00EF4E095E7FBB8C075
+:10034000E92FDED080F3BA17620773078407950799
+:1003500018F071F49EF5F6C00EF4E0950B2EBA2F4E
+:10036000A02D0B01B90190010C01CA01A0011124BB
+:10037000FF27591B99F0593F50F4503E68F11A1667
+:10038000F040A22F232F342F4427585FF3CF4695F8
+:1003900037952795A795F0405395C9F77EF41F161A
+:1003A000BA0B620B730B840BBAF09150A1F0FF0FE4
+:1003B000BB1F661F771F881FC2F70EC0BA0F621FD0
+:1003C000731F841F48F4879577956795B795F795C0
+:1003D0009E3F08F0B3CF9395880F08F09927EE0F52
+:1003E00097958795089540D008F481E00895E894A2
+:1003F00009C097FB3EF490958095709561957F4F6D
+:100400008F4F9F4F9923A9F0F92F96E9BB2793951A
+:10041000F695879577956795B795F111F8CFFAF42A
+:10042000BB0F11F460FF1BC06F5F7F4F8F4F9F4F5B
+:1004300016C0882311F096E911C0772321F09EE8B9
+:10044000872F762F05C0662371F096E8862F70E01F
+:1004500060E02AF09A95660F771F881FDAF7880FF9
+:100460009695879597F90895990F0008550FAA0B4F
+:10047000E0E8FEEF16161706E807F907C0F01216B7
+:100480001306E407F50798F0621B730B840B950BBA
+:1004900039F40A2661F0232B242B252B21F408950F
+:1004A0000A2609F4A140A6958FEF811D811D0895AC
+:1004B00097F99F6780E870E060E008959FEF80EC17
+:1004C000089500240A9416161706180609060895BA
+:1004D00000240A9412161306140605060895092E20
+:1004E0000394000C11F4882352F0BB0F40F4BF2B8F
+:1004F00011F460FF04C06F5F7F4F8F4F9F4F0895CF
+:1005000057FD9058440F551F59F05F3F71F04795C4
+:10051000880F97FB991F61F09F3F79F087950895A9
+:10052000121613061406551FF2CF4695F1DF08C0C8
+:10053000161617061806991FF1CF869571056105E5
+:1005400008940895E894BB2766277727CB0197F98D
+:1005500008950BD0C4CFB5DF28F0BADF18F095238B
+:1005600009F0A6CFABCF1124EECFCADFA0F3959F41
+:10057000D1F3950F50E0551F629FF001729FBB278A
+:10058000F00DB11D639FAA27F00DB11DAA1F649F36
+:100590006627B00DA11D661F829F2227B00DA11DE9
+:1005A000621F739FB00DA11D621F839FA00D611D6F
+:1005B000221F749F3327A00D611D231F849F600D90
+:1005C000211D822F762F6A2F11249F5750408AF0C9
+:1005D000E1F088234AF0EE0FFF1FBB1F661F771F55
+:1005E000881F91505040A9F79E3F510570F060CF91
+:1005F000AACF5F3FECF3983EDCF38695779567953D
+:10060000B795F795E7959F5FC1F7FE2B880F911D72
+:0C0610009695879597F90895F894FFCF10
+:10061C000000000016000AD7233C00000000000078
+:02062C000000CC
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse.sh
new file mode 100644
index 0000000..9c5927d
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_servo_reverse.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_servo_reverse.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections servo_reverse_main.c -o servo_reverse -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom servo_reverse servo_reverse.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:servo_reverse.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse_main.c
new file mode 100644
index 0000000..5382666
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/servo/servo_reverse_main.c
@@ -0,0 +1,213 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct servo_reverse_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct servo_reverse_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Integer fmi2IntegerVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[4];
+} servo_reverse_fmi2Component;
+
+servo_reverse_fmi2Component servo_reverse_component = {
+ .fmi2IntegerVars = {
+ 22 /*pwm._u[1]*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value)
+{
+ MDD_avr_pwm_set(om_pwm, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted)
+{
+ void* om_pwm;
+ om_pwm = MDD_avr_pwm_init(om_timer, om_pin, om_initialValue, om_inverted);
+ return om_pwm;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm)
+{
+ MDD_avr_pwm_close(om_pwm);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component servo_reverse_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &servo_reverse_component;
+}
+
+fmi2Status servo_reverse_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status servo_reverse_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 1, 0, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status servo_reverse_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status servo_reverse_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status servo_reverse_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */ = ((comp->currentTime)<(0.2)) ? (22) : (15); /* equation 3 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */);
+}
+
+fmi2Status servo_reverse_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ servo_reverse_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = servo_reverse_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ servo_reverse_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ servo_reverse_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ servo_reverse_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = servo_reverse_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/runMDD_therm_buzzer.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/runMDD_therm_buzzer.mos
new file mode 100644
index 0000000..8164089
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/runMDD_therm_buzzer.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_thermistor.MDD_therm_buzzer, fileNamePrefix="therm_buzzer");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/runMDD_therm_read.mos b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/runMDD_therm_read.mos
new file mode 100644
index 0000000..a251626
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/runMDD_therm_read.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("/home/souradip/Modelica_DeviceDrivers/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("/home/souradip/OpenModelica/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_thermistor.MDD_therm_read, fileNamePrefix="therm_read");
+getErrorString();
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer
new file mode 100644
index 0000000..4c841f2
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer.hex
new file mode 100644
index 0000000..2517195
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer.hex
@@ -0,0 +1,121 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C9431013B
+:100020000C9451000C9451000C9451000C9400015C
+:100030000C9451000C9451000C94CF000C9451007E
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E2E4F7E002C0F6
+:1000800005900D92A832B107D9F711E0A8E2B1E0CE
+:1000900001C01D92AD32B107E1F70E948A010C94B4
+:1000A0009F030C9400000F931F93CF93DF93EC01F9
+:1000B00080917C00857E846080937C0080917A00B2
+:1000C000806480937A0080917A0086FDFCCF6091F5
+:1000D00078007091790080E090E00E94860220E034
+:1000E00030E040E854E40E94180320E030EC4FE791
+:1000F00054E40E941E026C837D838E839F8301E003
+:1001000010E02A893B894C895D890E94140387FF8E
+:1001100002C000E010E0198B088B8EA19FA18230F5
+:10012000910561F08330910599F00197C9F416BCEF
+:1001300080916E00826080936E0016C010928500E0
+:100140001092840080916F00826080936F000CC0D9
+:100150001092B2008091700082608093700004C0A1
+:1001600081E090E00E949F0378949FB7F89480917B
+:100170002A019FBF8823C9F310922A01EAA1FBA19B
+:1001800088899989892B19F08081886002C08081D3
+:10019000877F8083DF91CF911F910F9108951F92E8
+:1001A0000F920FB60F9211242F933F938F939F932B
+:1001B00080912801909129010196909329018093C3
+:1001C000280180912A01813091F0209128013091FD
+:1001D000290180912B0190912C012817390738F0C3
+:1001E00081E080932A0110922901109228019F91A9
+:1001F0008F913F912F910F900FBE0F901F901895E8
+:100200001F920F920FB60F9211242F933F938F934B
+:100210009F93809128019091290101969093290143
+:100220008093280180912A01813091F0209128014A
+:100230003091290180912B0190912C0128173907C9
+:1002400038F081E080932A01109229011092280150
+:100250009F918F913F912F910F900FBE0F901F9004
+:1002600018951F920F920FB60F9211242F933F9360
+:100270008F939F93809128019091290101969093EB
+:1002800029018093280180912A01813091F02091E9
+:1002900028013091290180912B0190912C01281780
+:1002A000390738F081E080932A01109229011092D9
+:1002B00028019F918F913F912F910F900FBE0F902A
+:1002C0001F901895FC01539A8BE290E093A382A3B0
+:1002D00085B5836085BD81E090E095A384A32AE085
+:1002E00030E030932C0120932B0124B5226024BDF3
+:1002F00029EF27BD97A386A3ACE7B0E08C918C9340
+:10030000AAE7B0E08C9187688C9311A210A280E0DC
+:1003100090E00895CF92DF92EF92FF9280E091E01B
+:100320000E946201C12CD12C760160E070E0CB010B
+:100330006093000170930101809302019093030187
+:1003400080E091E00E9453008FEFC81AD80AE80AB3
+:10035000F80AC701B6010E9486022FE632E143E0A7
+:100360005BE30E94180320E030E0A9010E94BA017B
+:10037000DFCF5058BB27AA270ED01CC10DD130F0BB
+:1003800012D120F031F49F3F11F41EF402C10EF49B
+:10039000E095E7FBF8C0E92F1ED180F3BA1762079A
+:1003A00073078407950718F071F49EF536C10EF4B3
+:1003B000E0950B2EBA2FA02D0B01B90190010C0175
+:1003C000CA01A0011124FF27591B99F0593F50F48D
+:1003D000503E68F11A16F040A22F232F342F4427E5
+:1003E000585FF3CF469537952795A795F0405395DD
+:1003F000C9F77EF41F16BA0B620B730B840BBAF0AD
+:100400009150A1F0FF0FBB1F661F771F881FC2F717
+:100410000EC0BA0F621F731F841F48F4879577952B
+:100420006795B795F7959E3F08F0B3CF9395880FE2
+:1004300008F09927EE0F9795879508950CD0BAC0CC
+:10044000B2D040F0A9D030F021F45F3F19F09BC04A
+:100450005111E4C09EC0BFD098F39923C9F355232E
+:10046000B1F3951B550BBB27AA27621773078407A7
+:1004700038F09F5F5F4F220F331F441FAA1FA9F35D
+:1004800033D00E2E3AF0E0E830D091505040E6954F
+:10049000001CCAF729D0FE2F27D0660F771F881FB0
+:1004A000BB1F261737074807AB07B0E809F0BB0B9F
+:1004B000802DBF01FF2793585F4F2AF09E3F5105C3
+:1004C00068F061C0ABC05F3FECF3983EDCF386950B
+:1004D00077956795B795F7959F5FC9F7880F911D39
+:1004E0009695879597F90895E1E0660F771F881F25
+:1004F000BB1F621773078407BA0720F0621B730BD8
+:10050000840BBA0BEE1F88F7E0950895E89409C0B4
+:1005100097FB3EF490958095709561957F4F8F4F36
+:100520009F4F9923A9F0F92F96E9BB279395F6954C
+:10053000879577956795B795F111F8CFFAF4BB0FCA
+:1005400011F460FF1BC06F5F7F4F8F4F9F4F16C02E
+:10055000882311F096E911C0772321F09EE8872FB8
+:10056000762F05C0662371F096E8862F70E060E074
+:100570002AF09A95660F771F881FDAF7880F9695ED
+:10058000879597F9089597F99F6780E870E060E094
+:1005900008959FEF80EC089500240A94161617061C
+:1005A00018060906089500240A9412161306140664
+:1005B00005060895092E0394000C11F4882352F0C7
+:1005C000BB0F40F4BF2B11F460FF04C06F5F7F4F7F
+:1005D0008F4F9F4F089557FD9058440F551F59F066
+:1005E0005F3F71F04795880F97FB991F61F09F3F20
+:1005F00079F087950895121613061406551FF2CF49
+:100600004695F1DF08C0161617061806991FF1CF98
+:1006100086957105610508940895E894BB276627BF
+:100620007727CB0197F9089566D008F48FEF0895E6
+:100630000BD0C0CFB1DF28F0B6DF18F0952309F05A
+:10064000A2CFA7CF1124EACFC6DFA0F3959FD1F3A5
+:10065000950F50E0551F629FF001729FBB27F00D70
+:10066000B11D639FAA27F00DB11DAA1F649F6627C5
+:10067000B00DA11D661F829F2227B00DA11D621F14
+:10068000739FB00DA11D621F839FA00D611D221FCE
+:10069000749F3327A00D611D231F849F600D211DB2
+:1006A000822F762F6A2F11249F5750408AF0E1F055
+:1006B00088234AF0EE0FFF1FBB1F661F771F881F9E
+:1006C00091505040A9F79E3F510570F05CCFA6CFE6
+:1006D0005F3FECF3983EDCF3869577956795B79589
+:1006E000F795E7959F5FC1F7FE2B880F911D9695B3
+:1006F000879597F90895990F0008550FAA0BE0E820
+:10070000FEEF16161706E807F907C0F012161306D3
+:10071000E407F50798F0621B730B840B950B39F413
+:100720000A2661F0232B242B252B21F408950A2679
+:1007300009F4A140A6958FEF811D811D0895F894BD
+:02074000FFCFE9
+:1007420000000000000000000000000000000000A7
+:10075200000000806D440AD7233C02000100000023
+:0807620000000000000000008F
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer.sh
new file mode 100644
index 0000000..b6782eb
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_therm_buzzer.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_therm_buzzer.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections therm_buzzer_main.c -o therm_buzzer -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom therm_buzzer therm_buzzer.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:therm_buzzer.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer_main.c
new file mode 100644
index 0000000..d729be2
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_buzzer_main.c
@@ -0,0 +1,253 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct therm_buzzer_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct therm_buzzer_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[2];
+ fmi2Boolean fmi2BooleanVars[3];
+ fmi2Real fmi2RealParameter[2];
+ fmi2Integer fmi2IntegerParameter[1];
+ fmi2Boolean fmi2BooleanParameter[1];
+ fmi2String fmi2StringParameter[1];
+ void* extObjs[4];
+} therm_buzzer_fmi2Component;
+
+therm_buzzer_fmi2Component therm_buzzer_component = {
+ .fmi2RealVars = {
+ 0.0 /*adc._y*/,
+ 0.0 /*realValue1._number*/,
+ },
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ fmi2False /*booleanExpression2._y*/,
+ fmi2False /*digitalWriteBoolean1._u*/,
+ },
+ .fmi2RealParameter = {
+ 950.0 /*greaterEqualThreshold1._threshold*/,
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+ .fmi2IntegerParameter = {
+ 2 /*realValue1._significantDigits*/,
+ },
+ .fmi2BooleanParameter = {
+ fmi2True /*realValue1._use_numberPort*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+static const char * const OMCLIT0 = "ElectricPotential";
+static const char * const OMCLIT1 = "V";
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+#include "MDDAVRAnalog.h"
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution)
+{
+ fmi2Real om_value;
+ om_value = MDD_avr_analog_read(om_analogPort, om_vref, om_voltageResolution);
+ return om_value;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage)
+{
+ void* om_avr;
+ om_avr = MDD_avr_analog_init(om_divisionFactor, om_referenceVoltage);
+ return om_avr;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr)
+{
+ MDD_avr_analog_close(om_avr);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component therm_buzzer_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &therm_buzzer_component;
+}
+
+fmi2Status therm_buzzer_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status therm_buzzer_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 4, 4);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ comp->extObjs[0] /* adc._analog EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Analog.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(comp, 7, 1);
+ return fmi2OK;
+}
+
+fmi2Status therm_buzzer_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status therm_buzzer_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status therm_buzzer_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* adc._y variable */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(comp, 5, 1024.0, 10); /* equation 7 */
+ comp->fmi2BooleanVars[2] /* digitalWriteBoolean1._u DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>=(comp->fmi2RealParameter[0] /* greaterEqualThreshold1._threshold PARAM */); /* equation 8 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 4, comp->fmi2BooleanVars[2] /* digitalWriteBoolean1._u DISCRETE */);
+}
+
+fmi2Status therm_buzzer_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ therm_buzzer_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = therm_buzzer_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ therm_buzzer_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ therm_buzzer_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ therm_buzzer_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = therm_buzzer_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read
new file mode 100644
index 0000000..93f6d1f
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read.hex b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read.hex
new file mode 100644
index 0000000..32ec1b8
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read.hex
@@ -0,0 +1,110 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94130159
+:100020000C9451000C9451000C9451000C94E2007B
+:100030000C9451000C9451000C94B1000C9451009C
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0ECEAF6E002C0E7
+:1000800005900D92AC31B107D9F711E0ACE1B1E0C8
+:1000900001C01D92A132B107E1F70E9467010C94E3
+:1000A00054030C940000CF93DF93EC0180917C000B
+:1000B000857E846080937C0080917A008064809348
+:1000C0007A0080917A0086FDFCCF60917800709173
+:1000D000790080E090E00E94630220E030E040EA96
+:1000E00050E40E94F10220E030EC4FE754E40E941B
+:1000F000FB016C837D838E839F838A8D9B8D8230F1
+:10010000910561F08330910599F00197C9F416BC0F
+:1001100080916E00826080936E0016C01092850000
+:100120001092840080916F00826080936F000CC0F9
+:100130001092B2008091700082608093700004C0C1
+:1001400081E090E00E94540378949FB7F8948091E6
+:100150001E019FBF8823C9F310921E01DF91CF912A
+:1001600008951F920F920FB60F9211242F933F9371
+:100170008F939F9380911C0190911D010196909304
+:100180001D0180931C0180911E01813091F020910E
+:100190001C0130911D0180911F01909120012817B1
+:1001A000390738F081E080931E0110921D011092F2
+:1001B0001C019F918F913F912F910F900FBE0F9037
+:1001C0001F9018951F920F920FB60F9211242F9324
+:1001D0003F938F939F9380911C0190911D010196F5
+:1001E00090931D0180931C0180911E01813091F03C
+:1001F00020911C0130911D0180911F0190912001DF
+:100200002817390738F081E080931E0110921D01F4
+:1002100010921C019F918F913F912F910F900FBED3
+:100220000F901F9018951F920F920FB60F921124E6
+:100230002F933F938F939F9380911C0190911D0169
+:10024000019690931D0180931C0180911E018130C5
+:1002500091F020911C0130911D0180911F0190911E
+:1002600020012817390738F081E080931E01109291
+:100270001D0110921C019F918F913F912F910F9022
+:100280000FBE0F901F901895FC01ACE7B0E08C9169
+:100290008C93AAE7B0E08C9181688C93178A168AB8
+:1002A00085B5836085BD81E090E0918F808F2AE0E5
+:1002B00030E03093200120931F0124B5226024BD3B
+:1002C00029EF27BD938F828F80E090E00895CF9231
+:1002D000DF92EF92FF9280E091E00E944401C12CF6
+:1002E000D12C760160E070E0CB0160930001709347
+:1002F0000101809302019093030180E091E00E944C
+:1003000053008FEFC81AD80AE80AF80AC701B601E5
+:100310000E9463022FE632E143E05BE30E94F102B8
+:1003200020E030E0A9010E949701DFCF5058BB27A1
+:10033000AA270ED01CC10DD130F012D120F031F41B
+:100340009F3F11F41EF402C10EF4E095E7FBF8C0E4
+:10035000E92F1ED180F3BA17620773078407950748
+:1003600018F071F49EF536C10EF4E0950B2EBA2FFD
+:10037000A02D0B01B90190010C01CA01A0011124AB
+:10038000FF27591B99F0593F50F4503E68F11A1657
+:10039000F040A22F232F342F4427585FF3CF4695E8
+:1003A00037952795A795F0405395C9F77EF41F160A
+:1003B000BA0B620B730B840BBAF09150A1F0FF0FD4
+:1003C000BB1F661F771F881FC2F70EC0BA0F621FC0
+:1003D000731F841F48F4879577956795B795F795B0
+:1003E0009E3F08F0B3CF9395880F08F09927EE0F42
+:1003F0009795879508950CD0BAC0B2D040F0A9D097
+:1004000030F021F45F3F19F09BC05111E4C09EC051
+:10041000BFD098F39923C9F35523B1F3951B550B1E
+:10042000BB27AA2762177307840738F09F5F5F4FC7
+:10043000220F331F441FAA1FA9F333D00E2E3AF008
+:10044000E0E830D091505040E695001CCAF729D022
+:10045000FE2F27D0660F771F881FBB1F2617370771
+:100460004807AB07B0E809F0BB0B802DBF01FF27A1
+:1004700093585F4F2AF09E3F510568F061C0ABC0B2
+:100480005F3FECF3983EDCF3869577956795B795DB
+:10049000F7959F5FC9F7880F911D9695879597F9F6
+:1004A0000895E1E0660F771F881FBB1F621773076F
+:1004B0008407BA0720F0621B730B840BBA0BEE1F84
+:1004C00088F7E0950895E89409C097FB3EF490956D
+:1004D0008095709561957F4F8F4F9F4F9923A9F01D
+:1004E000F92F96E9BB279395F695879577956795AC
+:1004F000B795F111F8CFFAF4BB0F11F460FF1BC0F0
+:100500006F5F7F4F8F4F9F4F16C0882311F096E982
+:1005100011C0772321F09EE8872F762F05C0662330
+:1005200071F096E8862F70E060E02AF09A95660FE9
+:10053000771F881FDAF7880F9695879597F90895A2
+:1005400097F99F6780E870E060E008959FEF80EC86
+:10055000089500240A941616170618060906089529
+:1005600000240A9412161306140605060895092E8F
+:100570000394000C11F4882352F0BB0F40F4BF2BFE
+:1005800011F460FF04C06F5F7F4F8F4F9F4F08953E
+:1005900057FD9058440F551F59F05F3F71F0479534
+:1005A000880F97FB991F61F09F3F79F08795089519
+:1005B000121613061406551FF2CF4695F1DF08C038
+:1005C000161617061806991FF1CF86957105610555
+:1005D00008940895E894BB2766277727CB0197F9FD
+:1005E00008950BD0C4CFB5DF28F0BADF18F09523FB
+:1005F00009F0A6CFABCF1124EECFCADFA0F3959FB1
+:10060000D1F3950F50E0551F629FF001729FBB27F9
+:10061000F00DB11D639FAA27F00DB11DAA1F649FA5
+:100620006627B00DA11D661F829F2227B00DA11D58
+:10063000621F739FB00DA11D621F839FA00D611DDE
+:10064000221F749F3327A00D611D231F849F600DFF
+:10065000211D822F762F6A2F11249F5750408AF038
+:10066000E1F088234AF0EE0FFF1FBB1F661F771FC4
+:10067000881F91505040A9F79E3F510570F060CF00
+:10068000AACF5F3FECF3983EDCF3869577956795AC
+:10069000B795F795E7959F5FC1F7FE2B880F911DE2
+:0C06A0009695879597F90895F894FFCF80
+:1006AC000000000000000000000000000AD7233CFE
+:0C06BC000200010000000000000000002F
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read.sh b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read.sh
new file mode 100644
index 0000000..9c1adac
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+clear
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 port baudrate" >&2
+ exit 1
+fi
+
+re='^[0-9]+$'
+if ! [[ $1 =~ $re ]] ; then
+ echo "error: $1 -> Not a number" >&2; exit 1
+fi
+
+if ! [[ $2 =~ $re ]] ; then
+ echo "error: $2-> Not a number" >&2; exit 1
+fi
+
+b_rate=$2
+
+present=`pwd`
+unamestr=`uname`
+
+if [[ "$unamestr" == 'Linux' ]]; then
+ mdd_path=($(locate Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include))
+ om_path=($(locate /usr/include/omc/c))
+ port="/dev/ttyACM$1"
+ omc --simCodeTarget=ExperimentalEmbeddedC runMDD_therm_read.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+else
+ cd c:
+ om_path=($(dir -d OpenModelica*/include/omc/c/))
+ path_to_om="C:$om_path"
+ cd f:
+ mdd_path=($(dir -d */Modelica_DeviceDrivers/Modelica_DeviceDrivers/Resources/Include/))
+ if [ $? -eq 0 ]; then
+ path_to_mdd="F:/$mdd_path"
+ else
+ exit 1
+ fi
+
+ port="COM$1"
+ cd $present
+ omc --simCodeTarget=ExperimentalEmbeddedC run_therm_read.mos
+ if [ $? -ne 0 ]; then
+ exit 1
+ fi
+fi
+
+avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections therm_read_main.c -o therm_read -I${mdd_path[0]} -I${path_to_om} -I${path_to_mdd} -I${om_path[0]}
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avr-objcopy -O ihex -R .eeprom therm_read therm_read.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi
+avrdude -F -V -c arduino -p ATMEGA328P -P $port -b $b_rate -U flash:w:therm_read.hex
+if [ $? -ne 0 ]; then
+ exit 1
+fi \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read_main.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read_main.c
new file mode 100644
index 0000000..e3aa656
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/MDD_build/thermistor/therm_read_main.c
@@ -0,0 +1,226 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct therm_read_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct therm_read_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[2];
+ fmi2Real fmi2RealParameter[1];
+ fmi2Integer fmi2IntegerParameter[1];
+ fmi2Boolean fmi2BooleanParameter[1];
+ fmi2String fmi2StringParameter[1];
+ void* extObjs[3];
+} therm_read_fmi2Component;
+
+therm_read_fmi2Component therm_read_component = {
+ .fmi2RealVars = {
+ 0.0 /*adc._y*/,
+ 0.0 /*realValue1._number*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+ .fmi2IntegerParameter = {
+ 2 /*realValue1._significantDigits*/,
+ },
+ .fmi2BooleanParameter = {
+ fmi2True /*realValue1._use_numberPort*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+static const char * const OMCLIT0 = "ElectricPotential";
+static const char * const OMCLIT1 = "V";
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution)
+{
+ fmi2Real om_value;
+ om_value = MDD_avr_analog_read(om_analogPort, om_vref, om_voltageResolution);
+ return om_value;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage)
+{
+ void* om_avr;
+ om_avr = MDD_avr_analog_init(om_divisionFactor, om_referenceVoltage);
+ return om_avr;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr)
+{
+ MDD_avr_analog_close(om_avr);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component therm_read_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &therm_read_component;
+}
+
+fmi2Status therm_read_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status therm_read_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* adc._analog EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Analog.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(comp, 1, 1);
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status therm_read_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status therm_read_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status therm_read_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* adc._y variable */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(comp, 5, 5.0, 10); /* equation 4 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);
+}
+
+fmi2Status therm_read_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ therm_read_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = therm_read_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ therm_read_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ therm_read_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ therm_read_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = therm_read_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Images/Icons/tqfp32.png b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Images/Icons/tqfp32.png
new file mode 100644
index 0000000..f933f6a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Images/Icons/tqfp32.png
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/analog.h b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/analog.h
new file mode 100644
index 0000000..a761139
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/analog.h
@@ -0,0 +1,2 @@
+int cmd_analog_out(int h,int pin_no,double val);
+uint16_t cmd_analog_in(int h,int pin_no); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/analogv.h b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/analogv.h
new file mode 100644
index 0000000..a761139
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/analogv.h
@@ -0,0 +1,2 @@
+int cmd_analog_out(int h,int pin_no,double val);
+uint16_t cmd_analog_in(int h,int pin_no); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/dcmotor.h b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/dcmotor.h
new file mode 100644
index 0000000..90314fc
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/dcmotor.h
@@ -0,0 +1,3 @@
+void cmd_dcmotor_setup(int h,int driver_type,int motor_no,int pin_no_1,int pin_no_2);
+void cmd_dcmotor_run(int h,int motor_no,int u1);
+void cmd_dcmotor_release(int h,int motor_no); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/digital.h b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/digital.h
new file mode 100644
index 0000000..c628bb8
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/digital.h
@@ -0,0 +1,2 @@
+int cmd_digital_out(int h,int pin_no,int val);
+int cmd_digital_in(int h,int pin_no); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/encoder.h b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/encoder.h
new file mode 100644
index 0000000..2559766
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/encoder.h
@@ -0,0 +1 @@
+void cmd_encoder_init(int h,int enc_mode,int pin_no_1,int pin_no_2); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/ieeesingle2num.h b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/ieeesingle2num.h
new file mode 100644
index 0000000..27d701a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/ieeesingle2num.h
@@ -0,0 +1,3 @@
+long int hex2dec(char hexadecimal[]);
+void dec2hex(long int decimalnum,char hexadecimalnum[]);
+double ieeesingle2num(char hexa[]); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/modbus.h b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/modbus.h
new file mode 100644
index 0000000..7a5c8d1
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/modbus.h
@@ -0,0 +1,4 @@
+double read_val(int addr_byte);
+void read_voltage();
+void read_current();
+void read_active_power(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/serial.h b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/serial.h
new file mode 100644
index 0000000..c0cfed5
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/serial.h
@@ -0,0 +1,28 @@
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h> /* memset */
+#include <stdio.h>
+
+int set_interface_attribs (int fd, int speed, int parity);
+void set_blocking (int b, int should_block);
+int open_serial(int handle,int port, int baudrate);
+int close_serial(int handle);
+int write_serial(int handle, char str[],int size);
+int status_serial(int handle,int nb[]);
+int read_serial(int handle,char* buf,int size);
+//int read_serial(int *handle,char buf[],int *size);
+
+void delay(long int t);
+
+
+
+/*int set_interface_attribs (int fd, int speed, int parity);
+void set_blocking (int b, int should_block);
+void open_serial(int *handle,int *port, int *baudrate, int *OK);
+void close_serial(int *handle, int *OK);
+void write_serial(int *handle, char str[],int *size, int *OK);
+void status_serial(int *handle, int *OK,int *nbread, int *nbwrite);
+void read_serial(int *handle,char buf[],int *size);
+*/ \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/servomotor.h b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/servomotor.h
new file mode 100644
index 0000000..53b7457
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Include/servomotor.h
@@ -0,0 +1,3 @@
+void cmd_servo_attach(int h,int servo_no);
+void cm_servo_move(int h,int servo_no,int u1);
+void cmd_servo_detach(int h,int servo_no); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_analog.o b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_analog.o
new file mode 100644
index 0000000..47df91e
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_analog.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_analog_volt.o b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_analog_volt.o
new file mode 100644
index 0000000..0f94393
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_analog_volt.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_digital.o b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_digital.o
new file mode 100644
index 0000000..e05c668
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/cmd_digital.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/dcmotor.o b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/dcmotor.o
new file mode 100644
index 0000000..f86e9c6
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/dcmotor.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/delay.o b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/delay.o
new file mode 100644
index 0000000..5aa9222
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/delay.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/ieeesingle2num.o b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/ieeesingle2num.o
new file mode 100644
index 0000000..9d35dc6
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/ieeesingle2num.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libAnalog.so b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libAnalog.so
new file mode 100644
index 0000000..cefb472
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libAnalog.so
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libAnalogv.so b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libAnalogv.so
new file mode 100644
index 0000000..c344625
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libAnalogv.so
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libDCMotor.so b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libDCMotor.so
new file mode 100644
index 0000000..e1be915
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libDCMotor.so
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libDigital.so b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libDigital.so
new file mode 100644
index 0000000..8ae4c56
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libDigital.so
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libModbus.so b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libModbus.so
new file mode 100644
index 0000000..0247a2c
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libModbus.so
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libSerialComm.so b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libSerialComm.so
new file mode 100644
index 0000000..9f20a5e
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libSerialComm.so
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libServoMotor.so b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libServoMotor.so
new file mode 100644
index 0000000..bd8977a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libServoMotor.so
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libdelay.so b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libdelay.so
new file mode 100644
index 0000000..65b5090
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libdelay.so
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libfloor.so b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libfloor.so
new file mode 100644
index 0000000..9550ad1
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/libfloor.so
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/mfloor.o b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/mfloor.o
new file mode 100644
index 0000000..2785ec6
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/mfloor.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/modbus.o b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/modbus.o
new file mode 100644
index 0000000..d465071
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/modbus.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/serialComm.o b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/serialComm.o
new file mode 100644
index 0000000..cf30ea8
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/serialComm.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/servomotor.o b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/servomotor.o
new file mode 100644
index 0000000..cdf0284
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/Library/servomotor.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_analog.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_analog.c
new file mode 100644
index 0000000..5a8cf2f
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_analog.c
@@ -0,0 +1,61 @@
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h> /* memset */
+#include <stdio.h>
+#include <math.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include "../Include/serial.h"
+#include "../Include/analog.h"
+
+uint16_t cmd_analog_in(int h,int pin_no)
+{
+ char pin[5],v1[2];
+ int stat;
+ int read[3];
+ sprintf(v1,"%c",pin_no+48);
+ strcpy(pin,"A");
+ strcat(pin,v1);
+ int wr=write_serial(h,pin,2);
+ stat=status_serial(h,read);
+ //printf("Read:%d\n",read[0] );
+ while (read[0] < 2)
+ stat=status_serial(h,read);
+ char values[5];
+ int a_rd=read_serial(h,values,2);
+ values[2]='\0';
+ printf("%s\n",values);
+ int l=strlen(values);
+ //printf("%d\n",l );
+ uint8_t temp[l+1];
+ int i;
+ for (i = 0; i < l; ++i)
+ {
+ temp[i]=(uint8_t)(values[i]);
+ }
+ //printf("%u %u\n",temp[0],temp[1]);
+ uint16_t result=(uint16_t)(256*temp[1]+temp[0]);
+ //printf("%u\n",result);
+ return result;
+}
+
+int cmd_analog_out(int h,int pin_no,double val)
+{
+ char v1[2],v2[2];
+ if(val > 255)
+ val = 255;
+ else if(val < 0)
+ val = 0;
+ //printf("%f\n",val);
+ char code_sent[10];
+ strcpy(code_sent,"W");
+ sprintf(v1,"%c",pin_no+48);
+ sprintf(v2,"%c",abs(ceil(val)));
+ strcat(code_sent,v1);
+ strcat(code_sent,v2);
+ //printf("%s\n",code_sent);
+ return write_serial(h,code_sent,3);
+
+} \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_analog_volt.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_analog_volt.c
new file mode 100644
index 0000000..701c0c0
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_analog_volt.c
@@ -0,0 +1,63 @@
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h> /* memset */
+#include <stdio.h>
+#include <math.h>
+#include <stdint.h>
+#include <stdlib.h>
+#include "../Include/serial.h"
+#include "../Include/analogv.h"
+
+uint16_t cmd_analog_in_volt(int h,int pin_no)
+{
+ char pin[5]="A",v1[2];
+ int stat;
+ int read[3];
+ sprintf(v1,"%c",pin_no+48);
+ //strcpy(pin,"A");
+ strcat(pin,v1);
+ int wr=write_serial(h,pin,2);
+ stat=status_serial(h,read);
+ //printf("Read:%d\n",read[0] );
+ while (read[0] < 2)
+ stat=status_serial(h,read);
+ char values[5];
+ int a_rd=read_serial(h,values,2);
+ values[2]='\0';
+ printf("%s\n",values);
+ int l=strlen(values);
+ //printf("%d\n",l );
+ uint8_t temp[l+1];
+ int i;
+ for (i = 0; i < l; ++i)
+ {
+ temp[i]=(uint8_t)(values[i]);
+ }
+ //printf("%u %u\n",temp[0],temp[1]);
+ uint16_t result=(uint16_t)(256*temp[1]+temp[0]);
+ result/=1023;
+ //printf("%u\n",result);
+ return result;
+}
+
+int cmd_analog_out_volt(int h,int pin_no,double val)
+{
+ char v1[2],v2[2];
+ if(val > 5)
+ val = 5;
+ else if(val < 0)
+ val = 0;
+ val=val*255/5;
+ //printf("%f\n",val);
+ char code_sent[10];
+ strcpy(code_sent,"W");
+ sprintf(v1,"%c",pin_no+48);
+ sprintf(v2,"%c",abs(ceil(val)));
+ strcat(code_sent,v1);
+ strcat(code_sent,v2);
+ //printf("%s\n",code_sent);
+ return write_serial(h,code_sent,3);
+
+} \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_digital.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_digital.c
new file mode 100644
index 0000000..f19d23b
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_digital.c
@@ -0,0 +1,63 @@
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h> /* memset */
+#include <stdio.h>
+#include <stdlib.h>
+#include "../Include/serial.h"
+#include "../Include/digital.h"
+
+int cmd_digital_out(int h,int pin_no,int val)
+{
+ int wr;
+ char pin[6]="Da";
+ char v[2],temp[2];
+ sprintf(temp,"%c",pin_no+48);
+ strcat(pin,temp);
+ strcat(pin,"1");
+ //printf("%s",pin);
+ wr=write_serial(h,pin,4);
+ if (val > 0.5)
+ val = 1;
+ else
+ val = 0;
+
+ sprintf(v,"%d",val);
+ strcpy(pin,"Dw");
+ strcat(pin,temp);
+ strcat(pin,v);
+ //printf("%s",pin);
+ wr=write_serial(h,pin,4);
+ return wr;
+}
+
+int cmd_digital_in(int h,int pin_no)
+{
+ int value = 0;
+ char pin[6]="Da";
+ char v1[2],v2[2];
+ int wr1, wr2;
+ sprintf(v1,"%c",pin_no+48);
+ strcat(pin,v1);
+ strcat(pin,"0");
+ //printf("%s\n",pin);
+ wr1=write_serial(h,pin,4);
+
+ strcpy(pin,"Dr");
+ sprintf(v2,"%c",pin_no+48);
+ strcat(pin,v2);
+ wr2=write_serial(1,pin,3);
+ //binary transfer
+ int stat;
+ int num_bytes[2];
+ char st[10];
+ stat=status_serial(h,num_bytes);
+ while(num_bytes[0]<1)
+ stat=status_serial(h,num_bytes);
+ char* temp;
+ int wr=read_serial(h,st,1);
+ value=strtod(st,&temp);
+ //printf("%d\n",value);
+ return value;
+}
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_encoder_init.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_encoder_init.c
new file mode 100644
index 0000000..89a53dd
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/cmd_encoder_init.c
@@ -0,0 +1,39 @@
+#include <errno.h>
+#include <string.h>
+#include <stdio.h>
+#include <math.h>
+#include <stdlib.h>
+#include "../Include/encoder.h"
+#include "../Include/serial.h"
+
+void cmd_encoder_init(int h,int enc_mode,int pin_no_1,int pin_no_2)
+{
+
+ int wr;
+ char code_sent[10]="Ea";
+ char c[2];
+
+ sprintf(c,"%c",48+corresp[block->rpar[2]]);
+ strcat(code_sent,c);
+ if(block.rpar(2)==4)
+ {
+ char c1[2],c2[2],v[10];
+ sprintf(c1,"%c",48+0+corresp[block->rpar[3]]);
+ sprintf(v,"%s",(block->rpar[1]));
+ strcat(code_sent,c1);
+ strcat(code_sent,v);
+ }
+ else
+ {
+ char c2[2],v[10];
+ sprintf(c2,"%c",48+0+corresp[block->rpar[3]]);
+ sprintf(v,"%s",block->rpar[1]);
+ strcat(code_sent,c1);
+ strcat(code_sent,v);
+ }
+ wr=write_serial(1,code_sent,5);
+ strcpy(code_sent,"Ez");
+ sprintf(c,"%c",corresp[block->rpar[2]])
+ strcat(code_sent,c);
+ wr=write_serial(1,code_sent,3)
+} \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/dcmotor.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/dcmotor.c
new file mode 100644
index 0000000..ac6775c
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/dcmotor.c
@@ -0,0 +1,117 @@
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h>
+#include <stdio.h>
+#include <math.h>
+#include "../Include/serial.h"
+#include "../Include/dcmotor.h"
+
+#define abs(x) (x>=0?x:-x)
+
+void cmd_dcmotor_setup(int h,int driver_type,int motor_no,int pin_no_1,int pin_no_2)
+{
+ printf("init DCmotor\n");
+ char code_sent[10]="C";
+ int wr;
+ char v1[2],v2[2],motor[2];
+ if(driver_type==1)
+ {
+ sprintf(v1,"%c",pin_no_1+48);
+ sprintf(v2,"%c",pin_no_2+48);
+ sprintf(motor,"%c",motor_no+48);
+ strcat(code_sent,motor);
+ strcat(code_sent,v1);
+ strcat(code_sent,v2);
+ strcat(code_sent,"1");
+ }
+ //code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"1"; //adafruit
+ else if(driver_type==2)
+ {
+ sprintf(v1,"%c",pin_no_1+48);
+ sprintf(v2,"%c",pin_no_2+48);
+ sprintf(motor,"%c",motor_no+48);
+ strcat(code_sent,motor);
+ strcat(code_sent,v1);
+ strcat(code_sent,v2);
+ strcat(code_sent,"1");
+ }
+ //code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"1"; //code pour initialiser L298
+ else if(driver_type==3)
+ {
+ sprintf(v1,"%c",pin_no_1+48);
+ sprintf(v2,"%c",pin_no_2+48);
+ sprintf(motor,"%c",motor_no+48);
+ strcat(code_sent,motor);
+ strcat(code_sent,v1);
+ strcat(code_sent,v2);
+ strcat(code_sent,"0");
+
+ }
+ // code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"0"; //code pour initialiser L293
+ //printf("%s\n",code_sent);
+ wr=write_serial(h,code_sent,5);
+
+ int stat;
+ int num_bytes[2];
+ //Attente que l'arduino reponde OK
+ stat=status_serial(1,num_bytes);
+ while (num_bytes[0] < 2)
+ stat=status_serial(1,num_bytes);
+ char values[5];
+ int dcm_rd=read_serial(1,values,2);
+ if (dcm_rd == 0)
+ printf("Init motor successful\n");
+ else
+ printf("Init motor unsuccessful\n");
+}
+
+void cmd_dcmotor_run(int h,int motor_no,int u1)
+{
+ char code_dir[2];
+ char code_sent[10]="M";
+ char motor[2];
+ int val;
+ char v[2];
+ if(u1>=0)
+ sprintf(code_dir,"%c",49);
+ //code_dir=ascii(49);
+ else
+ sprintf(code_dir,"%c",48);
+ //code_dir=ascii(48);
+ if(abs(u1)>255)
+ val=255;
+ else
+ val=abs(ceil(u1));
+ //printf("%d\n",val);
+ sprintf(motor,"%c",motor_no+48);
+ sprintf(v,"%c",val);
+ strcat(code_sent,motor);
+ strcat(code_sent,code_dir);
+ strcat(code_sent,v);
+ //printf("%s\n",code_sent);
+ //code_sent="M"+ascii(48+motor_no)+code_dir+ascii(val);
+ int wr=write_serial(h,code_sent,4);
+}
+
+void cmd_dcmotor_release(int h,int motor_no)
+{
+ char code_sent[6]="M";
+ char motor[2];
+ char v[2];
+ sprintf(motor,"%c",motor_no+48);
+ sprintf(v,"%c",0);
+ strcat(code_sent,motor);
+ strcat(code_sent,"1");
+ strcat(code_sent,v);
+ //code_sent="M"+ascii(48+motor_no)+"1"+ascii(0);
+ //printf("%s\n",code_sent);
+ int wr=write_serial(h,code_sent,4);
+ strcpy(code_sent,"M");
+ strcat(code_sent,motor);
+ strcat(code_sent,"r");
+ //printf("%s\n",code_sent);
+ //code_sent="M"+ascii(48+motor_no)+"r";
+ wr=write_serial(h,code_sent,3);
+}
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/delay.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/delay.c
new file mode 100644
index 0000000..707a9bd
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/delay.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <math.h>
+#include <unistd.h>
+
+void delay(long int t)
+{
+ usleep(abs(t*1000));
+} \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/ieeesingle2num.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/ieeesingle2num.c
new file mode 100644
index 0000000..7331193
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/ieeesingle2num.c
@@ -0,0 +1,87 @@
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <ctype.h>
+#include "../Include/serial.h"
+
+#ifdef NAN
+/* NAN is supported */
+#endif
+#ifdef INFINITY
+/* INFINITY is supported */
+#endif
+
+
+long int hex2dec(char hexadecimal[])
+{
+ long int decimalNumber=0;
+ char hexDigits[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8',
+ '9', 'A', 'B', 'C', 'D', 'E', 'F'};
+ int i, j, power=0;
+
+ /* Converting hexadecimal number to decimal number */
+ for(i=strlen(hexadecimal)-1; i >= 0; i--) {
+ /*search currect character in hexDigits array */
+ if(isalpha(hexadecimal[i]))
+ hexadecimal[i]=toupper(hexadecimal[i]);
+ for(j=0; j<16; j++){
+ if(hexadecimal[i] == hexDigits[j]){
+ decimalNumber += j*pow(16, power);
+ }
+ // }
+ power++;
+ }
+ }
+ return decimalNumber;
+}
+
+void dec2hex(long int decimalnum,char hexadecimalnum[])
+{
+ long quotient, remainder;
+ int j = 1;
+ quotient = decimalnum;
+
+ while (quotient != 0)
+ {
+ remainder = quotient % 16;
+ if (remainder < 10)
+ hexadecimalnum[j--] = 48 + remainder;
+ else
+ hexadecimalnum[j--] = 55 + remainder;
+ quotient = quotient / 16;
+ }
+ hexadecimalnum[2]='\0';
+}
+
+double ieeesingle2num(char hexa[])
+{
+ long int x=hex2dec(hexa);
+ long int k =(long int)pow(2,31); //pow2(31);
+ int s = (x >= k);
+ if (s)
+ x = x - k;
+ //t = pow2(x,-23);
+ double t = x*pow(2,-23);
+ long int e = floor(t);
+ double f = t - e;
+ double y;
+ if (e == 255)
+ if(f == 0)
+ y = INFINITY;
+ else
+ y = NAN;
+ else if(e > 0)
+ y = (1+f)*pow(2,e-127);
+ //y = (1+f).*2.^(e-127);
+ else
+ y = f*pow(2,-126);
+ //y = f.*2.^-126;
+ if (s)
+ y = -y;
+ return y;
+} \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/mfloor.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/mfloor.c
new file mode 100644
index 0000000..3c9e884
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/mfloor.c
@@ -0,0 +1,6 @@
+#include <math.h>
+
+int mfloor(double x)
+{
+ return floor(x);
+} \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/modbus.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/modbus.c
new file mode 100644
index 0000000..160bfb5
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/modbus.c
@@ -0,0 +1,449 @@
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h>
+#include <stdio.h>
+#include <math.h>
+#include "../Include/serial.h"
+#include "../Include/ieeesingle2num.h"
+#include "../Include/modbus.h"
+
+char ascii_n(int num)
+{
+ return (char)num;
+}
+
+int ascii_c(char c)
+{
+ return (int)c;
+}
+
+void read_voltage()
+{
+ char arr[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(86),ascii_n(00),ascii_n(2),ascii_n(39),ascii_n(15),'\0'};
+
+ //printf("%s\n",arr);//debug
+
+ int x,wr,rd;
+ char buf[12];
+ for(x=0;x<5;x++)
+ {
+ wr=write_serial(1,arr,8);
+ rd = read_serial(1,buf,11);
+ usleep(500);
+ }
+ buf[11]='\0';
+
+ //printf("%s\n",buf );//debug
+
+ int b1=0,b2=0,b3=0,b4=0;
+ int myresult[12];
+ int i;
+ for (i = 0; i < 11; ++i)
+ {
+ myresult[i]=ascii_c(buf[i]);
+ //printf("%d",myresult[i]);//debug
+ }
+
+ //printf("%d %d %d %d\n",myresult[4],myresult[5],myresult[6],myresult[7]);//debug
+
+ int a1=myresult[4];
+ if (a1<16)
+ {
+ b1=1;
+ }
+ char v1[3];
+ dec2hex(a1,v1);
+ if (b1)
+ {
+ sprintf(v1,"0%s",v1);
+ }
+ else
+ {
+ sprintf(v1,"%s",v1);
+ }
+ int a2=myresult[5];
+ if (a2<16)
+ {
+ b2=1;
+ }
+ char v2[3];
+ dec2hex(a2,v2);
+ if (b2)
+ {
+ sprintf(v2,"0%s",v2);
+ }
+ else
+ {
+ sprintf(v2,"%s",v2);
+ }
+ int a3=myresult[6];
+ if (a3<16)
+ {
+ b3=1;
+ }
+ char v3[3];
+ dec2hex(a3,v3);
+ if (b3)
+ {
+ sprintf(v3,"0%s",v3);
+ }
+ else
+ {
+ sprintf(v3,"%s",v3);
+ }
+ int a4=myresult[7];
+ if (a4<16)
+ {
+ b4=1;
+ }
+ char v4[3];
+ dec2hex(a4,v4);
+ if (b4)
+ {
+ sprintf(v4,"0%s",v4);
+ }
+ else
+ {
+ sprintf(v4,"%s",v4);
+ }
+ char a6[20]="";
+ strcat(a6,v3);
+ strcat(a6,v4);
+ strcat(a6,v1);
+ strcat(a6,v2);
+ a6[8]='\0';
+
+ //printf("%s",a6);//debug
+
+ int cl=close_serial(1);
+ double p=ieeesingle2num(a6);
+ printf("Voltage(in V)=%f\n",p);
+}
+
+
+void read_current()
+{
+ char arr[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(88),ascii_n(00),ascii_n(2),ascii_n(70),ascii_n(204),'\0'};
+ //printf("%s\n",arr);//debug
+
+ int x,wr,rd;
+ char buf[12];
+ for(x=0;x<5;x++)
+ {
+ wr=write_serial(1,arr,8);
+ rd = read_serial(1,buf,11);
+ usleep(500);
+ }
+ buf[11]='\0';
+
+ //printf("%s\n",buf );//debug
+
+ int b1=0,b2=0,b3=0,b4=0;
+ int myresult[12];
+ int i;
+ for (i = 0; i < 11; ++i)
+ {
+ myresult[i]=ascii_c(buf[i]);
+ //printf("%d",myresult[i]);//debug
+ }
+
+ //printf("%d %d %d %d\n",myresult[4],myresult[5],myresult[6],myresult[7]);//debug
+
+ int a1=myresult[4];
+ if (a1<16)
+ {
+ b1=1;
+ }
+ char v1[3];
+ dec2hex(a1,v1);
+ if (b1)
+ {
+ sprintf(v1,"0%s",v1);
+ }
+ else
+ {
+ sprintf(v1,"%s",v1);
+ }
+ int a2=myresult[5];
+ if (a2<16)
+ {
+ b2=1;
+ }
+ char v2[3];
+ dec2hex(a2,v2);
+ if (b2)
+ {
+ sprintf(v2,"0%s",v2);
+ }
+ else
+ {
+ sprintf(v2,"%s",v2);
+ }
+ int a3=myresult[6];
+ if (a3<16)
+ {
+ b3=1;
+ }
+ char v3[3];
+ dec2hex(a3,v3);
+ if (b3)
+ {
+ sprintf(v3,"0%s",v3);
+ }
+ else
+ {
+ sprintf(v3,"%s",v3);
+ }
+ int a4=myresult[7];
+ if (a4<16)
+ {
+ b4=1;
+ }
+ char v4[3];
+ dec2hex(a4,v4);
+ if (b4)
+ {
+ sprintf(v4,"0%s",v4);
+ }
+ else
+ {
+ sprintf(v4,"%s",v4);
+ }
+ char a6[20]="";
+ strcat(a6,v3);
+ strcat(a6,v4);
+ strcat(a6,v1);
+ strcat(a6,v2);
+ a6[8]='\0';
+
+ //printf("%s",a6);//debug
+
+ int cl=close_serial(1);
+ double p=ieeesingle2num(a6);
+ printf("Current(in A)=%f\n",p);
+}
+
+void read_active_power()
+{
+ char arr[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(78),ascii_n(00),ascii_n(2),ascii_n(167),ascii_n(8),'\0'};
+ //printf("%s\n",arr);//debug
+
+ int x,wr,rd;
+ char buf[12];
+ for(x=0;x<5;x++)
+ {
+ wr=write_serial(1,arr,8);
+ rd = read_serial(1,buf,11);
+ usleep(500);
+ }
+ buf[11]='\0';
+
+ //printf("%s\n",buf );//debug
+
+ int b1=0,b2=0,b3=0,b4=0;
+ int myresult[12];
+ int i;
+ for (i = 0; i < 11; ++i)
+ {
+ myresult[i]=ascii_c(buf[i]);
+ //printf("%d",myresult[i]);//debug
+ }
+
+ //printf("%d %d %d %d\n",myresult[4],myresult[5],myresult[6],myresult[7]);//debug
+
+ int a1=myresult[4];
+ if (a1<16)
+ {
+ b1=1;
+ }
+ char v1[3];
+ dec2hex(a1,v1);
+ if (b1)
+ {
+ sprintf(v1,"0%s",v1);
+ }
+ else
+ {
+ sprintf(v1,"%s",v1);
+ }
+ int a2=myresult[5];
+ if (a2<16)
+ {
+ b2=1;
+ }
+ char v2[3];
+ dec2hex(a2,v2);
+ if (b2)
+ {
+ sprintf(v2,"0%s",v2);
+ }
+ else
+ {
+ sprintf(v2,"%s",v2);
+ }
+ int a3=myresult[6];
+ if (a3<16)
+ {
+ b3=1;
+ }
+ char v3[3];
+ dec2hex(a3,v3);
+ if (b3)
+ {
+ sprintf(v3,"0%s",v3);
+ }
+ else
+ {
+ sprintf(v3,"%s",v3);
+ }
+ int a4=myresult[7];
+ if (a4<16)
+ {
+ b4=1;
+ }
+ char v4[3];
+ dec2hex(a4,v4);
+ if (b4)
+ {
+ sprintf(v4,"0%s",v4);
+ }
+ else
+ {
+ sprintf(v4,"%s",v4);
+ }
+ char a6[20]="";
+ strcat(a6,v3);
+ strcat(a6,v4);
+ strcat(a6,v1);
+ strcat(a6,v2);
+ a6[8]='\0';
+
+ //printf("%s",a6);//debug
+
+ int cl=close_serial(1);
+ double p=ieeesingle2num(a6);
+ printf("Active Power(in W)=%f\n",p);
+}
+
+double read_val(int addr_byte)
+{
+ char* arr;
+ if(addr_byte==86)
+ {
+ char code[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(86),ascii_n(00),ascii_n(2),ascii_n(39),ascii_n(15),'\0'};
+ arr = code;
+ printf("Voltage(in V)=");
+ }
+ else if(addr_byte==88)
+ {
+ char code[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(88),ascii_n(00),ascii_n(2),ascii_n(70),ascii_n(204),'\0'};
+ arr =code;
+ printf("Current(in A)=");
+ }
+ else if(addr_byte==78)
+ {
+ char code[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(78),ascii_n(00),ascii_n(2),ascii_n(167),ascii_n(8),'\0'};
+ arr = code;
+ printf("Active Power(in W)=");
+ }
+ //printf("%s\n",arr);//debug
+
+ int x,wr,rd;
+ char buf[12];
+ for(x=0;x<5;x++)
+ {
+ wr=write_serial(1,arr,8);
+ rd = read_serial(1,buf,11);
+ usleep(500);
+ }
+ buf[11]='\0';
+
+ //printf("%s\n",buf );//debug
+
+ int b1=0,b2=0,b3=0,b4=0;
+ int myresult[12];
+ int i;
+ for (i = 0; i < 11; ++i)
+ {
+ myresult[i]=ascii_c(buf[i]);
+ //printf("%d",myresult[i]);//debug
+ }
+
+ //printf("%d %d %d %d\n",myresult[4],myresult[5],myresult[6],myresult[7]);//debug
+
+ int a1=myresult[4];
+ if (a1<16)
+ {
+ b1=1;
+ }
+ char v1[3];
+ dec2hex(a1,v1);
+ if (b1)
+ {
+ sprintf(v1,"0%s",v1);
+ }
+ else
+ {
+ sprintf(v1,"%s",v1);
+ }
+ int a2=myresult[5];
+ if (a2<16)
+ {
+ b2=1;
+ }
+ char v2[3];
+ dec2hex(a2,v2);
+ if (b2)
+ {
+ sprintf(v2,"0%s",v2);
+ }
+ else
+ {
+ sprintf(v2,"%s",v2);
+ }
+ int a3=myresult[6];
+ if (a3<16)
+ {
+ b3=1;
+ }
+ char v3[3];
+ dec2hex(a3,v3);
+ if (b3)
+ {
+ sprintf(v3,"0%s",v3);
+ }
+ else
+ {
+ sprintf(v3,"%s",v3);
+ }
+ int a4=myresult[7];
+ if (a4<16)
+ {
+ b4=1;
+ }
+ char v4[3];
+ dec2hex(a4,v4);
+ if (b4)
+ {
+ sprintf(v4,"0%s",v4);
+ }
+ else
+ {
+ sprintf(v4,"%s",v4);
+ }
+ char a6[20]="";
+ strcat(a6,v3);
+ strcat(a6,v4);
+ strcat(a6,v1);
+ strcat(a6,v2);
+ a6[8]='\0';
+
+ //printf("%s",a6);//debug
+
+ int cl=close_serial(1);
+ double p=ieeesingle2num(a6);
+ printf("%f\n",p);
+ return p;
+}
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/serialComm.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/serialComm.c
new file mode 100644
index 0000000..6fd915a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/serialComm.c
@@ -0,0 +1,156 @@
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h> /* memset */
+#include <stdio.h>
+#include <stropts.h>
+#include "../Include/serial.h"
+#define MAXPORTS 5
+static int fd;
+
+int set_interface_attribs (int fd, int speed, int parity)
+{
+ struct termios tty;
+ memset (&tty, 0, sizeof(tty));
+ if (tcgetattr (fd, &tty) != 0)
+ {
+ return -1;
+ }
+ int posix_baudrate=0;
+
+ switch(speed) {
+ case 115200: posix_baudrate = B115200; break;
+ //default: return -1;
+ }
+ cfsetospeed (&tty, posix_baudrate);
+ cfsetispeed (&tty, posix_baudrate);
+
+ tty.c_cflag = (tty.c_cflag & ~CSIZE) | CS8; // 8-bit chars
+ // disable IGNBRK for mismatched speed tests; otherwise receive break
+ // as \000 chars
+ tty.c_iflag &= ~IGNBRK; // disable break processing
+ tty.c_lflag = 0; // no signaling chars, no echo,
+ // no canonical processing
+ tty.c_oflag = 0; // no remapping, no delays
+ tty.c_cc[VMIN] = 0; // read doesn't block
+ tty.c_cc[VTIME] = 5; // 0.5 seconds read timeout
+
+ tty.c_iflag &= ~(IXON | IXOFF | IXANY); // shut off xon/xoff ctrl
+
+ tty.c_cflag |= (CLOCAL | CREAD);// ignore modem controls,
+ // enable reading
+ tty.c_cflag &= ~(PARENB | PARODD); // shut off parity
+ tty.c_cflag |= parity;
+ tty.c_cflag &= ~CSTOPB;
+ tty.c_cflag &= ~CRTSCTS;
+
+ if (tcsetattr (fd, TCSANOW, &tty) != 0)
+ {
+ return -1;
+ }
+ return 0;
+}
+
+
+void set_blocking (int b, int should_block)
+{
+ struct termios tty;
+ memset (&tty, 0, sizeof tty);
+ if (tcgetattr (b, &tty) != 0)
+ {
+ return;
+ }
+
+ tty.c_cc[VMIN] = should_block ? 1 : 0;
+ tty.c_cc[VTIME] = 5; // 0.5 seconds read timeout
+
+ //if (tcsetattr (fd, TCSANOW, &tty) != 0)
+ // error_message ("error %d setting term attributes", errno);
+}
+
+int open_serial(int handle,int port, int baudrate){
+ char* portname;
+ //printf("%d\n",port);
+ int OK;
+ switch(port){
+ case 0: portname = "//dev/ttyACM0";break;
+ case 1: portname = "//dev/ttyACM1";break;
+ case 2: portname = "//dev/ttyACM2";break;
+ case 3: portname = "//dev/ttyACM3";break;
+ case 4: portname = "//dev/ttyACM4";break;
+ case 5: portname = "//dev/ttyACM5";break;
+ case 6: portname = "//dev/ttyACM6";break;
+ case 7: portname = "//dev/ttyACM7";break;
+ //default : return 2;
+ }
+ OK = 0;
+ //printf("%s\n",portname);
+ fd = open (portname, O_RDWR | O_NOCTTY | O_SYNC);
+ //fd = open (portname, O_RDWR | O_NOCTTY); //srikant
+ //printf("%d\n",fd);
+ if (fd < 0)
+ {
+ OK=2;
+ return OK;
+ }
+ set_interface_attribs (fd, baudrate, 0);
+ set_blocking (fd, 0); // set no blocking
+ //printf("Program running with status : %d\n",OK);
+ return OK;
+}
+
+int close_serial(int handle){
+ //usleep(1000);
+ close(fd);
+ //printf("Program closing....\n");
+ return 0;
+}
+
+int write_serial(int handle, char str[],int size){
+ if(write(fd, str, size)!=-1)
+ {
+ //printf("serial write started.\n");
+ //printf("%s\n",str );
+ //printf("%d\n",(int)str[0] );
+ }
+ usleep(size*100);
+ return 0;
+}
+
+
+int status_serial(int handle,int nb[]){
+ nb[0] = 2;
+ nb[1] = 2;
+ int OK=0;
+ //printf("Getting status.....\n");
+ return OK;
+}
+
+int read_serial(int handle,char buf[],int size){
+
+ char readbuf[size+1];
+ //int fl=tcflush(fd,TCOFLUSH);
+ //int fl=ioctl(fd,I_FLUSH,FLUSHW);
+ if(read(fd, readbuf, size)!=-1)
+ {
+ readbuf[size]='\0';
+ int i;
+ for (i = 0; i < size; ++i)
+ {
+ buf[i]=(readbuf[i]);
+ //printf("%u\n",buf[i] );
+ }
+ buf[size]='\0';
+ //printf("Reading has commenced..\n");
+ //printf("%d\n",(int)strlen(readbuf));
+ //printf("%s\n",readbuf);
+ return 0;
+ }
+ else
+ return 2 ;
+}
+/*void read_serial(int *handle,char buf[],int *size){
+ read(fd, buf, *size);
+ printf("Reading has commenced..\n");
+}*/
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/serialComm.c~ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/serialComm.c~
new file mode 100644
index 0000000..b7f0743
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/serialComm.c~
@@ -0,0 +1,156 @@
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h> /* memset */
+#include <stdio.h>
+#include <stropts.h>
+#include "../Include/serial.h"
+#define MAXPORTS 5
+static int fd;
+
+int set_interface_attribs (int fd, int speed, int parity)
+{
+ struct termios tty;
+ memset (&tty, 0, sizeof(tty));
+ if (tcgetattr (fd, &tty) != 0)
+ {
+ return -1;
+ }
+ int posix_baudrate=0;
+
+ switch(speed) {
+ case 115200: posix_baudrate = B115200; break;
+ //default: return -1;
+ }
+ cfsetospeed (&tty, posix_baudrate);
+ cfsetispeed (&tty, posix_baudrate);
+
+ tty.c_cflag = (tty.c_cflag & ~CSIZE) | CS8; // 8-bit chars
+ // disable IGNBRK for mismatched speed tests; otherwise receive break
+ // as \000 chars
+ tty.c_iflag &= ~IGNBRK; // disable break processing
+ tty.c_lflag = 0; // no signaling chars, no echo,
+ // no canonical processing
+ tty.c_oflag = 0; // no remapping, no delays
+ tty.c_cc[VMIN] = 0; // read doesn't block
+ tty.c_cc[VTIME] = 5; // 0.5 seconds read timeout
+
+ tty.c_iflag &= ~(IXON | IXOFF | IXANY); // shut off xon/xoff ctrl
+
+ tty.c_cflag |= (CLOCAL | CREAD);// ignore modem controls,
+ // enable reading
+ tty.c_cflag &= ~(PARENB | PARODD); // shut off parity
+ tty.c_cflag |= parity;
+ tty.c_cflag &= ~CSTOPB;
+ tty.c_cflag &= ~CRTSCTS;
+
+ if (tcsetattr (fd, TCSANOW, &tty) != 0)
+ {
+ return -1;
+ }
+ return 0;
+}
+
+
+void set_blocking (int b, int should_block)
+{
+ struct termios tty;
+ memset (&tty, 0, sizeof tty);
+ if (tcgetattr (b, &tty) != 0)
+ {
+ return;
+ }
+
+ tty.c_cc[VMIN] = should_block ? 1 : 0;
+ tty.c_cc[VTIME] = 5; // 0.5 seconds read timeout
+
+ //if (tcsetattr (fd, TCSANOW, &tty) != 0)
+ // error_message ("error %d setting term attributes", errno);
+}
+
+int open_serial(int handle,int port, int baudrate){
+ char* portname;
+ //printf("%d\n",port);
+ int OK;
+ switch(port){
+ case 0: portname = "//dev/ttyACM0";break;
+ case 1: portname = "//dev/ttyACM1";break;
+ case 2: portname = "//dev/ttyACM2";break;
+ case 3: portname = "//dev/ttyACM3";break;
+ case 4: portname = "//dev/ttyACM4";break;
+ case 5: portname = "//dev/ttyACM5";break;
+ case 6: portname = "//dev/ttyACM6";break;
+ case 7: portname = "//dev/ttyACM7";break;
+ //default : return 2;
+ }
+ OK = 0;
+ //printf("%s\n",portname);
+ fd = open (portname, O_RDWR | O_NOCTTY | O_SYNC);
+ //fd = open (portname, O_RDWR | O_NOCTTY); //srikant
+ //printf("%d\n",fd);
+ if (fd < 0)
+ {
+ OK=2;
+ return OK;
+ }
+ set_interface_attribs (fd, baudrate, 0);
+ set_blocking (fd, 0); // set no blocking
+ //printf("Program running with status : %d\n",OK);
+ return OK;
+}
+
+int close_serial(int handle){
+ //usleep(1000);
+ close(fd);
+ //printf("Program closing....\n");
+ return 0;
+}
+
+int write_serial(int handle, char str[],int size){
+ if(write(fd, str, size)!=-1)
+ {
+ //printf("serial write started.\n");
+ //printf("%s\n",str );
+ //printf("%d\n",(int)str[0] );
+ }
+ usleep(size*100);
+ return 0;
+}
+
+
+int status_serial(int handle,int nb[]){
+ nb[0] = 2;
+ nb[1] = 2;
+ int OK=0;
+ //printf("Getting status.....\n");
+ return OK;
+}
+
+int read_serial(int handle,char buf[],int size){
+
+ char readbuf[size+1];
+ //int fl=tcflush(fd,TCOFLUSH);
+ //int fl=ioctl(fd,I_FLUSH,FLUSHW);
+ if(read(fd, readbuf, size)!=-1)
+ {
+ readbuf[size]='\0';
+ int i;
+ for (i = 0; i < size; ++i)
+ {
+ buf[i]=(readbuf[i]);
+ //printf("%u\n",buf[i] );
+ }
+ buf[size]='\0';
+ printf("Reading has commenced..\n");
+ printf("%d\n",(int)strlen(readbuf));
+ printf("%s\n",readbuf);
+ return 0;
+ }
+ else
+ return 2 ;
+}
+/*void read_serial(int *handle,char buf[],int *size){
+ read(fd, buf, *size);
+ printf("Reading has commenced..\n");
+}*/
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/servomotor.c b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/servomotor.c
new file mode 100644
index 0000000..74048a3
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/Resources/src/servomotor.c
@@ -0,0 +1,87 @@
+#include <errno.h>
+#include <termios.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <string.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <math.h>
+#include "../Include/serial.h"
+#include "../Include/servomotor.h"
+
+void cmd_servo_attach(int h,int servo_no)
+{
+ char pin[5];
+ int wr;
+ printf("init servo write\n");
+ if(servo_no==1)//servo 1 on pin 9
+ {
+ strcpy(pin,"Sa1");
+ //printf("%s\n",pin);
+ wr=write_serial(h,pin,3);
+ }
+ else if(servo_no==2)//servo 2 on pin 10
+ {
+ strcpy(pin,"Sa2");
+ wr=write_serial(h,pin,3);
+ }
+ else
+ perror("Error.");
+}
+
+
+void cmd_servo_move(int h,int servo_no,int u1)
+{
+ int wr;
+ char servo[2];
+ char v[2];
+ char pin[5]="Sw";
+ if (u1<0)
+ {
+ sprintf(servo,"%c",48+servo_no);
+ sprintf(v,"%c",0);
+ strcat(pin,servo);
+ strcat(pin,v);
+ //printf("%s\n",pin );
+ //pin="Sw"+ascii(48+servo_no)+ascii(0);
+ }
+ else if(u1>180)
+ {
+ sprintf(servo,"%c",48+servo_no);
+ sprintf(v,"%c",180);
+ strcat(pin,servo);
+ strcat(pin,v);
+ //printf("%s\n",pin );
+ } //pin="Sw"+ascii(48+servo_no)+ascii(180);
+ else
+ {
+ sprintf(servo,"%c",48+servo_no);
+ sprintf(v,"%c",(uint8_t)u1);
+ strcat(pin,servo);
+ strcat(pin,v);
+ //printf("%s\n",pin );
+ } //pin="Sw"+ascii(48+servo_no)+ascii(uint8(u1));
+ wr=write_serial(1,pin,4);
+}
+
+
+void cmd_servo_detach(int h,int servo_no)
+{
+ int wr;
+ char pin[5]="Sd";
+ if(servo_no==1) //servo 1 on pin 10
+ {
+ strcat(pin,"1");
+ //pin="Sd1"
+ wr=write_serial(h,pin,3);
+ }
+ else if(servo_no==2) //servo 2 on pin 9
+ {
+ strcat(pin,"2");
+ //pin="Sd2"
+ wr=write_serial(h,pin,3);
+ }
+ else
+ perror("Error.");
+
+} \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/_gitignore b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/_gitignore
new file mode 100644
index 0000000..b3bdba3
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/_gitignore
@@ -0,0 +1,37 @@
+# Compiled source #
+###################
+*.com
+*.class
+
+# Backup Files #
+############
+*~
+
+# Packages #
+############
+# it's better to unpack these files and commit the raw source
+# git has its own built in compression methods
+*.7z
+*.dmg
+*.gz
+*.iso
+*.jar
+*.rar
+*.tar
+*.zip
+
+# Logs and databases #
+######################
+*.log
+*.sql
+*.sqlite
+
+# OS generated files #
+######################
+.DS_Store
+.DS_Store?
+._*
+.Spotlight-V100
+.Trashes
+ehthumbs.db
+Thumbs.db
diff --git a/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/test_firmware.mo b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/test_firmware.mo
new file mode 100644
index 0000000..854d60f
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/OpenModelica_Arduino_With_MDD/test_firmware.mo
@@ -0,0 +1,20 @@
+model test_firmware "Testing SerialCommunication with Arduino"
+
+import sComm=Arduino.SerialCommunication.Functions;
+Integer h(fixed = false);
+Integer byte_read(fixed = false);
+//String str(fixed =false);
+Integer wr(fixed =false);
+Integer c_OK(fixed =false);
+algorithm
+ when initial() then
+ h:=sComm.open_serial(1,0,115200);
+ sComm.delay(2000);
+ wr:=sComm.write_serial(1,"v",1);
+ byte_read:= sComm.read_serial(1,2);
+ c_OK := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+
+end test_firmware; \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD-master/README.md b/OpenModelica_Arduino_With_MDD-master/README.md
new file mode 100644
index 0000000..5262d9e
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD-master/README.md
@@ -0,0 +1,67 @@
+# OpenModelica_Arduino_With_MDD on Linux (Ubuntu 16.04 onwards)
+Embedded Experiments with OpenModelica and Arduino with facility for Embedded C code generation.
+
+Free & Open Source library based on OpenModelica to perform Embedded Experiments with Arduino. Also, there is a facility to generate Embedded C code by using Modelica_DeviceDriver models.
+
+Library description
+
+The library is an open source Modelica package for real-time simulation of circuit designs involving Arduino platforms based on AVR Atmega328P MCUs.
+
+Main features:
+
+ Support for Linux.
+ (Soft) real-time synchronization of a simulation.
+
+Please note that the library is known to work with
+
+ OpenModelica (partial support starting with OpenModelica v1.11.0, e.g.serial port).
+
+Prerequisites
+
+ OpenModelica (>= v1.11.0) (https://www.openmodelica.org/download/download-linux)
+ Modelica_DeviceDrivers (v1.5.1) (https://github.com/modelica/Modelica_DeviceDrivers/releases/tag/v1.5.1)
+
+Compile and Install
+
+ Compile: Navigate to Library directory under Resources and to compile a source file named filename.c execute the following command
+
+$ gcc –c –Wall –fPIC ../src/filename.c
+
+To make a shared object file named libSerialComm.so execute the following
+
+$ gcc –shared –fPIC *.o -o libSerialComm.so
+
+ Install and Run: Launch OMEdit and load the package Modelica_DeviceDrivers.Also, load the OpenModelica-Arduino package present in Arduino.mo file.Load the Arduino platform with the arduino_firmware.ino code.Create any model using the package and simulate.
+
+Running Test Firmware
+
+Test the package using test firmware provided.
+
+ Load the Arduino platform with the arduino_firmware.ino code.
+ Load the test model present in testfirmware.mo file along with Arduino.mo file in OpenModelica.
+ Simulate the model.If no error occurs,the package is good to go.
+
+Running MDD Models
+
+See the AVR package documentation under Modelica_DeviceDrivers -> EmbeddedTargets -> AVR in OMEdit before running the MDD examples.
+
+ To run a Modelica_DeviceDrivers Blink example, navigate to MDD_build/Blink directory and execute the following command
+
+$ ./blink.sh [port_no] [baudrate]
+
+ Running Manually: Executing Blink example within Modelica_DeviceDrivers EmbeddedTargets Package:- Put the runMDDAvr.mos file in a (build) directory and execute following commands on the command line:
+
+$ omc --simCodeTarget=ExperimentalEmbeddedC runMDDAvr.mos
+$ avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections Blink_main.c -o Blink -I /path_to_MDD/Modelica_DeviceDrivers/Resources/Include -I /usr/include/omc/c
+$ avr-objcopy -O ihex -R .eeprom Blink Blink.hex
+$ avrdude -F -V -c arduino -p ATMEGA328P -P /dev/ttyACM0 -b 115200 -U flash:w:Blink.hex
+
+For further information: Visit https://build.openmodelica.org/Documentation/Modelica_DeviceDrivers.html.
+Development and contribution
+
+Main developers:
+
+ Manas Ranjan Das, FOSSSEE, IIT-Bombay
+
+Contributions in shape of [Pull Requests] are always welcome.
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Arduino.mo b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Arduino.mo
new file mode 100644
index 0000000..42d690e
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Arduino.mo
@@ -0,0 +1,1783 @@
+package Arduino
+ extends Arduino.SerialCommunication.Icons.GenericICPackage;
+
+ package SerialCommunication "Serial Communication Package for Arduino"
+ extends Arduino.SerialCommunication.Icons.FunctionLayerIcon;
+ import ModelicaReference.Operators;
+
+ package Functions
+ extends Modelica.Icons.Package;
+ import Modelica;
+
+ function open_serial "Command to initialize the serial port which is connected to Arduino"
+ extends Modelica.Icons.Function;
+ input Integer handle, port, baudrate;
+ output Integer OK;
+
+ external OK = open_serial(handle, port, baudrate) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>open_serial</b>(handle,port,baudrate);
+</pre></blockquote>
+<h4>Description</h4>
+<p>
+Establishes a serial communication using port number \"port\".To connect to the Arduino board, check the port number from the device manager or check it from the Arduino software.
+</p>
+</html>"));
+ end open_serial;
+
+ function read_serial "read characters from serial port"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ input Integer size;
+ output Integer r_OK;
+ protected
+ Integer buf[size + 1];
+
+ external r_OK = read_serial(handle, buf, size) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>read_serial</b>(handle,size);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The translation setting of openserial can come in the way, affecting the number of characters effectively read. If that is the case, omitting the parameter n might be a bad idea, as scilab can hang. This would happen if the input stream contains CR or LF characters which are filtered out: in such cases serialstatus counts them, but readserial does not see them and keeps wating (if the blocking mode of openserial was true) until the total number is received.
+</p>
+</html>"));
+ end read_serial;
+
+ function write_serial "write to the serial port"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ input String str;
+ input Integer size;
+ output Integer w_OK;
+
+ external w_OK = write_serial(handle, str, size) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>write_serial</b>(handle,str,size);
+</pre></blockquote>
+<h4>Description</h4>
+<p>No end of line character is appended to the string; the user might have to add it if the device being talked to requires it. The Tcl command puts -nonewline is used. In addition, the translation mode of openserial can come into way.
+</p>
+</html>"));
+ end write_serial;
+
+ function close_serial "Command to close the serial port which is connected to Arduino"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ output Integer c_OK;
+
+ external c_OK = close_serial(handle) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>close_serial</b>(handle);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Closes the port for serial communication specified by \"handle\".It is important to close the serial port after use, else the port would be busy and restart of Scilab might required to connect to it again.
+</p>
+</html>"));
+ end close_serial;
+
+ function status_serial "get status of the serial port"
+ extends Modelica.Icons.Function;
+ input Integer handle;
+ output Integer stat_OK;
+ protected
+ Integer bytes[2];
+
+ external stat_OK = status_serial(handle, bytes) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>status_serial</b>(handle);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Provides status of serial communication channel specified by \"handle\".Get some information about the number of characters present in the input and output buffers of the serial port, and about the status lines (DTS, CTS, etc.).The translation setting of openserial can come in the way. If the input stream contains CR or LF characters which are filtered out, openserial counts them but readserial does not see them.
+</p>
+</html>"));
+ end status_serial;
+
+ function cmd_digital_out "Command to sent out digital signal to a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no, val;
+ output Integer digital_w_OK;
+
+ external digital_w_OK = cmd_digital_out(h, pin_no, val) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_digital_out</b>(handle,pin_no,value);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+</p>
+</html>"));
+ end cmd_digital_out;
+
+ function cmd_digital_in "Command to read in digital signal from a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ output Integer digital_in;
+
+ external digital_in = cmd_digital_in(h, pin_no) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_digital_in</b>(handle,pin_no);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+</p>
+</html>"));
+ end cmd_digital_in;
+
+ function delay "Provides delay.Suspends Openmodelica."
+ extends Modelica.Icons.Function;
+ input Integer t;
+
+ external delay(t) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>delay</b>(milliseconds);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Delay process for specified number of miliseconds specified by the argument. The actual suspension time may be longer because of other activities in the system, or because of the time spent in processing the call.
+ </p>
+ </html>"));
+ end delay;
+
+ function cmd_analog_in "Command to read in analog signal from a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ output Integer val;
+
+ external val = cmd_analog_in(h, pin_no) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_analog_in</b>(handle,pin_no);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+</p>
+</html>"));
+ end cmd_analog_in;
+
+ function cmd_analog_out "Command to sent out analog signal to a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ input Real val;
+ output Integer analog_w_OK;
+
+ external analog_w_OK = cmd_analog_out(h, pin_no, val) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>cmd_analog_out</b>(handle,pin_no,val);
+</pre></blockquote>
+<h4>Description</h4>
+<p>The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term 'analog output', because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage.
+The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).
+</p>
+</html>"));
+ end cmd_analog_out;
+
+ function cmd_analog_in_volt "Command to read in analog signal from a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ output Integer val;
+
+ external val = cmd_analog_in_volt(h, pin_no) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_analog_in_volt</b>(handle,pin_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. This function scale the reading to 0-5 so the user could get the measured voltage directly.
+ </p>
+ </html>"));
+ end cmd_analog_in_volt;
+
+ function cmd_analog_out_volt "Command to sent out analog signal to a connected Arduino board"
+ extends Modelica.Icons.Function;
+ input Integer h, pin_no;
+ input Real val;
+ output Integer analog_v_wOK;
+
+ external analog_v_wOK = cmd_analog_out_volt(h, pin_no, val) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_analog_out_volt</b>(handle,pin_no,val);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term 'analog output', because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage.
+ </p>
+ </html>"));
+ end cmd_analog_out_volt;
+
+ function cmd_dcmotor_setup "Command to setup pins to control DC motor"
+ extends Modelica.Icons.Function;
+ input Integer handle, driver_type, motor_no, pin1, pin2;
+
+ external cmd_dcmotor_setup(handle, driver_type, motor_no, pin1, pin2) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_dcmotor_setup</b>(handle,driver_type,motor_no,pin_no1,pin_no2);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </p>
+ </html>"));
+ end cmd_dcmotor_setup;
+
+ function cmd_dcmotor_run "Command to run DC motor after setting up"
+ extends Modelica.Icons.Function;
+ input Integer handle, motor_no, val;
+
+ external cmd_dcmotor_run(handle, motor_no, val) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_dcmotor_run</b>(handle,motor_no,value);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </p>
+ </html>"));
+ end cmd_dcmotor_run;
+
+ function cmd_dcmotor_release "Command to release pins which have setup for DC motor"
+ extends Modelica.Icons.Function;
+ input Integer handle, motor_no;
+
+ external cmd_dcmotor_release(handle, motor_no) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_dcmotor_release</b>(handle,motor_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </p>
+ </html>"));
+ end cmd_dcmotor_release;
+
+ function cmd_servo_attach "Command to attach servo motor to Arduino"
+ extends Modelica.Icons.Function;
+ input Integer handle, servo_no;
+
+ external cmd_servo_attach(handle, servo_no) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_servo_attach</b>(handle,servo_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </p>
+ </html>"));
+ end cmd_servo_attach;
+
+ function cmd_servo_move "Command to run servo motor which has been setup"
+ extends Modelica.Icons.Function;
+ input Integer handle, servo_no, val;
+
+ external cmd_servo_move(handle, servo_no, val) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_servo_move</b>(handle,servo_no,value);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </p>
+ </html>"));
+ end cmd_servo_move;
+
+ function cmd_servo_detach "Command to release the pin which has been setup for servo motor"
+ extends Modelica.Icons.Function;
+ input Integer handle, servo_no;
+
+ external cmd_servo_attach(handle, servo_no) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>cmd_servo_detach</b>(handle,servo_no);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </p>
+ </html>"));
+ end cmd_servo_detach;
+
+ function ieeesingle2num "ieee-745 floating point converter"
+ extends Modelica.Icons.Function;
+ input String hexa;
+ output Real y;
+
+ external y = ieeesingle2num(hexa) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+<h4>Syntax</h4>
+<blockquote><pre>
+Arduino.SerialCommunication.Functions.<b>ieeesingle2num</b>(hexa);
+</pre></blockquote>
+<h4>Description</h4>
+<p>Converts an hexadecimal integer to ieee single precision format
+ </p>
+</html>"));
+ end ieeesingle2num;
+
+ function math_floor "Floor function"
+ extends Modelica.Icons.Function;
+ input Real x;
+ output Integer y;
+
+ external y = mfloor(x) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Functions.<b>math_floor</b>(x);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Returns the greatest integer less than or equal to x
+ </p>
+ </html>"));
+ end math_floor;
+
+ package MDD_Servo
+ extends Modelica.Icons.Package;
+
+ class Init
+ extends ExternalObject;
+
+ function constructor "Return device handle"
+ extends .Modelica.Icons.Function;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import Arduino.SerialCommunication.Functions.MDD_Servo;
+ input sComm.Types.Servo_no servo_no;
+ output sComm.Functions.MDD_Servo.Init servo;
+
+ external "C" servo = MDD_avr_servo_initialize(servo_no) annotation(
+ Include = "#include \"/home/souradip/OpenModelica/Resources/Include/MDDAVRServo.h\"");
+ end constructor;
+
+ function destructor "Destructor"
+ extends .Modelica.Icons.Function;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import Arduino.SerialCommunication.Functions.MDD_Servo;
+ input sComm.Types.Servo_no servo_no "Device handle";
+
+ external "C" MDD_avr_servo_finalize(servo_no) annotation(
+ Include = "#include \"/home/souradip/OpenModelica/Resources/Include/MDDAVRServo.h\"");
+ end destructor;
+ end Init;
+
+ function Move
+ extends Modelica.Icons.Function;
+ import sComm = Arduino.SerialCommunication.Functions;
+ input sComm.Functions.MDD_Servo.Init servo;
+ input Integer value;
+
+ external "C" MDD_avr_servo_move(servo, value) annotation(
+ Include = "#include \"/home/souradip/OpenModelica/Resources/Include/MDDAVRServo.h\"");
+ end Move;
+ end MDD_Servo;
+ end Functions;
+
+ package Examples
+ extends Modelica.Icons.ExamplesPackage;
+
+ package led
+ extends Modelica.Icons.ExamplesPackage;
+
+ model led_blue "Turn on Blue LED"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 2 with baudrate of 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//strm.print(String(time));
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blue;
+
+ model led_blue_delay "Turn on Blue LED for a period of 2 seconds"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 2 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn the blue LED";
+ sComm.delay(2000) "let the blue LED be on for two seconds";
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "turn off blue LED";
+ sComm.delay(2000) "let the blue LED be off for two seconds";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//strm.print(String(time));
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blue_delay;
+
+
+
+ model led_blue_red "Turn on Red & Blue LED"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 2 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn the blue LED";
+ digital_out := sComm.cmd_digital_out(1, 11, 1) "This will turn the red LED";
+ sComm.delay(5000) "Delay for 5 seconds";
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This turns off the blue Led";
+ sComm.delay(3000) "Delay for 3 seconds";
+ digital_out := sComm.cmd_digital_out(1, 11, 0) "This turns off the red Led";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//strm.print(String(time));
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blue_red;
+
+ model led_blink "This will turn on and turn off the user LED for every second for 10 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 2 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ for i in 1:1000 loop
+ digital_out := sComm.cmd_digital_out(1, 13, 0) "This will turn off the LED";
+ sComm.delay(1000) "Delay for 1 second";
+ digital_out := sComm.cmd_digital_out(1, 13, 1) "This turns the Led";
+ sComm.delay(1000) "Delay for 1 second";
+ end for;
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_blink;
+
+ model led_green_blink "This will turn on and turn off the green LED for every second for 5 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ for i in 1:10 loop
+ digital_out := sComm.cmd_digital_out(1, 10, 0) "This will turn off the green LED";
+ sComm.delay(1000) "Delay for 1 second";
+ digital_out := sComm.cmd_digital_out(1, 10, 1) "This turns the green Led";
+ sComm.delay(1000) "Delay for 1 second";
+ end for;
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end led_green_blink;
+
+ end led;
+
+ package push
+ extends Modelica.Icons.ExamplesPackage;
+
+ model led_push_button "Conrolling LED with PushButton"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 2 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ digital_in := sComm.cmd_digital_in(1, 12) "";
+ if digital_in == 0 then
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This will turn OFF the blue LED";
+ sComm.delay(200);
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ sComm.delay(200);
+ end if;
+ end if;
+//for i in 1:1000 loop
+//end for;
+ strm.print(String(time));
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.1));
+ end led_push_button;
+
+
+ model push_button_status "Checking Status of PushButton"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_in(fixed = false);
+ Integer digital_out(start = 0, fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 0 with baudrate of 115200";
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ digital_in := sComm.cmd_digital_in(1, 12);
+ if digital_in == 0 then
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This will turn OFF the blue LED";
+ strm.print("LOW");
+ sComm.delay(200);
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ strm.print("HIGH");
+ sComm.delay(200);
+ end if;
+ end if;
+//for i in 1:1000 loop
+//end for;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//sComm.cmd_arduino_meter(digital_in);
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.1));
+ end push_button_status;
+
+ end push;
+
+ package ldr
+ extends Modelica.Icons.ExamplesPackage;
+
+ model ldr_led "LED indicating light sensor readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 5) "read analog pin 5 (ldr)";
+ if analog_in < 300 then
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "Turn ON LED";
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "Turn OFF LED";
+ end if;
+ sComm.delay(500);
+ end if;
+//strm.print(String(time));
+ when time >=10 then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//Setting Threshold value of 300
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.2));
+ end ldr_led;
+
+
+
+ model ldr_read "Reading light intensity using ldr"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 5) "read analog pin 5 (ldr)";
+ strm.print("LDR Readings" + " : " + String(analog_in));
+ sComm.delay(500);
+ end if;
+ when time >=10 then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 1));
+ end ldr_read;
+
+
+ end ldr;
+
+ package pot
+ extends Modelica.Icons.ExamplesPackage;
+
+ model pot_threshold
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 2 with baudrate of 115200";
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 2) "read analog pin 2";
+ strm.print("Potentiometer Readings:" + String(analog_in));
+ if analog_in >= 0 and analog_in < 320 then
+ digital_out := sComm.cmd_digital_out(1, 11, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 11, 0) "Turn OFF LED";
+ elseif analog_in >= 320 and analog_in <= 900 then
+ digital_out := sComm.cmd_digital_out(1, 10, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 10, 0) "Turn OFF LED";
+ elseif analog_in > 900 and analog_in <= 1023 then
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "Turn OFF LED";
+ end if;
+ end if;
+//Threshold 1
+//Threshold 2
+ when time >= 10 then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 1));
+ end pot_threshold;
+ end pot;
+
+ package thermistor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model therm_buzzer "Sound buzzer depending on thermistor readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 2 with baudrate of 115200";
+ sCOmm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 4) "read analog pin 4";
+ if analog_in > 500 then
+ digital_out := sComm.cmd_digital_out(1, 3, 1) "Turn ON Buzzer";
+ else
+ digital_out := sComm.cmd_digital_out(1, 3, 0) "Turn OFF Buzzer";
+ end if;
+ sComm.delay(500);
+ end if;
+//for i in 1:500 loop
+//end for;
+//Run for 500 iterations
+//Setting Threshold value of 500
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.1));
+ end therm_buzzer;
+
+
+ model therm_read "Thermistor Readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "At port 2 with baudrate of 115200";
+ sComm.delay(2000);
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ analog_in := sComm.cmd_analog_in(1, 4) "read analog pin 5 (ldr)";
+ strm.print("Thermistor Readings " + " : " + String(analog_in));
+ sComm.delay(500);
+ end if;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 20, Tolerance = 1e-6, Interval = 1));
+ end therm_read;
+
+ end thermistor;
+
+ package dcmotor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model dcmotor_clock "Rotate DC Motor clockwise"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "COM port is 2 and baud rate is 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ sComm.delay(1000);
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 100) "Motor 1 runs at PWM 100";
+ sComm.delay(3000) "This is allowed to continue for 3 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end dcmotor_clock;
+
+ model dcmotor_both "Rotate DC Motor in both directions"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "COM port is 2 and baud rate is 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 100) "Motor 1 runs at PWM 100";
+ sComm.delay(3000) "for 3 seconds";
+ sComm.cmd_dcmotor_run(1, 1, -100) "Motor 1 runs at PWM -100 in reverse direction";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end dcmotor_both;
+
+ model dcmotor_loop "Rotate DC Motor in both directions in a loop"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "COM port is 2 and baud rate is 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pins 9 and 10";
+ for i in 1:4 loop
+ sComm.cmd_dcmotor_run(1, 1, 100) "Motor 1 runs at PWM 100";
+ sComm.delay(3000) "for 3 seconds";
+ sComm.cmd_dcmotor_run(1, 1, 0) "Halt the motor";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_run(1, 1, -100) "Run it at PWM 100 in reverse direction";
+ sComm.delay(2000) "for 2 seconds";
+ end for;
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+ end dcmotor_loop;
+
+
+ end dcmotor;
+
+ package servo
+ extends Modelica.Icons.ExamplesPackage;
+
+ model servo_init "Rotate Servo Motor "
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "COM port is 2 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.cmd_servo_attach(1, 1) "To attach the motor to pin 9 of servo1";
+ sComm.cmd_servo_move(1, 1, 30) "tell servo to rotate by 30 degrees";
+ sComm.delay(3000);
+ //sComm.cmd_servo_detach(1,1);
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_init;
+
+
+
+
+
+
+
+ model servo_loop "Rotate servo motor by 20 degrees 10 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ Integer angle(fixed = true);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "COM port is 2 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.cmd_servo_attach(1, 1) "Attach motor to pin 9. 1 means pin 9.";
+ sComm.delay(2000);
+ angle := 20 "Angle by which it has to move";
+ for i in 1:10 loop
+ sComm.cmd_servo_move(1, 1, angle * i) "tell servo to rotate by 20 degrees";
+ sComm.delay(1000) "waits for a sec";
+ end for;
+ sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_loop;
+
+ model servo_reverse
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "COM port is 2 and baud rate is 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.cmd_servo_attach(1, 1) "Attach the motor to pin 9. 1 means 9";
+ sComm.cmd_servo_move(1, 1, 90) "Move the servo to 90 degree";
+ sComm.delay(1000) "be there for one second";
+ sComm.cmd_servo_move(1, 1, 45) "Move the servo to 45 degree";
+ sComm.delay(1000) "be there for one second";
+ sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ sComm.delay(1000);
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_reverse;
+
+ model servo_pot "Control Servo Motor using Potentiometer"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ Integer analog_in(fixed = false);
+ algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 2, 115200) "COM port is 2 and baud rate is 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.cmd_servo_attach(1, 1) "Attach the motor to pin 9";
+ sComm.delay(2000);
+ for i in 1:5000 loop
+ analog_in := sComm.cmd_analog_in(1, 2) "Read potentiometer value";
+ sComm.cmd_servo_move(1, 1, analog_in) "Command the servo motor";
+ sComm.delay(1000) "sleep for 1000 milliseconds";
+ end for;
+ sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ end if;
+ analog_in := sComm.math_floor(analog_in * (180 / 1023)) "Scale Potentiometer value to 0-180";
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+//5,000 itterations
+//strm.print(String(analog_in));
+ annotation(
+ experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+ end servo_pot;
+
+ end servo;
+
+ package modbus
+ extends Modelica.Icons.ExamplesPackage;
+
+ function read_voltage
+ extends Modelica.Icons.Function;
+
+ external read_voltage() annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_voltage</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_voltage;
+
+ function read_current
+ extends Modelica.Icons.Function;
+
+ external read_current() annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_current</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_current;
+
+
+ function read_val
+ extends Modelica.Icons.Function;
+ input Integer addr_byte;
+ output Real p;
+
+ external p = read_val(addr_byte) annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_val</b>(address_byte);
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_val;
+
+ function read_active_power
+ extends Modelica.Icons.Function;
+
+ external read_active_power() annotation(
+ Library = "SerialComm");
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_active_power</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end read_active_power;
+
+ model modbus_test
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import modbus = Arduino.SerialCommunication.Examples.modbus;
+ //Integer ok(fixed = false);
+ //Integer c_ok(fixed = false);
+ algorithm
+ when initial() then
+ //ok:=sComm.open_serial(1,2,9600);
+ modbus.read_voltage();
+ modbus.read_current();
+ modbus.read_active_power();
+ sComm.delay(2000);
+ //c_ok:=sComm.close_serial(1);
+ end when;
+ end modbus_test;
+
+
+
+
+
+
+
+ end modbus;
+ end Examples;
+
+ package MDD_Examples "Interfacing arduino with OpenModelica using Modelica Device Drivers"
+ extends Modelica.Icons.ExamplesPackage;
+
+ package MDD_led
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_led_blue ""
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {39, -21}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-41, -21}, extent = {{-15, -17}, {15, 17}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-24, -20}, {14, -20}, {14, -20}, {16, -20}}, color = {255, 0, 255}));
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.MDD_Examples.MDD_led.<b>MDD-led_blue</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+ end MDD_led_blue;
+
+ model MDD_led_blue_delay
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {31, 41}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {41, -17}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = if time < 5 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-27, -16}, extent = {{-21, -16}, {21, 16}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-4, -16}, {20, -16}}, color = {255, 0, 255}));
+ end MDD_led_blue_delay;
+
+ model MDD_led_blink
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-45, 71}, extent = {{-23, -23}, {23, 23}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'5', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {42, -22}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {23, 71}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = mod(time, 2) >= 1) annotation(
+ Placement(visible = true, transformation(origin = {-24, -21}, extent = {{-16, -15}, {16, 15}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-6, -21}, {16, -21}, {16, -22}, {18, -22}}, color = {255, 0, 255}));
+ end MDD_led_blink;
+
+ model MDD_led_blue_red
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-47, 47}, extent = {{-21, -21}, {21, 21}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {38, -16}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 44}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean2(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'3', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {38, -62}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = if time < 1 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-32, -16}, extent = {{-18, -14}, {18, 14}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = if time < 1.6 then true else false) annotation(
+ Placement(visible = true, transformation(origin = {-32, -62}, extent = {{-18, -16}, {18, 16}}, rotation = 0)));
+ equation
+ connect(digitalWriteBoolean2.u, booleanExpression2.y) annotation(
+ Line(points = {{18, -62}, {-12, -62}, {-12, -62}, {-12, -62}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, digitalWriteBoolean2.u) annotation(
+ Line(points = {{-12, -62}, {18, -62}, {18, -62}, {18, -62}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{-12, -16}, {18, -16}, {18, -16}, {18, -16}}, color = {255, 0, 255}));
+ end MDD_led_blue_red;
+
+ model MDD_led_green_blink
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'2', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {46, -30}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 39}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = mod(time, 2) >= 1) annotation(
+ Placement(visible = true, transformation(origin = {-17, -30}, extent = {{-15, -14}, {15, 14}}, rotation = 0)));
+ equation
+ connect(booleanExpression1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{0, -30}, {24, -30}, {24, -30}, {24, -30}}, color = {255, 0, 255}));
+ end MDD_led_green_blink;
+ end MDD_led;
+
+ package MDD_push
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_led_push_button
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-38, 40}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {64, -26}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {16, -26}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-20, 8}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = false) annotation(
+ Placement(visible = true, transformation(origin = {-18, -62}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalReadBoolean digitalReadBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'4', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.D) annotation(
+ Placement(visible = true, transformation(origin = {-60, -26}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{28, -26}, {44, -26}, {44, -26}, {44, -26}}, color = {255, 0, 255}));
+ connect(digitalReadBoolean1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{-48, -26}, {2, -26}, {2, -26}, {4, -26}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, logicalSwitch1.u1) annotation(
+ Line(points = {{-8, 8}, {-2, 8}, {-2, -18}, {4, -18}, {4, -18}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, logicalSwitch1.u3) annotation(
+ Line(points = {{-6, -62}, {-2, -62}, {-2, -34}, {4, -34}, {4, -34}}, color = {255, 0, 255}));
+ end MDD_led_push_button;
+
+ model MDD_push_button_status
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-43, 43}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {20, 42}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalReadBoolean digitalReadBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'4', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {-39, -19}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.BooleanValue booleanValue1(use_activePort = true) annotation(
+ Placement(visible = true, transformation(origin = {31, -19}, extent = {{-15, -17}, {15, 17}}, rotation = 0)));
+ equation
+ connect(digitalReadBoolean1.y, booleanValue1.activePort) annotation(
+ Line(points = {{-18, -18}, {14, -18}, {14, -18}, {14, -18}}, color = {255, 0, 255}));
+ end MDD_push_button_status;
+ end MDD_push;
+
+ package MDD_ldr
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_ldr_led
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-45, 65}, extent = {{-21, -21}, {21, 21}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {79, -23}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = true) annotation(
+ Placement(visible = true, transformation(origin = {-60, 12}, extent = {{-14, -16}, {14, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2 annotation(
+ Placement(visible = true, transformation(origin = {-59, -79}, extent = {{-13, -17}, {13, 17}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {28, -22}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterThreshold greaterThreshold1(threshold = 600) annotation(
+ Placement(visible = true, transformation(origin = {-21, -23}, extent = {{-11, -11}, {11, 11}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A5, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-72, -22}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ equation
+ connect(adc.y, greaterThreshold1.u) annotation(
+ Line(points = {{-50, -22}, {-34, -22}}, color = {0, 0, 127}));
+ connect(greaterThreshold1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{-8, -22}, {8, -22}, {8, -22}, {8, -22}}, color = {255, 0, 255}));
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{46, -22}, {58, -22}, {58, -22}, {58, -22}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, logicalSwitch1.u1) annotation(
+ Line(points = {{-44, 12}, {8, 12}, {8, -10}, {8, -10}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, logicalSwitch1.u3) annotation(
+ Line(points = {{-44, -78}, {6, -78}, {6, -34}, {8, -34}}, color = {255, 0, 255}));
+ end MDD_ldr_led;
+
+ model MDD_ldr_read
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-37, 39}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {50, 38}, extent = {{-22, -22}, {22, 22}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A5, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-39, -17}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1(use_numberPort = true) annotation(
+ Placement(visible = true, transformation(origin = {30, -17}, extent = {{-18, -17}, {18, 17}}, rotation = 0)));
+ equation
+ connect(adc.y, realValue1.numberPort) annotation(
+ Line(points = {{-20, -17}, {7, -17}}, color = {0, 0, 127}));
+ end MDD_ldr_read;
+ end MDD_ldr;
+
+ package MDD_pot
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_pot_threshold ""
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-79, 79}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {80, 80}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica.Blocks.Logical.Switch switch11 annotation(
+ Placement(visible = true, transformation(origin = {2, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Switch switch12 annotation(
+ Placement(visible = true, transformation(origin = {10, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Greater greater1 annotation(
+ Placement(visible = true, transformation(origin = {42, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Greater greater2 annotation(
+ Placement(visible = true, transformation(origin = {36, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'1', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {82, 40}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean2(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'2', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {82, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean3(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'3', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.B) annotation(
+ Placement(visible = true, transformation(origin = {82, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold1(threshold = 0) annotation(
+ Placement(visible = true, transformation(origin = {-42, 44}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold2(threshold = 320) annotation(
+ Placement(visible = true, transformation(origin = {-42, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold3(threshold = 900) annotation(
+ Placement(visible = true, transformation(origin = {-40, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.RealExpression realExpression1(y = 0) annotation(
+ Placement(visible = true, transformation(origin = {-40, -92}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.RealExpression realExpression2(y = 1) annotation(
+ Placement(visible = true, transformation(origin = {-44, 84}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Switch switch1 annotation(
+ Placement(visible = true, transformation(origin = {0, 70}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Math.RealToBoolean realToBoolean1(threshold = 0.5) annotation(
+ Placement(visible = true, transformation(origin = {44, -64}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A2, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-88, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(adc.y, greaterEqualThreshold1.u) annotation(
+ Line(points = {{-76, 0}, {-70, 0}, {-70, 46}, {-54, 46}}, color = {0, 0, 127}));
+ connect(greaterEqualThreshold1.y, switch1.u2) annotation(
+ Line(points = {{-31, 46}, {-24, 46}, {-24, 70}, {-12, 70}}, color = {255, 0, 255}));
+ connect(adc.y, greaterEqualThreshold3.u) annotation(
+ Line(points = {{-76, 0}, {-70, 0}, {-70, -64}, {-52, -64}, {-52, -64}}, color = {0, 0, 127}));
+ connect(adc.y, greaterEqualThreshold2.u) annotation(
+ Line(points = {{-76, 0}, {-54, 0}, {-54, 0}, {-54, 0}}, color = {0, 0, 127}));
+ connect(realToBoolean1.y, digitalWriteBoolean3.u) annotation(
+ Line(points = {{56, -64}, {70, -64}, {70, -64}, {70, -64}}, color = {255, 0, 255}));
+ connect(switch12.y, realToBoolean1.u) annotation(
+ Line(points = {{22, -64}, {32, -64}, {32, -64}, {32, -64}}, color = {0, 0, 127}));
+ connect(realExpression1.y, switch1.u3) annotation(
+ Line(points = {{-28, -92}, {-16, -92}, {-16, 62}, {-12, 62}, {-12, 62}}, color = {0, 0, 127}));
+ connect(realExpression2.y, switch1.u1) annotation(
+ Line(points = {{-32, 84}, {-20, 84}, {-20, 78}, {-12, 78}, {-12, 78}}, color = {0, 0, 127}));
+ connect(switch1.y, greater2.u1) annotation(
+ Line(points = {{12, 70}, {22, 70}, {22, 70}, {24, 70}}, color = {0, 0, 127}));
+ connect(greater1.y, digitalWriteBoolean2.u) annotation(
+ Line(points = {{54, 0}, {70, 0}}, color = {255, 0, 255}));
+ connect(switch11.y, greater2.u2) annotation(
+ Line(points = {{14, 0}, {18, 0}, {18, 62}, {24, 62}, {24, 62}}, color = {0, 0, 127}));
+ connect(switch11.y, greater1.u1) annotation(
+ Line(points = {{14, 0}, {30, 0}}, color = {0, 0, 127}));
+ connect(switch12.y, greater1.u2) annotation(
+ Line(points = {{22, -64}, {22, -64}, {22, -8}, {30, -8}, {30, -8}}, color = {0, 0, 127}));
+ connect(greaterEqualThreshold2.y, switch11.u2) annotation(
+ Line(points = {{-30, 0}, {-10, 0}, {-10, 0}, {-10, 0}}, color = {255, 0, 255}));
+ connect(greater2.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{48, 70}, {56, 70}, {56, 40}, {70, 40}, {70, 40}}, color = {255, 0, 255}));
+ connect(realExpression2.y, switch12.u1) annotation(
+ Line(points = {{-32, 84}, {-20, 84}, {-20, -56}, {-2, -56}, {-2, -56}}, color = {0, 0, 127}));
+ connect(realExpression2.y, switch11.u1) annotation(
+ Line(points = {{-32, 84}, {-20, 84}, {-20, 8}, {-10, 8}, {-10, 8}}, color = {0, 0, 127}));
+ connect(realExpression1.y, switch11.u3) annotation(
+ Line(points = {{-28, -92}, {-16, -92}, {-16, -8}, {-10, -8}, {-10, -8}}, color = {0, 0, 127}));
+ connect(realExpression1.y, switch12.u3) annotation(
+ Line(points = {{-28, -92}, {-16, -92}, {-16, -72}, {-2, -72}, {-2, -72}}, color = {0, 0, 127}));
+ connect(greaterEqualThreshold3.y, switch12.u2) annotation(
+ Line(points = {{-28, -64}, {-2, -64}, {-2, -64}, {-2, -64}}, color = {255, 0, 255}));
+ annotation(
+ Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.MDD_Examples.MDD_pot.<b>MDD_pot_threshold</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>Voltage reference used to represent 10 bit precision(1024) of ADC along with prescaling by by 128.Internal voltage reference is applied to adc.
+ </p>
+ </html>"));
+ end MDD_pot_threshold;
+ end MDD_pot;
+
+ package MDD_thermistor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_therm_read
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 42}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A4, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-40, -20}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1(use_numberPort = true) annotation(
+ Placement(visible = true, transformation(origin = {39, -21}, extent = {{-15, -19}, {15, 19}}, rotation = 0)));
+ equation
+ connect(adc.y, realValue1.numberPort) annotation(
+ Line(points = {{-18, -20}, {20, -20}, {20, -20}, {22, -20}}, color = {0, 0, 127}));
+ end MDD_therm_read;
+
+ model MDD_therm_buzzer
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-61, 61}, extent = {{-21, -21}, {21, 21}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A4, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1024, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-68, 1.77636e-15}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {41, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1(use_numberPort = true) annotation(
+ Placement(visible = true, transformation(origin = {12, -56}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.DigitalWriteBoolean digitalWriteBoolean1(pin = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Pin.'3', port = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Port.D) annotation(
+ Placement(visible = true, transformation(origin = {78, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.LogicalSwitch logicalSwitch1 annotation(
+ Placement(visible = true, transformation(origin = {40, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1(y = false) annotation(
+ Placement(visible = true, transformation(origin = {10, -32}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression2(y = true) annotation(
+ Placement(visible = true, transformation(origin = {10, 32}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.GreaterEqualThreshold greaterEqualThreshold1(threshold = 550) annotation(
+ Placement(visible = true, transformation(origin = {-4, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(greaterEqualThreshold1.y, logicalSwitch1.u2) annotation(
+ Line(points = {{8, 0}, {28, 0}, {28, 0}, {28, 0}}, color = {255, 0, 255}));
+ connect(adc.y, greaterEqualThreshold1.u) annotation(
+ Line(points = {{-46, 0}, {-16, 0}, {-16, 0}, {-16, 0}}, color = {0, 0, 127}));
+ connect(adc.y, realValue1.numberPort) annotation(
+ Line(points = {{-46, 0}, {-32, 0}, {-32, -56}, {0, -56}}, color = {0, 0, 127}));
+ connect(logicalSwitch1.y, digitalWriteBoolean1.u) annotation(
+ Line(points = {{52, 0}, {66, 0}, {66, 0}, {66, 0}}, color = {255, 0, 255}));
+ connect(booleanExpression2.y, logicalSwitch1.u1) annotation(
+ Line(points = {{22, 32}, {24, 32}, {24, 8}, {28, 8}, {28, 8}}, color = {255, 0, 255}));
+ connect(booleanExpression1.y, logicalSwitch1.u3) annotation(
+ Line(points = {{22, -32}, {24, -32}, {24, -8}, {28, -8}, {28, -8}}, color = {255, 0, 255}));
+ end MDD_therm_buzzer;
+ end MDD_thermistor;
+
+ package MDD_dcmotor
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_dcmotor_clock
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {51, -3}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if time < 5 then 100 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-40, -3}, extent = {{-16, -13}, {16, 13}}, rotation = 0)));
+ equation
+ connect(pwm.u[1], integerExpression1.y) annotation(
+ Line(points = {{28, -3}, {-22, -3}}, color = {255, 127, 0}, thickness = 0.5));
+ end MDD_dcmotor_clock;
+
+ model MDD_dcmotor_both
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {56, 60}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {54, 1.77636e-15}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if mod(time, 5) >= 2.5 then 100 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-41, 3.55271e-15}, extent = {{-23, -20}, {23, 20}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression2(y = if mod(time, 5) < 2.5 then 100 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-39, -48}, extent = {{-23, -20}, {23, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm1(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.B}) annotation(
+ Placement(visible = true, transformation(origin = {54, -48}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ equation
+ connect(integerExpression2.y, pwm1.u[1]) annotation(
+ Line(points = {{-14, -48}, {28, -48}, {28, -48}, {30, -48}}, color = {255, 127, 0}));
+ connect(integerExpression1.y, pwm.u[1]) annotation(
+ Line(points = {{-16, 0}, {28, 0}, {28, 0}, {30, 0}}, color = {255, 127, 0}));
+ end MDD_dcmotor_both;
+
+ model MDD_dcmotor_loop
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 62}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.A}) annotation(
+ Placement(visible = true, transformation(origin = {44, 16}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.PWM pwm1(fastPWM = true, initialValues = {0}, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1, timerNumbers = {Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerNumber.B}) annotation(
+ Placement(visible = true, transformation(origin = {44, -30}, extent = {{-16, -16}, {16, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = if time < 3 then 100 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-53, 16}, extent = {{-17, -16}, {17, 16}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression2(y = if time >= 3 then 100 else 0) annotation(
+ Placement(visible = true, transformation(origin = {-52, -30}, extent = {{-16, -14}, {16, 14}}, rotation = 0)));
+ equation
+ connect(integerExpression2.y, pwm1.u[1]) annotation(
+ Line(points = {{-34, -30}, {24, -30}}, color = {255, 127, 0}));
+ connect(integerExpression1.y, pwm.u[1]) annotation(
+ Line(points = {{-34, 16}, {24, 16}}, color = {255, 127, 0}));
+ end MDD_dcmotor_loop;
+ end MDD_dcmotor;
+
+ package MDD_servo
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_servo_init
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 40}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {61, 41}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = 30) annotation(
+ Placement(visible = true, transformation(origin = {-39, -7}, extent = {{-15, -15}, {15, 15}}, rotation = 0)));
+ Arduino.SerialCommunication.Blocks.Servo Servo(prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', servo_no = Arduino.SerialCommunication.Types.Servo_no.'1', timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer1) annotation(
+ Placement(visible = true, transformation(origin = {36, -8}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ equation
+ connect(integerExpression1.y, Servo.u) annotation(
+ Line(points = {{-22.5, -7}, {14, -7}, {14, -8}}, color = {255, 127, 0}));
+ end MDD_servo_init;
+
+ model MDD_servo_loop
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-41, 41}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1 annotation(
+ Placement(visible = true, transformation(origin = {39, 41}, extent = {{-17, -17}, {17, 17}}, rotation = 0)));
+ Modelica.Blocks.Math.Gain gain1(k = 20) annotation(
+ Placement(visible = true, transformation(origin = {38, -6}, extent = {{-14, -14}, {14, 14}}, rotation = 0)));
+ Modelica.Blocks.Sources.Clock clock1(offset = 0, startTime = 0) annotation(
+ Placement(visible = true, transformation(origin = {-74, 2}, extent = {{-18, -18}, {18, 18}}, rotation = 0)));
+ Modelica.Blocks.Logical.LessEqual lessEqual1 annotation(
+ Placement(visible = true, transformation(origin = {-58, -50}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Logical.Switch switch1 annotation(
+ Placement(visible = true, transformation(origin = {-22, -6}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = 0) annotation(
+ Placement(visible = true, transformation(origin = {-30, -42}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression2(y = 10) annotation(
+ Placement(visible = true, transformation(origin = {-84, -84}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Math.RealToInteger realToInteger1 annotation(
+ Placement(visible = true, transformation(origin = {4, -34}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Blocks.Servo Servo(prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', servo_no = 1, timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {78, -6}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(gain1.y, Servo.u) annotation(
+ Line(points = {{54, -6}, {66, -6}, {66, -6}, {66, -6}}, color = {0, 0, 127}));
+ connect(integerExpression2.y, lessEqual1.u2) annotation(
+ Line(points = {{-73, -84}, {-64, -84}, {-64, -68}, {-84, -68}, {-84, -58}, {-70, -58}}, color = {255, 127, 0}));
+ connect(realToInteger1.y, gain1.u) annotation(
+ Line(points = {{16, -34}, {16, -6}, {21, -6}}, color = {255, 127, 0}));
+ connect(clock1.y, lessEqual1.u1) annotation(
+ Line(points = {{-54, 2}, {-50, 2}, {-50, -32}, {-84, -32}, {-84, -50}, {-70, -50}, {-70, -50}}, color = {0, 0, 127}));
+ connect(clock1.y, switch1.u1) annotation(
+ Line(points = {{-54, 2}, {-34, 2}}, color = {0, 0, 127}));
+ connect(integerExpression1.y, switch1.u3) annotation(
+ Line(points = {{-18, -42}, {-16, -42}, {-16, -24}, {-40, -24}, {-40, -14}, {-34, -14}, {-34, -14}}, color = {255, 127, 0}));
+ connect(lessEqual1.y, switch1.u2) annotation(
+ Line(points = {{-46, -50}, {-44, -50}, {-44, -6}, {-34, -6}, {-34, -6}}, color = {255, 0, 255}));
+ connect(switch1.y, realToInteger1.u) annotation(
+ Line(points = {{-10, -6}, {-8, -6}, {-8, -34}, {-8, -34}}, color = {0, 0, 127}));
+ end MDD_servo_loop;
+
+ model MDD_servo_pot
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-40, 60}, extent = {{-20, -20}, {20, 20}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {39, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.ADC adc(analogPort = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPort.A2, prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.AnalogPrescaler.'1/128', voltageReference = 1023, voltageReferenceSelect = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.VRefSelect.Internal) annotation(
+ Placement(visible = true, transformation(origin = {-52, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Math.RealToInteger realToInteger1 annotation(
+ Placement(visible = true, transformation(origin = {-4, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Blocks.Servo Servo(prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', servo_no = 1, timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {46, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(realToInteger1.y, Servo.u) annotation(
+ Line(points = {{8, -10}, {34, -10}, {34, -10}, {34, -10}}, color = {255, 127, 0}));
+ connect(adc.y, realToInteger1.u) annotation(
+ Line(points = {{-40, -10}, {-16, -10}, {-16, -10}, {-16, -10}}, color = {0, 0, 127}));
+ end MDD_servo_pot;
+
+ model MDD_servo_reverse
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-59, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {55, 61}, extent = {{-19, -19}, {19, 19}}, rotation = 0)));
+ Modelica.Blocks.Sources.IntegerExpression integerExpression1(y = 90) annotation(
+ Placement(visible = true, transformation(origin = {-44, 0}, extent = {{-22, -22}, {22, 22}}, rotation = 0)));
+ Blocks.Servo Servo(prescaler = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerPrescaler.'1/1024', servo_no = 1, timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {26, 0}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(integerExpression1.y, Servo.u) annotation(
+ Line(points = {{-20, 0}, {14, 0}, {14, 0}, {14, 0}}, color = {255, 127, 0}));
+ end MDD_servo_reverse;
+ end MDD_servo;
+
+ package MDD_modbus
+ extends Modelica.Icons.ExamplesPackage;
+
+ model MDD_read_val
+ extends Modelica.Icons.Example;
+ inner Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu(desiredPeriod = 0.002, platform = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.Platform.ATmega328P) annotation(
+ Placement(visible = true, transformation(origin = {-45, 67}, extent = {{-15, -15}, {15, 15}}, rotation = 0)));
+ Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.SynchronizeRealtime synchronizeRealtime1(timer = Modelica_DeviceDrivers.EmbeddedTargets.AVR.Types.TimerSelect.Timer0) annotation(
+ Placement(visible = true, transformation(origin = {28, 68}, extent = {{-12, -12}, {12, 12}}, rotation = 0)));
+ Modelica.Blocks.MathInteger.MultiSwitch multiSwitch1(expr = {86, 88, 78}, nu = 3, use_pre_as_default = true, y_default = 0) annotation(
+ Placement(visible = true, transformation(origin = {-32.6577, -10}, extent = {{-10.0019, -22}, {30.0056, 22}}, rotation = 0)));
+ Modelica.Blocks.Sources.BooleanExpression booleanExpression1 annotation(
+ Placement(visible = true, transformation(origin = {-78, -12}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Modelica.Blocks.Interaction.Show.RealValue realValue1 annotation(
+ Placement(visible = true, transformation(origin = {60, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ Blocks.Read_Val read_Val1 annotation(
+ Placement(visible = true, transformation(origin = {26, -10}, extent = {{-10, -10}, {10, 10}}, rotation = 0)));
+ equation
+ connect(read_Val1.y, realValue1.numberPort) annotation(
+ Line(points = {{38, -10}, {48, -10}, {48, -10}, {48, -10}}, color = {0, 0, 127}));
+ connect(multiSwitch1.y, read_Val1.u) annotation(
+ Line(points = {{-2, -10}, {14, -10}, {14, -10}, {14, -10}}, color = {255, 127, 0}));
+ end MDD_read_val;
+ end MDD_modbus;
+ end MDD_Examples;
+
+ package Blocks
+ extends Modelica.Icons.Package;
+
+ model Servo
+ extends Modelica.Blocks.Icons.Block;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR;
+ import sComm = Arduino.SerialCommunication.Functions;
+ outer Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu;
+ constant AVR.Types.TimerSelect timer annotation(
+ Dialog(enable = true, tab = "General", group = "Constants"));
+ constant AVR.Types.TimerPrescaler prescaler "Pre-scaler for the clock." annotation(
+ Dialog(enable = true, tab = "General", group = "Constants"));
+ constant sComm.Types.Servo_no servo_no annotation(
+ Dialog(enable = true, tab = "General", group = "Constants"));
+ Modelica.Blocks.Interfaces.IntegerInput u "Connector of Servo input signals (integer 0..255)" annotation(
+ Placement(transformation(extent = {{-140, -20}, {-100, 20}})));
+ protected
+ AVR.Functions.Timers.Timer clock = AVR.Functions.Timers.Timer(timer, prescaler, clearTimerOnMatch = true);
+ sComm.Functions.MDD_Servo.Init servo = sComm.Functions.MDD_Servo.Init(servo_no);
+ algorithm
+ sComm.Functions.MDD_Servo.Move(servo, u);
+ annotation(
+ defaultComponentName = "Servo",
+ Icon(graphics = {Text(extent = {{-95, -95}, {95, 95}}, textString = "Servo %servo_no", fontName = "Arial")}));
+ end Servo;
+
+ model Read_Val
+ extends Modelica.Blocks.Interfaces.SISO;
+ import Modelica_DeviceDrivers.EmbeddedTargets.AVR;
+ import sComm = Arduino.SerialCommunication.Functions;
+ outer Modelica_DeviceDrivers.EmbeddedTargets.AVR.Blocks.Microcontroller mcu;
+ annotation(
+ defaultComponentName = "Read_Val",
+ Icon(graphics = {Text(extent = {{-95, -95}, {95, 95}}, textString = "Read_Val", fontName = "Arial")}));
+ end Read_Val;
+ end Blocks;
+
+ type Types
+ extends Modelica.Icons.TypesPackage;
+ type Servo_no = enumeration('1' "Servo1", '2' "Servo2") "Servo ID";
+ end Types;
+
+ package Icons "Collection of icons used for library components"
+ extends Modelica.Icons.IconsPackage;
+
+ partial package GenericICPackage "Icon with a generic IC"
+ annotation(Icon(coordinateSystem(preserveAspectRatio = true, extent = {{-100, -100}, {100, 100}}), graphics = {Bitmap(extent = {{-95, -95}, {95, 95}}, fileName = "Resources/Images/Icons/tqfp32.png", rotation = 0)}), Documentation(info = "<html>
+<p>
+This partial class is intended to design a <em>default icon for microcontrollers</em>.
+</p>
+</html>"));
+end GenericICPackage;
+
+
+
+partial block GenericIC "Icon with a generic IC"
+ annotation(Icon(coordinateSystem(preserveAspectRatio = true, extent = {{-100, -100}, {100, 100}}), graphics = {Bitmap(extent = {{-95, -95}, {95, 95}}, fileName = "Resources/Images/Icons/tqfp32.png", rotation = 0)}), Documentation(info = "<html>
+<p>
+This partial class is intended to design a <em>default icon for microcontrollers</em>.
+</p>
+</html>"));
+end GenericIC;
+
+
+
+partial package FunctionLayerIcon
+ "Icon for packages that represent the function layer"
+ extends Modelica.Icons.Package;
+
+ annotation (Icon(coordinateSystem(preserveAspectRatio=false, extent={{-100,-100},{100,100}}), graphics={
+ Text(
+ lineColor={128,128,128},
+ extent={{-90,-90},{90,90}},
+ textString="f"),
+ Ellipse(
+ lineColor={128,128,128},
+ extent={{-80,-80},{80,80}})}),
+Documentation(info="<html>
+<p>This icon indicates Modelica functions.</p>
+</html>"));
+end FunctionLayerIcon;
+
+
+ annotation (
+ preferredView="info",
+ Documentation(
+ info="<html>
+<p>
+A collection of basic icons to be used for different elements of the library.
+</p>
+</html>"));
+end Icons;
+
+ annotation(
+ Documentation(info = "<html>
+<h4>Description</h4>
+<p>
+A serial communication package for hardware interfacing.
+</p>
+</html>"));
+ end SerialCommunication;
+ annotation(
+ uses(Modelica_DeviceDrivers(version = "1.5.0"), Modelica(version = "3.2.2")));
+end Arduino;
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both
new file mode 100644
index 0000000..8e427ab
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both.hex
new file mode 100644
index 0000000..d0aa91f
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both.hex
@@ -0,0 +1,121 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C942C0140
+:100020000C9451000C9451000C9451000C94FB0062
+:100030000C9451000C9451000C94CA000C94510083
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E4E5F7E002C0F3
+:1000800005900D92A831B107D9F711E0A8E1B1E0D0
+:1000900001C01D92AD31B107E1F70E94A4010C949B
+:1000A000A8030C940000CF92DF92EF92FF92CF93BF
+:1000B000DF93EC01C880D980EA80FB80C701B601DC
+:1000C0000E9479029B01AC01C701B6010E94D301D5
+:1000D0006B017C0120E030E040E05FE30E944103DF
+:1000E00087FF03C080E090E002C084E690E09D833B
+:1000F0008C8320E030E040E05FE3C701B6010E945E
+:10010000380287FD03C080E090E002C084E690E002
+:100110009F838E838E899F898230910561F0833021
+:10012000910599F00197C9F416BC80916E00826028
+:1001300080936E0016C0109285001092840080910A
+:100140006F00826080936F000CC01092B2008091AB
+:10015000700082608093700004C081E090E00E9493
+:10016000A80378949FB7F89480911A019FBF8823C1
+:10017000C9F310921A01EE85FF858C818083EA898C
+:10018000FB898E818083DF91CF91FF90EF90DF908C
+:10019000CF9008951F920F920FB60F9211242F93B4
+:1001A0003F938F939F93809118019091190101962D
+:1001B000909319018093180180911A01813091F078
+:1001C000209118013091190180911B0190911C011F
+:1001D0002817390738F081E080931A01109219012D
+:1001E000109218019F918F913F912F910F900FBE08
+:1001F0000F901F9018951F920F920FB60F92112417
+:100200002F933F938F939F938091180190911901A1
+:100210000196909319018093180180911A01813001
+:1002200091F0209118013091190180911B0190915A
+:100230001C012817390738F081E080931A011092C9
+:100240001901109218019F918F913F912F910F905A
+:100250000FBE0F901F9018951F920F920FB60F921E
+:1002600011242F933F938F939F9380911801909126
+:1002700019010196909319018093180180911A0138
+:10028000813091F0209118013091190180911B016A
+:1002900090911C012817390738F081E080931A01EA
+:1002A00010921901109218019F918F913F912F91F7
+:1002B0000F900FBE0F901F901895CF93DF93FC0106
+:1002C000C1E8D0E088818D60888322E030E0318B06
+:1002D000208B229A40E850E0DA018C9181628C9365
+:1002E0008AE890E0DC0111961C921E921C92938B7E
+:1002F000828B88818D60888335872487219ADA01F3
+:100300008C9181688C93A8E8B0E011961C921E92A3
+:100310001C92B787A68785B5836085BD21E030E054
+:10032000358B248B8AE090E090931C0180931B0115
+:1003300084B5826084BD89EF87BD378B268B80E0D2
+:1003400090E0DF91CF910895CF92DF92EF92FF92EC
+:1003500080E091E00E945D01C12CD12C760160E02B
+:1003600070E0CB0160930001709301018093020162
+:100370009093030180E091E00E9453008FEFC81A30
+:10038000D80AE80AF80AC701B6010E943C022FE623
+:1003900032E143E05BE30E94450320E030E0A90145
+:1003A0000E94D401DFCF5058BB27AA270ED018C116
+:1003B00009D130F00ED120F031F49F3F11F41EF43A
+:1003C000FEC00EF4E095E7FBCBC0E92F1AD180F315
+:1003D000BA17620773078407950718F071F49EF542
+:1003E00049C10EF4E0950B2EBA2FA02D0B01B901D7
+:1003F00090010C01CA01A0011124FF27591B99F09B
+:10040000593F50F4503E68F11A16F040A22F232FA6
+:10041000342F4427585FF3CF469537952795A795F6
+:10042000F0405395C9F77EF41F16BA0B620B730B9D
+:10043000840BBAF09150A1F0FF0FBB1F661F771F0E
+:10044000881FC2F70EC0BA0F621F731F841F48F4C3
+:10045000879577956795B795F7959E3F08F0B3CF49
+:100460009395880F08F09927EE0F97958795089533
+:1004700053D008F481E00895E89409C097FB3EF456
+:1004800090958095709561957F4F8F4F9F4F9923E1
+:10049000A9F0F92F96E9BB279395F695879577955F
+:1004A0006795B795F111F8CFFAF4BB0F11F460FF1F
+:1004B0001BC06F5F7F4F8F4F9F4F16C0882311F077
+:1004C00096E911C0772321F09EE8872F762F05C08B
+:1004D000662371F096E8862F70E060E02AF09A9526
+:1004E000660F771F881FDAF7880F9695879597F91B
+:1004F0000895A9D080F09F3740F491110EF0BBC051
+:1005000060E070E080E89FEB089526F41B16611D03
+:10051000711D811D2BC045C0990F0008550FAA0BF6
+:10052000E0E8FEEF16161706E807F907C0F0121606
+:100530001306E407F50798F0621B730B840B950B09
+:1005400039F40A2661F0232B242B252B21F408955E
+:100550000A2609F4A140A6958FEF811D811D0895FB
+:1005600097F99F6780E870E060E00895882371F450
+:10057000772321F09850872B762F07C0662311F43C
+:1005800099270DC09051862B70E060E02AF09A9573
+:10059000660F771F881FDAF7880F9695879597F96A
+:1005A00008959F3F31F0915020F487957795679596
+:1005B000B795880F911D9695879597F908959FEFA8
+:1005C00080EC089500240A941616170618060906EA
+:1005D000089500240A9412161306140605060895B9
+:1005E000092E0394000C11F4882352F0BB0F40F441
+:1005F000BF2B11F460FF04C06F5F7F4F8F4F9F4F81
+:10060000089557FD9058440F551F59F05F3F71F002
+:100610004795880F97FB991F61F09F3F79F0879569
+:100620000895121613061406551FF2CF4695F1DFF2
+:1006300008C0161617061806991FF1CF8695710582
+:10064000610508940895E5DFA0F0BEE7B91788F4C6
+:10065000BB279F3860F41616B11D672F782F8827A7
+:10066000985FF7CF869577956795B11D93959639E5
+:10067000C8F30895E894BB2766277727CB0197F93D
+:1006800008954ADF08F48FEF08950BD0A9CF9ADFC1
+:1006900028F09FDF18F0952309F062CF90CF112446
+:1006A000EACFAFDFA0F3959FD1F3950F50E0551F30
+:1006B000629FF001729FBB27F00DB11D639FAA27B7
+:1006C000F00DB11DAA1F649F6627B00DA11D661F06
+:1006D000829F2227B00DA11D621F739FB00DA11D27
+:1006E000621F839FA00D611D221F749F3327A00DE1
+:1006F000611D231F849F600D211D822F762F6A2F7D
+:1007000011249F5750408AF0E1F088234AF0EE0F01
+:10071000FF1FBB1F661F771F881F91505040A9F70E
+:100720009E3F510570F01CCFA6CF5F3FECF3983E83
+:10073000DCF3869577956795B795F795E7959F5F75
+:10074000C1F7FE2B880F911D9695879597F908950F
+:04075000F894FFCF4B
+:1007540000000000000000000AD7233C0000000055
+:0807640000000000000000008D
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both_main.c
new file mode 100644
index 0000000..08a9ca0
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_both_main.c
@@ -0,0 +1,217 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_dcmotor_both_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_dcmotor_both_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Integer fmi2IntegerVars[2];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[6];
+} MDD_dcmotor_both_fmi2Component;
+
+MDD_dcmotor_both_fmi2Component MDD_dcmotor_both_component = {
+ .fmi2IntegerVars = {
+ 0 /*pwm._u[1]*/,
+ 0 /*pwm1._u[1]*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value)
+{
+ MDD_avr_pwm_set(om_pwm, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted)
+{
+ void* om_pwm;
+ om_pwm = MDD_avr_pwm_init(om_timer, om_pin, om_initialValue, om_inverted);
+ return om_pwm;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm)
+{
+ MDD_avr_pwm_close(om_pwm);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_dcmotor_both_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_dcmotor_both_component;
+}
+
+fmi2Status MDD_dcmotor_both_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_dcmotor_both_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[2] /* pwm1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[3] /* pwm1._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[2] /* pwm1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 2, 0, fmi2False);
+ comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 1, 0, fmi2False);
+ comp->extObjs[4] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[5] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[4] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status MDD_dcmotor_both_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_dcmotor_both_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_dcmotor_both_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */ = ((om_mod(comp->currentTime,1.0))>=(0.5)) ? (100) : (0); /* equation 4 */
+ comp->fmi2IntegerVars[1] /* pwm1._u[1] DISCRETE */ = ((om_mod(comp->currentTime,1.0))<(0.5)) ? (100) : (0); /* equation 5 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[5] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[3] /* pwm1._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[1] /* pwm1._u[1] DISCRETE */);
+}
+
+fmi2Status MDD_dcmotor_both_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_dcmotor_both_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_dcmotor_both_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_dcmotor_both_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_dcmotor_both_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_dcmotor_both_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_dcmotor_both_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock
new file mode 100644
index 0000000..249910a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock.hex
new file mode 100644
index 0000000..afe0f97
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock.hex
@@ -0,0 +1,94 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94E50088
+:100020000C9451000C9451000C9451000C94B400A9
+:100030000C9451000C9451000C9483000C945100CA
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E6EAF5E002C0EE
+:1000800005900D92A231B107D9F711E0A2E1B1E0DC
+:1000900001C01D92A731B107E1F70E9445010C9400
+:1000A000D1020C9400008230910561F083309105FB
+:1000B00099F00197C9F416BC80916E00826080931C
+:1000C0006E0016C0109285001092840080916F001F
+:1000D000826080936F000CC01092B200809170001B
+:1000E00082608093700004C081E090E00E94D102A1
+:1000F00078949FB7F894809114019FBF8823C9F327
+:100100001092140108951F920F920FB60F921124AE
+:100110002F933F938F939F9380911201909113019E
+:100120000196909313018093120180911401813004
+:1001300091F020911201309113018091150190915D
+:1001400016012817390738F081E0809314011092C6
+:100150001301109212019F918F913F912F910F9057
+:100160000FBE0F901F9018951F920F920FB60F920F
+:1001700011242F933F938F939F938091120190911D
+:100180001301019690931301809312018091140141
+:10019000813091F02091120130911301809115016D
+:1001A000909116012817390738F081E080931401E7
+:1001B00010921301109212019F918F913F912F91F4
+:1001C0000F900FBE0F901F9018951F920F920FB6B1
+:1001D0000F9211242F933F938F939F93809112013D
+:1001E00090911301019690931301809312018091D5
+:1001F0001401813091F0209112013091130180910E
+:100200001501909116012817390738F081E0809385
+:10021000140110921301109212019F918F913F913E
+:100220002F910F900FBE0F901F901895FC01A1E821
+:10023000B0E08C918D608C9382E090E09387828710
+:10024000219AA0E8B0E08C9181688C93A8E8B0E096
+:1002500011961C921E921C92B587A48785B5836067
+:1002600085BD21E030E0378726878AE090E09093D3
+:1002700016018093150184B5826084BD89EF87BD26
+:10028000318B208B80E090E00895CF92DF92EF9247
+:10029000FF9280E091E00E941601C12CD12C7601E2
+:1002A00060E070E0CB0160930001709301018093E6
+:1002B00002019093030180911001909111010E941D
+:1002C0005300E0910C01F0910D0110828FEFC81ADC
+:1002D000D80AE80AF80AC701B6010E94E0012FE631
+:1002E00032E143E05BE30E946E0220E030E0A901CE
+:1002F0000E947C01D8CF5058BB27AA270ED0B4C08B
+:10030000A5D030F0AAD020F031F49F3F11F41EF4B4
+:100310009AC00EF4E095E7FB90C0E92FB6D080F3C9
+:10032000BA17620773078407950718F071F49EF5F2
+:10033000CEC00EF4E0950B2EBA2FA02D0B01B90103
+:1003400090010C01CA01A0011124FF27591B99F04B
+:10035000593F50F4503E68F11A16F040A22F232F57
+:10036000342F4427585FF3CF469537952795A795A7
+:10037000F0405395C9F77EF41F16BA0B620B730B4E
+:10038000840BBAF09150A1F0FF0FBB1F661F771FBF
+:10039000881FC2F70EC0BA0F621F731F841F48F474
+:1003A000879577956795B795F7959E3F08F0B3CFFA
+:1003B0009395880F08F09927EE0F979587950895E4
+:1003C000E89409C097FB3EF49095809570956195EF
+:1003D0007F4F8F4F9F4F9923A9F0F92F96E9BB27A5
+:1003E0009395F695879577956795B795F111F8CF21
+:1003F000FAF4BB0F11F460FF1BC06F5F7F4F8F4F8C
+:100400009F4F16C0882311F096E911C0772321F081
+:100410009EE8872F762F05C0662371F096E8862F19
+:1004200070E060E02AF09A95660F771F881FDAF770
+:10043000880F9695879597F9089597F99F6780E8B3
+:1004400070E060E008959FEF80EC089500240A9426
+:100450001616170618060906089500240A9412169F
+:100460001306140605060895092E0394000C11F4D2
+:10047000882352F0BB0F40F4BF2B11F460FF04C07F
+:100480006F5F7F4F8F4F9F4F089557FD9058440FD8
+:10049000551F59F05F3F71F04795880F97FB991FE3
+:1004A00061F09F3F79F087950895121613061406A0
+:1004B000551FF2CF4695F1DF08C01616170618062D
+:1004C000991FF1CF86957105610508940895E89408
+:1004D000BB2766277727CB0197F908950BD0C4CFA8
+:1004E000B5DF28F0BADF18F0952309F0A6CFABCF1F
+:1004F0001124EECFCADFA0F3959FD1F3950F50E002
+:10050000551F629FF001729FBB27F00DB11D639FC5
+:10051000AA27F00DB11DAA1F649F6627B00DA11D6B
+:10052000661F829F2227B00DA11D621F739FB00D11
+:10053000A11D621F839FA00D611D221F749F332781
+:10054000A00D611D231F849F600D211D822F762F1A
+:100550006A2F11249F5750408AF0E1F088234AF017
+:10056000EE0FFF1FBB1F661F771F881F9150504063
+:10057000A9F79E3F510570F060CFAACF5F3FECF323
+:10058000983EDCF3869577956795B795F795E7954F
+:100590009F5FC1F7FE2B880F911D9695879597F960
+:0605A0000895F894FFCF5E
+:1005A6000000000000000AD7233C00000000000005
+:0205B600000043
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock_main.c
new file mode 100644
index 0000000..f11c915
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_clock_main.c
@@ -0,0 +1,213 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_dcmotor_clock_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_dcmotor_clock_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Integer fmi2IntegerVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[4];
+} MDD_dcmotor_clock_fmi2Component;
+
+MDD_dcmotor_clock_fmi2Component MDD_dcmotor_clock_component = {
+ .fmi2IntegerVars = {
+ 0 /*integerExpression1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value)
+{
+ MDD_avr_pwm_set(om_pwm, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted)
+{
+ void* om_pwm;
+ om_pwm = MDD_avr_pwm_init(om_timer, om_pin, om_initialValue, om_inverted);
+ return om_pwm;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm)
+{
+ MDD_avr_pwm_close(om_pwm);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_dcmotor_clock_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_dcmotor_clock_component;
+}
+
+fmi2Status MDD_dcmotor_clock_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_dcmotor_clock_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 1, 0, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status MDD_dcmotor_clock_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_dcmotor_clock_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_dcmotor_clock_functionOutputs(fmi2Component comp)
+{
+ Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, 0);
+}
+
+fmi2Status MDD_dcmotor_clock_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_dcmotor_clock_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_dcmotor_clock_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_dcmotor_clock_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_dcmotor_clock_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_dcmotor_clock_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_dcmotor_clock_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_loop_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_loop_main.c
new file mode 100644
index 0000000..4a0dad8
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/MDD_dcmotor_loop_main.c
@@ -0,0 +1,235 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_dcmotor_loop_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_dcmotor_loop_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[4];
+ fmi2Integer fmi2IntegerVars[1];
+ fmi2Real fmi2RealParameter[4];
+ void* extObjs[4];
+} MDD_dcmotor_loop_fmi2Component;
+
+MDD_dcmotor_loop_fmi2Component MDD_dcmotor_loop_component = {
+ .fmi2RealVars = {
+ 100.0 /*add31._u1*/,
+ 0.0 /*add31._u2*/,
+ 0.0 /*add31._u3*/,
+ 100.0 /*add31._y*/,
+ },
+ .fmi2IntegerVars = {
+ 0 /*pwm._u[1]*/,
+ },
+ .fmi2RealParameter = {
+ 1.0 /*add31._k1*/,
+ -1.0 /*add31._k2*/,
+ 1.0 /*add31._k3*/,
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(fmi2Component comp, void* om_pwm, fmi2Integer om_value)
+{
+ MDD_avr_pwm_set(om_pwm, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_pin, fmi2Integer om_initialValue, fmi2Boolean om_inverted)
+{
+ void* om_pwm;
+ om_pwm = MDD_avr_pwm_init(om_timer, om_pin, om_initialValue, om_inverted);
+ return om_pwm;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_destructor(fmi2Component comp, void* om_pwm)
+{
+ MDD_avr_pwm_close(om_pwm);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_dcmotor_loop_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_dcmotor_loop_component;
+}
+
+fmi2Status MDD_dcmotor_loop_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_dcmotor_loop_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 2, 7, fmi2True);
+ comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_Init_constructor(comp, comp->extObjs[0] /* pwm._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 1, 0, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status MDD_dcmotor_loop_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_dcmotor_loop_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_dcmotor_loop_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* add31._u1 variable */ = (
+ #error "[CodegenEmbeddedC.tpl:474:14-474:14] daeExpBinary: Not supporting operator? time <= 1.0"
+ ) ? (100.0) : (0.0); /* equation 7 */
+ comp->fmi2RealVars[1] /* add31._u2 variable */ = (
+ #error "[CodegenEmbeddedC.tpl:460:14-460:14] daeExp: Not supporting time <= 1.4 and time > 1.0"
+ ) ? (100.0) : (0.0); /* equation 8 */
+ comp->fmi2RealVars[2] /* add31._u3 variable */ = ((comp->currentTime)>(1.4)) ? (100.0) : (0.0); /* equation 9 */
+ comp->fmi2RealVars[3] /* add31._y variable */ = ((comp->fmi2RealParameter[0] /* add31._k1 PARAM */)*(comp->fmi2RealVars[0] /* add31._u1 variable */))+(((comp->fmi2RealParameter[1] /* add31._k2 PARAM */)*(comp->fmi2RealVars[1] /* add31._u2 variable */))+((comp->fmi2RealParameter[2] /* add31._k3 PARAM */)*(comp->fmi2RealVars[2] /* add31._u3 variable */))); /* equation 10 */
+ comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */ = ((comp->fmi2RealVars[3] /* add31._y variable */)>(0.0)) ? (((int)
+ #error "[CodegenEmbeddedC.tpl:490:28-490:28] daeExpCallBuiltin: Not supported: floor(0.5 + add31.y, 1)"
+ )) : (((int)
+ #error "[CodegenEmbeddedC.tpl:490:28-490:28] daeExpCallBuiltin: Not supported: ceil(-0.5 + add31.y, 3)"
+ )); /* equation 11 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_PWM_set(comp, comp->extObjs[1] /* pwm._pwm[1] EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.PWM.Init */, comp->fmi2IntegerVars[0] /* pwm._u[1] DISCRETE */);
+}
+
+fmi2Status MDD_dcmotor_loop_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_dcmotor_loop_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_dcmotor_loop_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_dcmotor_loop_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_dcmotor_loop_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_dcmotor_loop_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_dcmotor_loop_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_both.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_both.mos
new file mode 100644
index 0000000..876a5d6
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_both.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_dcmotor.MDD_dcmotor_both, fileNamePrefix="MDD_dcmotor_both");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_clock.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_clock.mos
new file mode 100644
index 0000000..cdd2767
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_clock.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_dcmotor.MDD_dcmotor_clock, fileNamePrefix="MDD_dcmotor_clock");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_loop.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_loop.mos
new file mode 100644
index 0000000..e9207ed
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/dcmotor/run_dcmotor_loop.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_dcmotor.MDD_dcmotor_loop, fileNamePrefix="MDD_dcmotor_loop");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr
new file mode 100644
index 0000000..c87ce1f
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led
new file mode 100644
index 0000000..542fc5b
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led.hex
new file mode 100644
index 0000000..f845f70
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led.hex
@@ -0,0 +1,120 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C9431013B
+:100020000C9451000C9451000C9451000C9400015C
+:100030000C9451000C9451000C94CF000C9451007E
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E4E4F7E002C0F4
+:1000800005900D92AE31B107D9F711E0AEE1B1E0C4
+:1000900001C01D92A332B107E1F70E948B010C94BD
+:1000A000A0030C9400000F931F93CF93DF93EC01F8
+:1000B00080917C00857E856080937C0080917A00B1
+:1000C000806480937A0080917A0086FDFCCF6091F5
+:1000D00078007091790080E090E00E94870220E033
+:1000E00030E040E854E40E94190320E030EC4FE790
+:1000F00054E40E941F026C837D838E839F8301E002
+:1001000010E02E853F85488959890E9415031816ED
+:1001100014F000E010E01D870C878C8D9D8D8230DF
+:10012000910561F08330910599F00197C9F416BCEF
+:1001300080916E00826080936E0016C010928500E0
+:100140001092840080916F00826080936F000CC0D9
+:100150001092B2008091700082608093700004C0A1
+:1001600081E090E00E94A00378949FB7F89480917A
+:1001700020019FBF8823C9F310922001E88DF98DDB
+:100180008C859D85892B19F08081826002C08081D9
+:100190008D7F8083DF91CF911F910F9108951F92E2
+:1001A0000F920FB60F9211242F933F938F939F932B
+:1001B00080911E0190911F01019690931F018093E1
+:1001C0001E0180912001813091F020911E0130911B
+:1001D0001F0180912101909122012817390738F0E1
+:1001E00081E08093200110921F0110921E019F91C7
+:1001F0008F913F912F910F900FBE0F901F901895E8
+:100200001F920F920FB60F9211242F933F938F934B
+:100210009F9380911E0190911F01019690931F0161
+:1002200080931E0180912001813091F020911E0168
+:1002300030911F01809121019091220128173907E7
+:1002400038F081E08093200110921F0110921E016E
+:100250009F918F913F912F910F900FBE0F901F9004
+:1002600018951F920F920FB60F9211242F933F9360
+:100270008F939F9380911E0190911F0101969093FF
+:100280001F0180931E0180912001813091F0209107
+:100290001E0130911F0180912101909122012817A8
+:1002A000390738F081E08093200110921F011092ED
+:1002B0001E019F918F913F912F910F900FBE0F9034
+:1002C0001F901895FC01ACE7B0E08C91806C8C938A
+:1002D000AAE7B0E08C9187688C93178A168A219AD6
+:1002E00085E290E0918F808F85B5836085BD21E0A8
+:1002F00030E0338F228F8AE090E090932201809348
+:10030000210184B5826084BD89EF87BD358F248F3C
+:1003100080E090E00895CF92DF92EF92FF9280E02C
+:1003200091E00E946201C12CD12C760160E070E066
+:10033000CB016093000170930101809302019093BF
+:10034000030180E091E00E9453008FEFC81AD80AA1
+:10035000E80AF80AC701B6010E9487022FE632E1D7
+:1003600043E05BE30E94190320E030E0A9010E9412
+:10037000BB01DFCF5058BB27AA270ED01CC10DD11F
+:1003800030F012D120F031F49F3F11F41EF402C17D
+:100390000EF4E095E7FBF8C0E92F1ED180F3BA1701
+:1003A000620773078407950718F071F49EF536C14C
+:1003B0000EF4E0950B2EBA2FA02D0B01B901900180
+:1003C0000C01CA01A0011124FF27591B99F0593FC4
+:1003D00050F4503E68F11A16F040A22F232F342F0C
+:1003E0004427585FF3CF469537952795A795F0405A
+:1003F0005395C9F77EF41F16BA0B620B730B840B6F
+:10040000BAF09150A1F0FF0FBB1F661F771F881F26
+:10041000C2F70EC0BA0F621F731F841F48F487957E
+:1004200077956795B795F7959E3F08F0B3CF93956D
+:10043000880F08F09927EE0F9795879508950CD0AF
+:10044000BAC0B2D040F0A9D030F021F45F3F19F02B
+:100450009BC05111E4C09EC0BFD098F39923C9F34B
+:100460005523B1F3951B550BBB27AA2762177307BA
+:10047000840738F09F5F5F4F220F331F441FAA1F6E
+:10048000A9F333D00E2E3AF0E0E830D0915050402E
+:10049000E695001CCAF729D0FE2F27D0660F771FDC
+:1004A000881FBB1F261737074807AB07B0E809F0BE
+:1004B000BB0B802DBF01FF2793585F4F2AF09E3F53
+:1004C000510568F061C0ABC05F3FECF3983EDCF3D0
+:1004D000869577956795B795F7959F5FC9F7880FCC
+:1004E000911D9695879597F90895E1E0660F771F1E
+:1004F000881FBB1F621773078407BA0720F0621BAF
+:10050000730B840BBA0BEE1F88F7E0950895E894FF
+:1005100009C097FB3EF490958095709561957F4F4B
+:100520008F4F9F4F9923A9F0F92F96E9BB279395F9
+:10053000F695879577956795B795F111F8CFFAF409
+:10054000BB0F11F460FF1BC06F5F7F4F8F4F9F4F3A
+:1005500016C0882311F096E911C0772321F09EE898
+:10056000872F762F05C0662371F096E8862F70E0FE
+:1005700060E02AF09A95660F771F881FDAF7880FD8
+:100580009695879597F9089597F99F6780E870E0A9
+:1005900060E008959FEF80EC089500240A941616F9
+:1005A000170618060906089500240A941216130661
+:1005B000140605060895092E0394000C11F48823EF
+:1005C00052F0BB0F40F4BF2B11F460FF04C06F5F0B
+:1005D0007F4F8F4F9F4F089557FD9058440F551FE1
+:1005E00059F05F3F71F04795880F97FB991F61F0B5
+:1005F0009F3F79F087950895121613061406551F2C
+:10060000F2CF4695F1DF08C0161617061806991F97
+:10061000F1CF86957105610508940895E894BB278C
+:1006200066277727CB0197F9089566D008F48FEFF6
+:1006300008950BD0C0CFB1DF28F0B6DF18F09523B6
+:1006400009F0A2CFA7CF1124EACFC6DFA0F3959F70
+:10065000D1F3950F50E0551F629FF001729FBB27A9
+:10066000F00DB11D639FAA27F00DB11DAA1F649F55
+:100670006627B00DA11D661F829F2227B00DA11D08
+:10068000621F739FB00DA11D621F839FA00D611D8E
+:10069000221F749F3327A00D611D231F849F600DAF
+:1006A000211D822F762F6A2F11249F5750408AF0E8
+:1006B000E1F088234AF0EE0FFF1FBB1F661F771F74
+:1006C000881F91505040A9F79E3F510570F05CCFB4
+:1006D000A6CF5F3FECF3983EDCF386957795679560
+:1006E000B795F795E7959F5FC1F7FE2B880F911D92
+:1006F0009695879597F90895990F0008550FAA0BBD
+:10070000E0E8FEEF16161706E807F907C0F0121624
+:100710001306E407F50798F0621B730B840B950B27
+:1007200039F40A2661F0232B242B252B21F408957C
+:100730000A2609F4A140A6958FEF811D811D089519
+:04074000F894FFCF5B
+:1007440000000000000000000000000000000000A5
+:0E07540016440AD7233C0000000000000000FD
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led_main.c
new file mode 100644
index 0000000..36a97c9
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_led_main.c
@@ -0,0 +1,243 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_ldr_led_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_ldr_led_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[1];
+ fmi2Boolean fmi2BooleanVars[3];
+ fmi2Real fmi2RealParameter[2];
+ void* extObjs[4];
+} MDD_ldr_led_fmi2Component;
+
+MDD_ldr_led_fmi2Component MDD_ldr_led_component = {
+ .fmi2RealVars = {
+ 0.0 /*adc._y*/,
+ },
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ fmi2False /*booleanExpression2._y*/,
+ fmi2False /*digitalWriteBoolean1._u*/,
+ },
+ .fmi2RealParameter = {
+ 600.0 /*greaterThreshold1._threshold*/,
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+static const char * const OMCLIT0 = "ElectricPotential";
+static const char * const OMCLIT1 = "V";
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+#include "MDDAVRAnalog.h"
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution)
+{
+ fmi2Real om_value;
+ om_value = MDD_avr_analog_read(om_analogPort, om_vref, om_voltageResolution);
+ return om_value;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage)
+{
+ void* om_avr;
+ om_avr = MDD_avr_analog_init(om_divisionFactor, om_referenceVoltage);
+ return om_avr;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr)
+{
+ MDD_avr_analog_close(om_avr);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_ldr_led_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_ldr_led_component;
+}
+
+fmi2Status MDD_ldr_led_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_ldr_led_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* adc._analog EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Analog.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(comp, 7, 4);
+ comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status MDD_ldr_led_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_ldr_led_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_ldr_led_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* adc._y variable */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(comp, 6, 1024.0, 10); /* equation 6 */
+ comp->fmi2BooleanVars[2] /* digitalWriteBoolean1._u DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>(comp->fmi2RealParameter[0] /* greaterThreshold1._threshold PARAM */); /* equation 7 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, comp->fmi2BooleanVars[2] /* digitalWriteBoolean1._u DISCRETE */);
+}
+
+fmi2Status MDD_ldr_led_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_ldr_led_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_ldr_led_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_ldr_led_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_ldr_led_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_ldr_led_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_ldr_led_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read
new file mode 100644
index 0000000..f939bf9
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read.hex
new file mode 100644
index 0000000..1040803
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read.hex
@@ -0,0 +1,110 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94130159
+:100020000C9451000C9451000C9451000C94E2007B
+:100030000C9451000C9451000C94B1000C9451009C
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0EEEAF6E002C0E5
+:1000800005900D92AC31B107D9F711E0ACE1B1E0C8
+:1000900001C01D92A132B107E1F70E9468010C94E2
+:1000A00055030C940000CF93DF93EC0190917C00FA
+:1000B000957E956090937C0080917A008064809317
+:1000C0007A0080917A0086FDFCCF60917800709173
+:1000D000790080E090E00E94640220E030E040E897
+:1000E00054E40E94F20220E030EC4FE754E40E9416
+:1000F000FC016C837D838E839F838A8D9B8D8230F0
+:10010000910561F08330910599F00197C9F416BC0F
+:1001100080916E00826080936E0016C01092850000
+:100120001092840080916F00826080936F000CC0F9
+:100130001092B2008091700082608093700004C0C1
+:1001400081E090E00E94550378949FB7F8948091E5
+:100150001E019FBF8823C9F310921E01DF91CF912A
+:1001600008951F920F920FB60F9211242F933F9371
+:100170008F939F9380911C0190911D010196909304
+:100180001D0180931C0180911E01813091F020910E
+:100190001C0130911D0180911F01909120012817B1
+:1001A000390738F081E080931E0110921D011092F2
+:1001B0001C019F918F913F912F910F900FBE0F9037
+:1001C0001F9018951F920F920FB60F9211242F9324
+:1001D0003F938F939F9380911C0190911D010196F5
+:1001E00090931D0180931C0180911E01813091F03C
+:1001F00020911C0130911D0180911F0190912001DF
+:100200002817390738F081E080931E0110921D01F4
+:1002100010921C019F918F913F912F910F900FBED3
+:100220000F901F9018951F920F920FB60F921124E6
+:100230002F933F938F939F9380911C0190911D0169
+:10024000019690931D0180931C0180911E018130C5
+:1002500091F020911C0130911D0180911F0190911E
+:1002600020012817390738F081E080931E01109291
+:100270001D0110921C019F918F913F912F910F9022
+:100280000FBE0F901F901895FC01ACE7B0E08C9169
+:10029000806C8C93AAE7B0E08C9187688C93178A66
+:1002A000168A85B5836085BD21E030E0318F208FCF
+:1002B0008AE090E09093200180931F0184B58260D2
+:1002C00084BD89EF87BD338F228F80E090E0089551
+:1002D000CF92DF92EF92FF9280E091E00E94440182
+:1002E000C12CD12C760160E070E0CB01609300015D
+:1002F00070930101809302019093030180E091E0EB
+:100300000E9453008FEFC81AD80AE80AF80AC701FA
+:10031000B6010E9464022FE632E143E05BE30E94F3
+:10032000F20220E030E0A9010E949801DFCF50588E
+:10033000BB27AA270ED01CC10DD130F012D120F05E
+:1003400031F49F3F11F41EF402C10EF4E095E7FB77
+:10035000F8C0E92F1ED180F3BA176207730784072C
+:10036000950718F071F49EF536C10EF4E0950B2E4A
+:10037000BA2FA02D0B01B90190010C01CA01A001F7
+:100380001124FF27591B99F0593F50F4503E68F152
+:100390001A16F040A22F232F342F4427585FF3CF93
+:1003A000469537952795A795F0405395C9F77EF464
+:1003B0001F16BA0B620B730B840BBAF09150A1F0AD
+:1003C000FF0FBB1F661F771F881FC2F70EC0BA0F33
+:1003D000621F731F841F48F4879577956795B795BB
+:1003E000F7959E3F08F0B3CF9395880F08F09927B3
+:1003F000EE0F9795879508950CD0BAC0B2D040F013
+:10040000A9D030F021F45F3F19F09BC05111E4C036
+:100410009EC0BFD098F39923C9F35523B1F3951B20
+:10042000550BBB27AA2762177307840738F09F5F15
+:100430005F4F220F331F441FAA1FA9F333D00E2E84
+:100440003AF0E0E830D091505040E695001CCAF7F1
+:1004500029D0FE2F27D0660F771F881FBB1F2617B6
+:1004600037074807AB07B0E809F0BB0B802DBF0189
+:10047000FF2793585F4F2AF09E3F510568F061C0F7
+:10048000ABC05F3FECF3983EDCF3869577956795BC
+:10049000B795F7959F5FC9F7880F911D969587953A
+:1004A00097F90895E1E0660F771F881FBB1F621759
+:1004B00073078407BA0720F0621B730B840BBA0B17
+:1004C000EE1F88F7E0950895E89409C097FB3EF485
+:1004D00090958095709561957F4F8F4F9F4F992391
+:1004E000A9F0F92F96E9BB279395F695879577950F
+:1004F0006795B795F111F8CFFAF4BB0F11F460FFCF
+:100500001BC06F5F7F4F8F4F9F4F16C0882311F026
+:1005100096E911C0772321F09EE8872F762F05C03A
+:10052000662371F096E8862F70E060E02AF09A95D5
+:10053000660F771F881FDAF7880F9695879597F9CA
+:10054000089597F99F6780E870E060E008959FEF55
+:1005500080EC089500240A9416161706180609065A
+:10056000089500240A941216130614060506089529
+:10057000092E0394000C11F4882352F0BB0F40F4B1
+:10058000BF2B11F460FF04C06F5F7F4F8F4F9F4FF1
+:10059000089557FD9058440F551F59F05F3F71F073
+:1005A0004795880F97FB991F61F09F3F79F08795DA
+:1005B0000895121613061406551FF2CF4695F1DF63
+:1005C00008C0161617061806991FF1CF86957105F3
+:1005D000610508940895E894BB2766277727CB0127
+:1005E00097F908950BD0C4CFB5DF28F0BADF18F023
+:1005F000952309F0A6CFABCF1124EECFCADFA0F32D
+:10060000959FD1F3950F50E0551F629FF001729FA7
+:10061000BB27F00DB11D639FAA27F00DB11DAA1FC6
+:10062000649F6627B00DA11D661F829F2227B00D13
+:10063000A11D621F739FB00DA11D621F839FA00D9E
+:10064000611D221F749F3327A00D611D231F849FEE
+:10065000600D211D822F762F6A2F11249F57504045
+:100660008AF0E1F088234AF0EE0FFF1FBB1F661FE0
+:10067000771F881F91505040A9F79E3F510570F099
+:1006800060CFAACF5F3FECF3983EDCF38695779579
+:100690006795B795F795E7959F5FC1F7FE2B880F94
+:0E06A000911D9695879597F90895F894FFCFD0
+:1006AE000000000000000000000000000AD7233CFC
+:0C06BE000200010000000000000000002D
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read_main.c
new file mode 100644
index 0000000..fa60b33
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/MDD_ldr_read_main.c
@@ -0,0 +1,226 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_ldr_read_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_ldr_read_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[2];
+ fmi2Real fmi2RealParameter[1];
+ fmi2Integer fmi2IntegerParameter[1];
+ fmi2Boolean fmi2BooleanParameter[1];
+ fmi2String fmi2StringParameter[1];
+ void* extObjs[3];
+} MDD_ldr_read_fmi2Component;
+
+MDD_ldr_read_fmi2Component MDD_ldr_read_component = {
+ .fmi2RealVars = {
+ 0.0 /*adc._y*/,
+ 0.0 /*realValue1._number*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+ .fmi2IntegerParameter = {
+ 2 /*realValue1._significantDigits*/,
+ },
+ .fmi2BooleanParameter = {
+ fmi2True /*realValue1._use_numberPort*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+static const char * const OMCLIT0 = "ElectricPotential";
+static const char * const OMCLIT1 = "V";
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRAnalog.h"
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution)
+{
+ fmi2Real om_value;
+ om_value = MDD_avr_analog_read(om_analogPort, om_vref, om_voltageResolution);
+ return om_value;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage)
+{
+ void* om_avr;
+ om_avr = MDD_avr_analog_init(om_divisionFactor, om_referenceVoltage);
+ return om_avr;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr)
+{
+ MDD_avr_analog_close(om_avr);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_ldr_read_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_ldr_read_component;
+}
+
+fmi2Status MDD_ldr_read_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_ldr_read_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* adc._analog EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Analog.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(comp, 7, 4);
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status MDD_ldr_read_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_ldr_read_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_ldr_read_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* adc._y variable */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(comp, 6, 1024.0, 10); /* equation 4 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);
+}
+
+fmi2Status MDD_ldr_read_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_ldr_read_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_ldr_read_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_ldr_read_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_ldr_read_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_ldr_read_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_ldr_read_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/run_ldr_led.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/run_ldr_led.mos
new file mode 100644
index 0000000..312d62a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/run_ldr_led.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_ldr.MDD_ldr_led, fileNamePrefix="MDD_ldr_led");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/run_ldr_read.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/run_ldr_read.mos
new file mode 100644
index 0000000..9e99912
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/ldr/run_ldr_read.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_ldr.MDD_ldr_read, fileNamePrefix="MDD_ldr_read");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink
new file mode 100644
index 0000000..cdb6635
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink.hex
new file mode 100644
index 0000000..a896b22
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink.hex
@@ -0,0 +1,114 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C942A0142
+:100020000C9451000C9451000C9451000C94F90064
+:100030000C9451000C9451000C94C8000C94510085
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E4EFF6E002C0EA
+:1000800005900D92A031B107D9F711E0A0E1B1E0E0
+:1000900001C01D92A531B107E1F70E9478010C94CF
+:1000A00078030C940000CF92DF92EF92FF920F93AF
+:1000B0001F93CF93DF93EC01C880D980EA80FB8047
+:1000C00020E030E040E05FE3C701B6010E94F102AA
+:1000D0000E9449029B01AC010E94A8019B01AC0156
+:1000E000C701B6010E94A70101E010E020E030E066
+:1000F00040E85FE30E94ED0287FF02C000E010E0ED
+:100100001D830C838E859F858230910561F083303D
+:10011000910599F00197C9F416BC80916E00826038
+:1001200080936E0016C0109285001092840080911A
+:100130006F00826080936F000CC01092B2008091BB
+:10014000700082608093700004C081E090E00E94A3
+:10015000780378949FB7F894809112019FBF882309
+:10016000C9F310921201EA85FB858C819D81892B50
+:1001700019F08081806202C080818F7D8083DF9151
+:10018000CF911F910F91FF90EF90DF90CF90089546
+:100190001F920F920FB60F9211242F933F938F93BC
+:1001A0009F938091100190911101019690931101FC
+:1001B0008093100180911201813091F02091100103
+:1001C0003091110180911301909114012817390782
+:1001D00038F081E080931201109211011092100109
+:1001E0009F918F913F912F910F900FBE0F901F9075
+:1001F00018951F920F920FB60F9211242F933F93D1
+:100200008F939F938091100190911101019690938B
+:1002100011018093100180911201813091F02091A1
+:100220001001309111018091130190911401281750
+:10023000390738F081E08093120110921101109279
+:1002400010019F918F913F912F910F900FBE0F90B2
+:100250001F9018951F920F920FB60F9211242F9393
+:100260003F938F939F93809110019091110101967C
+:10027000909311018093100180911201813091F0CF
+:10028000209110013091110180911301909114017E
+:100290002817390738F081E080931201109211017C
+:1002A000109210019F918F913F912F910F900FBE4F
+:1002B0000F901F901895FC0185B5836085BD21E0E6
+:1002C00030E0358724878AE090E090931401809392
+:1002D000130184B5826084BD89EF87BD3787268787
+:1002E000259A85E290E09387828780E090E00895E8
+:1002F000CF92DF92EF92FF9280E091E00E945B014B
+:10030000C12CD12C760160E070E0CB01609300013C
+:1003100070930101809302019093030180E091E0CA
+:100320000E9453008FEFC81AD80AE80AF80AC701DA
+:10033000B6010E940C022FE632E143E05BE30E942B
+:10034000F10220E030E0A9010E94A801DFCF50585F
+:10035000BB27AA270ED0F0C0E1D030F0E6D020F0C5
+:1003600031F49F3F11F41EF4D6C00EF4E095E7FB84
+:10037000A3C0E92FF2D080F3BA176207730784078E
+:10038000950718F071F49EF521C10EF4E0950B2E3F
+:10039000BA2FA02D0B01B90190010C01CA01A001D7
+:1003A0001124FF27591B99F0593F50F4503E68F132
+:1003B0001A16F040A22F232F342F4427585FF3CF73
+:1003C000469537952795A795F0405395C9F77EF444
+:1003D0001F16BA0B620B730B840BBAF09150A1F08D
+:1003E000FF0FBB1F661F771F881FC2F70EC0BA0F13
+:1003F000621F731F841F48F4879577956795B7959B
+:10040000F7959E3F08F0B3CF9395880F08F0992792
+:10041000EE0F979587950895E89409C097FB3EF4F1
+:1004200090958095709561957F4F8F4F9F4F992341
+:10043000A9F0F92F96E9BB279395F69587957795BF
+:100440006795B795F111F8CFFAF4BB0F11F460FF7F
+:100450001BC06F5F7F4F8F4F9F4F16C0882311F0D7
+:1004600096E911C0772321F09EE8872F762F05C0EB
+:10047000662371F096E8862F70E060E02AF09A9586
+:10048000660F771F881FDAF7880F9695879597F97B
+:10049000089585D080F09F3740F491110EF097C0F9
+:1004A00060E070E080E89FEB089526F41B16611D64
+:1004B000711D811D07C021C097F99F6780E870E01A
+:1004C00060E00895882371F4772321F09850872BFA
+:1004D000762F07C0662311F499270DC09051862B03
+:1004E00070E060E02AF09A95660F771F881FDAF7B0
+:1004F000880F9695879597F908959F3F31F0915011
+:1005000020F4879577956795B795880F911D9695F7
+:10051000879597F908959FEF80EC089500240A9439
+:100520001616170618060906089500240A941216CE
+:100530001306140605060895092E0394000C11F401
+:10054000882352F0BB0F40F4BF2B11F460FF04C0AE
+:100550006F5F7F4F8F4F9F4F089557FD9058440F07
+:10056000551F59F05F3F71F04795880F97FB991F12
+:1005700061F09F3F79F087950895121613061406CF
+:10058000551FF2CF4695F1DF08C01616170618065C
+:10059000991FF1CF86957105610508940895E5DFEF
+:1005A000A0F0BEE7B91788F4BB279F3860F4161691
+:1005B000B11D672F782F8827985FF7CF869577959D
+:1005C0006795B11D93959639C8F30895E894BB27B4
+:1005D00066277727CB0197F9089566D008F48FEF47
+:1005E00008950BD0A9CF9ADF28F09FDF18F095234C
+:1005F00009F062CF90CF1124EACFAFDFA0F3959F2F
+:10060000D1F3950F50E0551F629FF001729FBB27F9
+:10061000F00DB11D639FAA27F00DB11DAA1F649FA5
+:100620006627B00DA11D661F829F2227B00DA11D58
+:10063000621F739FB00DA11D621F839FA00D611DDE
+:10064000221F749F3327A00D611D231F849F600DFF
+:10065000211D822F762F6A2F11249F5750408AF038
+:10066000E1F088234AF0EE0FFF1FBB1F661F771FC4
+:10067000881F91505040A9F79E3F510570F01CCF44
+:10068000A6CF5F3FECF3983EDCF3869577956795B0
+:10069000B795F795E7959F5FC1F7FE2B880F911DE2
+:1006A0009695879597F90895990F0008550FAA0B0D
+:1006B000E0E8FEEF16161706E807F907C0F0121675
+:1006C0001306E407F50798F0621B730B840B950B78
+:1006D00039F40A2661F0232B242B252B21F40895CD
+:1006E0000A2609F4A140A6958FEF811D811D08956A
+:0406F000F894FFCFAC
+:1006F4000000000000000AD7233C000000000000B6
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink_main.c
new file mode 100644
index 0000000..cb41d72
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blink_main.c
@@ -0,0 +1,253 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_led_blink_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_led_blink_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[2];
+ fmi2Boolean fmi2BooleanVars[3];
+ fmi2Real fmi2RealParameter[2];
+ fmi2Integer fmi2IntegerParameter[1];
+ fmi2Boolean fmi2BooleanParameter[1];
+ fmi2String fmi2StringParameter[1];
+ void* extObjs[4];
+} MDD_led_blink_fmi2Component;
+
+MDD_led_blink_fmi2Component MDD_led_blink_component = {
+ .fmi2RealVars = {
+ 0.0 /*adc._y*/,
+ 0.0 /*realValue1._number*/,
+ },
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ fmi2False /*booleanExpression2._y*/,
+ fmi2False /*digitalWriteBoolean1._u*/,
+ },
+ .fmi2RealParameter = {
+ 550.0 /*greaterEqualThreshold1._threshold*/,
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+ .fmi2IntegerParameter = {
+ 2 /*realValue1._significantDigits*/,
+ },
+ .fmi2BooleanParameter = {
+ fmi2True /*realValue1._use_numberPort*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+static const char * const OMCLIT0 = "ElectricPotential";
+static const char * const OMCLIT1 = "V";
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+#include "MDDAVRAnalog.h"
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution)
+{
+ fmi2Real om_value;
+ om_value = MDD_avr_analog_read(om_analogPort, om_vref, om_voltageResolution);
+ return om_value;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage)
+{
+ void* om_avr;
+ om_avr = MDD_avr_analog_init(om_divisionFactor, om_referenceVoltage);
+ return om_avr;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr)
+{
+ MDD_avr_analog_close(om_avr);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_led_blink_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_led_blink_component;
+}
+
+fmi2Status MDD_led_blink_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_blink_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 4, 4);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ comp->extObjs[0] /* adc._analog EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Analog.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(comp, 7, 4);
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_blink_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_led_blink_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_led_blink_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* adc._y variable */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(comp, 5, 1024.0, 10); /* equation 7 */
+ comp->fmi2BooleanVars[2] /* digitalWriteBoolean1._u DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>=(comp->fmi2RealParameter[0] /* greaterEqualThreshold1._threshold PARAM */); /* equation 8 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 4, comp->fmi2BooleanVars[2] /* digitalWriteBoolean1._u DISCRETE */);
+}
+
+fmi2Status MDD_led_blink_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_led_blink_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_led_blink_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_led_blink_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_led_blink_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_led_blink_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_led_blink_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue
new file mode 100644
index 0000000..75f1105
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue.hex
new file mode 100644
index 0000000..46afcd9
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue.hex
@@ -0,0 +1,91 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94E50088
+:100020000C9451000C9451000C9451000C94B400A9
+:100030000C9451000C9451000C9483000C945100CA
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E6E8F5E002C0F0
+:1000800005900D92A031B107D9F711E0A0E1B1E0E0
+:1000900001C01D92A531B107E1F70E9433010C9414
+:1000A000C1020C9400008230910561F0833091050B
+:1000B00099F00197C9F416BC80916E00826080931C
+:1000C0006E0016C0109285001092840080916F001F
+:1000D000826080936F000CC01092B200809170001B
+:1000E00082608093700004C081E090E00E94C102B1
+:1000F00078949FB7F894809112019FBF8823C9F329
+:100100001092120108951F920F920FB60F921124B0
+:100110002F933F938F939F938091100190911101A2
+:10012000019690931101809310018091120181300A
+:1001300091F0209110013091110180911301909163
+:1001400014012817390738F081E0809312011092CA
+:100150001101109210019F918F913F912F910F905B
+:100160000FBE0F901F9018951F920F920FB60F920F
+:1001700011242F933F938F939F938091100190911F
+:100180001101019690931101809310018091120149
+:10019000813091F020911001309111018091130173
+:1001A000909114012817390738F081E080931201EB
+:1001B00010921101109210019F918F913F912F91F8
+:1001C0000F900FBE0F901F9018951F920F920FB6B1
+:1001D0000F9211242F933F938F939F93809110013F
+:1001E00090911101019690931101809310018091DB
+:1001F0001201813091F02091100130911101809114
+:100200001301909114012817390738F081E0809389
+:10021000120110921101109210019F918F913F9144
+:100220002F910F900FBE0F901F901895FC01219AEF
+:1002300085E290E09387828785B5836085BD21E064
+:1002400030E03587248785E090E090931401809317
+:10025000130184B5826084BD89EF87BD3787268707
+:1002600080E090E00895CF92DF92EF92FF9280E0DD
+:1002700091E00E941601C12CD12C760160E070E063
+:10028000CB01609300017093010180930201909370
+:10029000030180910E0190910F010E945300E091A3
+:1002A0000A01F0910B018081826080838FEFC81A70
+:1002B000D80AE80AF80AC701B6010E94D0012FE661
+:1002C00032E143E05BE30E945E0220E030E0A901FE
+:1002D0000E946C01D6CF5058BB27AA270ED0B4C0BD
+:1002E000A5D030F0AAD020F031F49F3F11F41EF4D5
+:1002F0009AC00EF4E095E7FB90C0E92FB6D080F3EA
+:10030000BA17620773078407950718F071F49EF512
+:10031000CEC00EF4E0950B2EBA2FA02D0B01B90123
+:1003200090010C01CA01A0011124FF27591B99F06B
+:10033000593F50F4503E68F11A16F040A22F232F77
+:10034000342F4427585FF3CF469537952795A795C7
+:10035000F0405395C9F77EF41F16BA0B620B730B6E
+:10036000840BBAF09150A1F0FF0FBB1F661F771FDF
+:10037000881FC2F70EC0BA0F621F731F841F48F494
+:10038000879577956795B795F7959E3F08F0B3CF1A
+:100390009395880F08F09927EE0F97958795089504
+:1003A000E89409C097FB3EF490958095709561950F
+:1003B0007F4F8F4F9F4F9923A9F0F92F96E9BB27C5
+:1003C0009395F695879577956795B795F111F8CF41
+:1003D000FAF4BB0F11F460FF1BC06F5F7F4F8F4FAC
+:1003E0009F4F16C0882311F096E911C0772321F0A2
+:1003F0009EE8872F762F05C0662371F096E8862F3A
+:1004000070E060E02AF09A95660F771F881FDAF790
+:10041000880F9695879597F9089597F99F6780E8D3
+:1004200070E060E008959FEF80EC089500240A9446
+:100430001616170618060906089500240A941216BF
+:100440001306140605060895092E0394000C11F4F2
+:10045000882352F0BB0F40F4BF2B11F460FF04C09F
+:100460006F5F7F4F8F4F9F4F089557FD9058440FF8
+:10047000551F59F05F3F71F04795880F97FB991F03
+:1004800061F09F3F79F087950895121613061406C0
+:10049000551FF2CF4695F1DF08C01616170618064D
+:1004A000991FF1CF86957105610508940895E89428
+:1004B000BB2766277727CB0197F908950BD0C4CFC8
+:1004C000B5DF28F0BADF18F0952309F0A6CFABCF3F
+:1004D0001124EECFCADFA0F3959FD1F3950F50E022
+:1004E000551F629FF001729FBB27F00DB11D639FE6
+:1004F000AA27F00DB11DAA1F649F6627B00DA11D8C
+:10050000661F829F2227B00DA11D621F739FB00D31
+:10051000A11D621F839FA00D611D221F749F3327A1
+:10052000A00D611D231F849F600D211D822F762F3A
+:100530006A2F11249F5750408AF0E1F088234AF037
+:10054000EE0FFF1FBB1F661F771F881F9150504083
+:10055000A9F79E3F510570F060CFAACF5F3FECF343
+:10056000983EDCF3869577956795B795F795E7956F
+:100570009F5FC1F7FE2B880F911D9695879597F980
+:060580000895F894FFCF7E
+:100586000000000000000AD7233C00000000000025
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay
new file mode 100644
index 0000000..9d821fe
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay.hex
new file mode 100644
index 0000000..f120f88
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay.hex
@@ -0,0 +1,100 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C940E015E
+:100020000C9451000C9451000C9451000C94DD0080
+:100030000C9451000C9451000C94AC000C945100A1
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E6E1F6E002C0F6
+:1000800005900D92A031B107D9F711E0A0E1B1E0E0
+:1000900001C01D92A531B107E1F70E945C010C94EB
+:1000A00009030C9400000F931F93CF93DF93EC018F
+:1000B00001E010E020E030E040E85FE36881798112
+:1000C0008A819B810E94F00187FD02C000E010E060
+:1000D0001D830C838E859F858230910561F083306E
+:1000E000910599F00197C9F416BC80916E00826069
+:1000F00080936E0016C0109285001092840080914B
+:100100006F00826080936F000CC01092B2008091EB
+:10011000700082608093700004C081E090E00E94D3
+:10012000090378949FB7F894809112019FBF8823A8
+:10013000C9F310921201EA85FB858C819D81892B80
+:1001400019F08081826002C080818D7F8083DF9181
+:10015000CF911F910F9108951F920F920FB60F929A
+:1001600011242F933F938F939F938091100190912F
+:100170001101019690931101809310018091120159
+:10018000813091F020911001309111018091130183
+:10019000909114012817390738F081E080931201FB
+:1001A00010921101109210019F918F913F912F9108
+:1001B0000F900FBE0F901F9018951F920F920FB6C1
+:1001C0000F9211242F933F938F939F93809110014F
+:1001D00090911101019690931101809310018091EB
+:1001E0001201813091F02091100130911101809124
+:1001F0001301909114012817390738F081E080939A
+:10020000120110921101109210019F918F913F9154
+:100210002F910F900FBE0F901F9018951F920F9265
+:100220000FB60F9211242F933F938F939F9380913A
+:10023000100190911101019690931101809310018A
+:1002400080911201813091F02091100130911101C3
+:1002500080911301909114012817390738F081E03B
+:100260008093120110921101109210019F918F91B1
+:100270003F912F910F900FBE0F901F901895FC018A
+:10028000219A85E290E09387828785B5836085BD5A
+:1002900021E030E0358724878AE090E090931401D4
+:1002A0008093130184B5826084BD89EF87BD378751
+:1002B000268780E090E00895CF92DF92EF92FF9240
+:1002C00080E091E00E943F01C12CD12C760160E0DA
+:1002D00070E0CB01609300017093010180930201F3
+:1002E0009093030180E091E00E9453008FEFC81AC1
+:1002F000D80AE80AF80AC701B6010E94F4012FE6FD
+:1003000032E143E05BE30E94A60220E030E0A90175
+:100310000E948C01DFCF5058BB27AA270ED0DCC02B
+:10032000CDD030F0D2D020F031F49F3F11F41EF444
+:10033000C2C00EF4E095E7FBB8C0E92FDED080F331
+:10034000BA17620773078407950718F071F49EF5D2
+:10035000F6C00EF4E0950B2EBA2FA02D0B01B901BB
+:1003600090010C01CA01A0011124FF27591B99F02B
+:10037000593F50F4503E68F11A16F040A22F232F37
+:10038000342F4427585FF3CF469537952795A79587
+:10039000F0405395C9F77EF41F16BA0B620B730B2E
+:1003A000840BBAF09150A1F0FF0FBB1F661F771F9F
+:1003B000881FC2F70EC0BA0F621F731F841F48F454
+:1003C000879577956795B795F7959E3F08F0B3CFDA
+:1003D0009395880F08F09927EE0F979587950895C4
+:1003E00040D008F481E00895E89409C097FB3EF4FA
+:1003F00090958095709561957F4F8F4F9F4F992372
+:10040000A9F0F92F96E9BB279395F69587957795EF
+:100410006795B795F111F8CFFAF4BB0F11F460FFAF
+:100420001BC06F5F7F4F8F4F9F4F16C0882311F007
+:1004300096E911C0772321F09EE8872F762F05C01B
+:10044000662371F096E8862F70E060E02AF09A95B6
+:10045000660F771F881FDAF7880F9695879597F9AB
+:100460000895990F0008550FAA0BE0E8FEEF161645
+:100470001706E807F907C0F012161306E407F50798
+:1004800098F0621B730B840B950B39F40A2661F00C
+:10049000232B242B252B21F408950A2609F4A140AF
+:1004A000A6958FEF811D811D089597F99F6780E8BC
+:1004B00070E060E008959FEF80EC089500240A94B6
+:1004C0001616170618060906089500240A9412162F
+:1004D0001306140605060895092E0394000C11F462
+:1004E000882352F0BB0F40F4BF2B11F460FF04C00F
+:1004F0006F5F7F4F8F4F9F4F089557FD9058440F68
+:10050000551F59F05F3F71F04795880F97FB991F72
+:1005100061F09F3F79F0879508951216130614062F
+:10052000551FF2CF4695F1DF08C0161617061806BC
+:10053000991FF1CF86957105610508940895E89497
+:10054000BB2766277727CB0197F908950BD0C4CF37
+:10055000B5DF28F0BADF18F0952309F0A6CFABCFAE
+:100560001124EECFCADFA0F3959FD1F3950F50E091
+:10057000551F629FF001729FBB27F00DB11D639F55
+:10058000AA27F00DB11DAA1F649F6627B00DA11DFB
+:10059000661F829F2227B00DA11D621F739FB00DA1
+:1005A000A11D621F839FA00D611D221F749F332711
+:1005B000A00D611D231F849F600D211D822F762FAA
+:1005C0006A2F11249F5750408AF0E1F088234AF0A7
+:1005D000EE0FFF1FBB1F661F771F881F91505040F3
+:1005E000A9F79E3F510570F060CFAACF5F3FECF3B3
+:1005F000983EDCF3869577956795B795F795E795DF
+:100600009F5FC1F7FE2B880F911D9695879597F9EF
+:060610000895F894FFCFED
+:100616000000000001000AD7233C00000000000093
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay_main.c
new file mode 100644
index 0000000..e369c99
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_delay_main.c
@@ -0,0 +1,212 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_led_blue_delay_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_led_blue_delay_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[3];
+} MDD_led_blue_delay_fmi2Component;
+
+MDD_led_blue_delay_fmi2Component MDD_led_blue_delay_component = {
+ .fmi2BooleanVars = {
+ fmi2True /*booleanExpression1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_led_blue_delay_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_led_blue_delay_component;
+}
+
+fmi2Status MDD_led_blue_delay_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_blue_delay_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_blue_delay_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_led_blue_delay_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_led_blue_delay_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */ = (comp->currentTime)<(1.0); /* equation 3 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */);
+}
+
+fmi2Status MDD_led_blue_delay_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_led_blue_delay_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_led_blue_delay_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_led_blue_delay_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_led_blue_delay_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_led_blue_delay_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_led_blue_delay_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_main.c
new file mode 100644
index 0000000..19d0a0f
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_main.c
@@ -0,0 +1,212 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_led_blue_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_led_blue_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[3];
+} MDD_led_blue_fmi2Component;
+
+MDD_led_blue_fmi2Component MDD_led_blue_component = {
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_led_blue_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_led_blue_component;
+}
+
+fmi2Status MDD_led_blue_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_blue_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 5);
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_blue_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_led_blue_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_led_blue_functionOutputs(fmi2Component comp)
+{
+ Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, fmi2True);
+}
+
+fmi2Status MDD_led_blue_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_led_blue_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_led_blue_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_led_blue_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_led_blue_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_led_blue_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_led_blue_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red
new file mode 100644
index 0000000..06777b5
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red.hex
new file mode 100644
index 0000000..37cdb21
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red.hex
@@ -0,0 +1,106 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94340138
+:100020000C9451000C9451000C9451000C94030159
+:100030000C9451000C9451000C94D2000C9451007B
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E8E6F6E002C0EF
+:1000800005900D92A431B107D9F711E0A4E1B1E0D8
+:1000900001C01D92A931B107E1F70E9485010C94BE
+:1000A00032030C940000CF92DF92EF92FF920F93F5
+:1000B0001F93CF93DF93EC01C880D980EA80FB8047
+:1000C00001E010E020E030E040E85FE3C701B60166
+:1000D0000E94190287FD02C000E010E01D830C831E
+:1000E00001E010E02DEC3CEC4CEC5FE3C701B60105
+:1000F0000E94190287FD02C000E010E01F830E83FA
+:100100008A899B898230910561F08330910599F04D
+:100110000197C9F416BC80916E00826080936E00D6
+:1001200016C0109285001092840080916F0082604A
+:1001300080936F000CC01092B200809170008260BA
+:100140008093700004C081E090E00E9432037894B4
+:100150009FB7F894809116019FBF8823C9F310922E
+:100160001601EC85FD858C819D81892B19F080819C
+:10017000826002C080818D7F8083EE85FF858E81C5
+:100180009F81892B19F08081886002C08081877FE0
+:100190008083DF91CF911F910F91FF90EF90DF90BF
+:1001A000CF9008951F920F920FB60F9211242F93A4
+:1001B0003F938F939F938091140190911501019625
+:1001C000909315018093140180911601813091F074
+:1001D000209114013091150180911701909118011F
+:1001E0002817390738F081E0809316011092150125
+:1001F000109214019F918F913F912F910F900FBEFC
+:100200000F901F9018951F920F920FB60F92112406
+:100210002F933F938F939F93809114019091150199
+:1002200001969093150180931401809116018130FD
+:1002300091F0209114013091150180911701909156
+:1002400018012817390738F081E0809316011092C1
+:100250001501109214019F918F913F912F910F9052
+:100260000FBE0F901F9018951F920F920FB60F920E
+:1002700011242F933F938F939F938091140190911A
+:100280001501019690931501809314018091160138
+:10029000813091F020911401309115018091170166
+:1002A000909118012817390738F081E080931601E2
+:1002B00010921501109214019F918F913F912F91EF
+:1002C0000F900FBE0F901F901895FC01239A25E206
+:1002D00030E03787268785B5836085BD41E050E0F3
+:1002E000518B408B8AE090E0909318018093170126
+:1002F00084B5826084BD89EF87BD538B428B219A80
+:100300003587248780E090E00895CF92DF92EF92C6
+:10031000FF9280E091E00E946501C12CD12C760112
+:1003200060E070E0CB016093000170930101809365
+:1003300002019093030180E091E00E9453008FEF4F
+:10034000C81AD80AE80AF80AC701B6010E941D02B5
+:100350002FE632E143E05BE30E94CF0220E030E091
+:10036000A9010E94B501DFCF5058BB27AA270ED0A4
+:10037000DCC0CDD030F0D2D020F031F49F3F11F46A
+:100380001EF4C2C00EF4E095E7FBB8C0E92FDED042
+:1003900080F3BA17620773078407950718F071F4A2
+:1003A0009EF5F6C00EF4E0950B2EBA2FA02D0B0192
+:1003B000B90190010C01CA01A0011124FF27591BAA
+:1003C00099F0593F50F4503E68F11A16F040A22FB0
+:1003D000232F342F4427585FF3CF46953795279521
+:1003E000A795F0405395C9F77EF41F16BA0B620B20
+:1003F000730B840BBAF09150A1F0FF0FBB1F661F67
+:10040000771F881FC2F70EC0BA0F621F731F841FA9
+:1004100048F4879577956795B795F7959E3F08F0CF
+:10042000B3CF9395880F08F09927EE0F979587958E
+:10043000089540D008F481E00895E89409C097FB3E
+:100440003EF490958095709561957F4F8F4F9F4FAB
+:100450009923A9F0F92F96E9BB279395F6958795EF
+:1004600077956795B795F111F8CFFAF4BB0F11F4B2
+:1004700060FF1BC06F5F7F4F8F4F9F4F16C0882359
+:1004800011F096E911C0772321F09EE8872F762F8F
+:1004900005C0662371F096E8862F70E060E02AF0D0
+:1004A0009A95660F771F881FDAF7880F96958795BC
+:1004B00097F90895990F0008550FAA0BE0E8FEEF91
+:1004C00016161706E807F907C0F012161306E40718
+:1004D000F50798F0621B730B840B950B39F40A2611
+:1004E00061F0232B242B252B21F408950A2609F4EF
+:1004F000A140A6958FEF811D811D089597F99F67F3
+:1005000080E870E060E008959FEF80EC089500249B
+:100510000A941616170618060906089500240A9468
+:1005200012161306140605060895092E0394000CEE
+:1005300011F4882352F0BB0F40F4BF2B11F460FF7D
+:1005400004C06F5F7F4F8F4F9F4F089557FD9058A6
+:10055000440F551F59F05F3F71F04795880F97FB87
+:10056000991F61F09F3F79F0879508951216130641
+:100570001406551FF2CF4695F1DF08C01616170670
+:100580001806991FF1CF86957105610508940895A5
+:10059000E894BB2766277727CB0197F908950BD0FE
+:1005A000C4CFB5DF28F0BADF18F0952309F0A6CF45
+:1005B000ABCF1124EECFCADFA0F3959FD1F3950FF7
+:1005C00050E0551F629FF001729FBB27F00DB11DD7
+:1005D000639FAA27F00DB11DAA1F649F6627B00D67
+:1005E000A11D661F829F2227B00DA11D621F739F50
+:1005F000B00DA11D621F839FA00D611D221F749F5E
+:100600003327A00D611D231F849F600D211D822FA4
+:10061000762F6A2F11249F5750408AF0E1F08823EB
+:100620004AF0EE0FFF1FBB1F661F771F881F9150F8
+:100630005040A9F79E3F510570F060CFAACF5F3FB1
+:10064000ECF3983EDCF3869577956795B795F7952B
+:10065000E7959F5FC1F7FE2B880F911D96958795B3
+:0806600097F90895F894FFCF0B
+:1006680000000000010001000AD7233C0000000040
+:04067800000000007E
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red_main.c
new file mode 100644
index 0000000..8118bcc
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_blue_red_main.c
@@ -0,0 +1,215 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_led_blue_red_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_led_blue_red_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[2];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[4];
+} MDD_led_blue_red_fmi2Component;
+
+MDD_led_blue_red_fmi2Component MDD_led_blue_red_component = {
+ .fmi2BooleanVars = {
+ fmi2True /*booleanExpression1._y*/,
+ fmi2True /*booleanExpression2._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_led_blue_red_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_led_blue_red_component;
+}
+
+fmi2Status MDD_led_blue_red_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_blue_red_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* digitalWriteBoolean2._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 4);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_blue_red_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_led_blue_red_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_led_blue_red_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */ = (comp->currentTime)<(1.0); /* equation 4 */
+ comp->fmi2BooleanVars[1] /* booleanExpression2._y DISCRETE */ = (comp->currentTime)<(1.6); /* equation 5 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean2._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 4, comp->fmi2BooleanVars[1] /* booleanExpression2._y DISCRETE */);
+}
+
+fmi2Status MDD_led_blue_red_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_led_blue_red_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_led_blue_red_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_led_blue_red_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_led_blue_red_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_led_blue_red_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_led_blue_red_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_bink b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_bink
new file mode 100644
index 0000000..d4a1f15
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_bink
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink
new file mode 100644
index 0000000..d4a1f15
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink.hex
new file mode 100644
index 0000000..30ec824
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink.hex
@@ -0,0 +1,127 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C942C0140
+:100020000C9451000C9451000C9451000C94FB0062
+:100030000C9451000C9451000C94CA000C94510083
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E8ECF7E002C0E8
+:1000800005900D92A031B107D9F711E0A0E1B1E0E0
+:1000900001C01D92A531B107E1F70E947A010C94CD
+:1000A000E2030C940000CF92DF92EF92FF920F9345
+:1000B0001F93CF93DF93EC01C880D980EA80FB8047
+:1000C0002DEC3CEC4CEC5EE3C701B6010E940E0245
+:1000D0000E94B3022DEC3CEC4CEC5EE30E945B030F
+:1000E0009B01AC01C701B6010E94A90101E010E02B
+:1000F0002DEC3CEC4CE45EE30E94570387FF02C00A
+:1001000000E010E01D830C838E859F858230910571
+:1001100061F08330910599F00197C9F416BC809184
+:100120006E00826080936E0016C01092850010925F
+:10013000840080916F00826080936F000CC01092E9
+:10014000B2008091700082608093700004C081E0F2
+:1001500090E00E94E20378949FB7F8948091120196
+:100160009FBF8823C9F310921201EA85FB858C8119
+:100170009D81892B19F08081846002C080818B7FF2
+:100180008083DF91CF911F910F91FF90EF90DF90CF
+:10019000CF9008951F920F920FB60F9211242F93B4
+:1001A0003F938F939F93809110019091110101963D
+:1001B000909311018093100180911201813091F090
+:1001C000209110013091110180911301909114013F
+:1001D0002817390738F081E080931201109211013D
+:1001E000109210019F918F913F912F910F900FBE10
+:1001F0000F901F9018951F920F920FB60F92112417
+:100200002F933F938F939F938091100190911101B1
+:100210000196909311018093100180911201813019
+:1002200091F0209110013091110180911301909172
+:1002300014012817390738F081E0809312011092D9
+:100240001101109210019F918F913F912F910F906A
+:100250000FBE0F901F9018951F920F920FB60F921E
+:1002600011242F933F938F939F938091100190912E
+:100270001101019690931101809310018091120158
+:10028000813091F020911001309111018091130182
+:10029000909114012817390738F081E080931201FA
+:1002A00010921101109210019F918F913F912F9107
+:1002B0000F900FBE0F901F901895FC0185B58360BD
+:1002C00085BD21E030E0358724878AE090E0909377
+:1002D00014018093130184B5826084BD89EF87BDCA
+:1002E00037872687229A85E290E09387828780E08D
+:1002F00090E00895CF92DF92EF92FF9280E091E03C
+:100300000E945D01C12CD12C760160E070E0CB0130
+:1003100060930001709301018093020190930301A7
+:1003200080E091E00E9453008FEFC81AD80AE80AD3
+:10033000F80AC701B6010E9476022FE632E143E0D7
+:100340005BE30E945B0320E030E0A9010E94AA0168
+:10035000DFCF5058BB27AA270ED058C149D130F063
+:100360004ED120F031F49F3F11F41EF43EC10EF443
+:10037000E095E7FB0BC1E92F5AD180F3BA1762076A
+:1003800073078407950718F071F49EF589C10EF480
+:10039000E0950B2EBA2FA02D0B01B90190010C0195
+:1003A000CA01A0011124FF27591B99F0593F50F4AD
+:1003B000503E68F11A16F040A22F232F342F442705
+:1003C000585FF3CF469537952795A795F0405395FD
+:1003D000C9F77EF41F16BA0B620B730B840BBAF0CD
+:1003E0009150A1F0FF0FBB1F661F771F881FC2F738
+:1003F0000EC0BA0F621F731F841F48F4879577954C
+:100400006795B795F7959E3F08F0B3CF9395880F02
+:1004100008F09927EE0F9795879508950CD0F6C0B0
+:10042000EED040F0E5D030F021F45F3F19F0AEC0DF
+:10043000511137C1DAC0FBD098F39923C9F3552382
+:10044000B1F3951B550BBB27AA27621773078407C7
+:1004500038F09F5F5F4F220F331F441FAA1FA9F37D
+:1004600033D00E2E3AF0E0E830D091505040E6956F
+:10047000001CCAF729D0FE2F27D0660F771F881FD0
+:10048000BB1F261737074807AB07B0E809F0BB0BBF
+:10049000802DBF01FF2793585F4F2AF09E3F5105E3
+:1004A00068F074C0FEC05F3FECF3983EDCF38695C5
+:1004B00077956795B795F7959F5FC9F7880F911D59
+:1004C0009695879597F90895E1E0660F771F881F45
+:1004D000BB1F621773078407BA0720F0621B730BF8
+:1004E000840BBA0BEE1F88F7E0950895E89409C0D5
+:1004F00097FB3EF490958095709561957F4F8F4F57
+:100500009F4F9923A9F0F92F96E9BB279395F6956C
+:10051000879577956795B795F111F8CFFAF4BB0FEA
+:1005200011F460FF1BC06F5F7F4F8F4F9F4F16C04E
+:10053000882311F096E911C0772321F09EE8872FD8
+:10054000762F05C0662371F096E8862F70E060E094
+:100550002AF09A95660F771F881FDAF7880F96950D
+:10056000879597F9089585D080F09F3740F49111D1
+:100570000EF097C060E070E080E89FEB089526F4ED
+:100580001B16611D711D811D07C021C097F99F6752
+:1005900080E870E060E00895882371F4772321F00B
+:1005A0009850872B762F07C0662311F499270DC02A
+:1005B0009051862B70E060E02AF09A95660F771FC5
+:1005C000881FDAF7880F9695879597F908959F3FCA
+:1005D00031F0915020F4879577956795B795880FFE
+:1005E000911D9695879597F908959FEF80EC089552
+:1005F00000240A9416161706180609060895002402
+:100600000A9412161306140605060895092E03947B
+:10061000000C11F4882352F0BB0F40F4BF2B11F4EF
+:1006200060FF04C06F5F7F4F8F4F9F4F089557FD4E
+:100630009058440F551F59F05F3F71F04795880F50
+:1006400097FB991F61F09F3F79F0879508951216E7
+:1006500013061406551FF2CF4695F1DF08C0161693
+:1006600017061806991FF1CF869571056105089444
+:100670000895E5DFA0F0BEE7B91788F4BB279F38DF
+:1006800060F41616B11D672F782F8827985FF7CF73
+:10069000869577956795B11D93959639C8F308951A
+:1006A000E894BB2766277727CB0197F9089566D092
+:1006B00008F48FEF08950BD0A9CF9ADF28F09FDFC1
+:1006C00018F0952309F062CF90CF1124EACFAFDF65
+:1006D000A0F3959FD1F3950F50E0551F629FF00155
+:1006E000729FBB27F00DB11D639FAA27F00DB11DAE
+:1006F000AA1F649F6627B00DA11D661F829F222737
+:10070000B00DA11D621F739FB00DA11D621F839FBD
+:10071000A00D611D221F749F3327A00D611D231F93
+:10072000849F600D211D822F762F6A2F11249F57E1
+:1007300050408AF0E1F088234AF0EE0FFF1FBB1F04
+:10074000661F771F881F91505040A9F79E3F5105A3
+:1007500070F01CCFA6CF5F3FECF3983EDCF386959C
+:1007600077956795B795F795E7959F5FC1F7FE2B4E
+:10077000880F911D9695879597F90895990F000810
+:10078000550FAA0BE0E8FEEF16161706E807F90763
+:10079000C0F012161306E407F50798F0621B730BFE
+:1007A000840B950B39F40A2661F0232B242B252B7F
+:1007B00021F408950A2609F4A140A6958FEF811D22
+:0807C000811D0895F894FFCF9C
+:1007C8000000000000000AD7233C000000000000E1
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink_main.c
new file mode 100644
index 0000000..e01a62c
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/MDD_led_green_blink_main.c
@@ -0,0 +1,212 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_led_green_blink_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_led_green_blink_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[1];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[3];
+} MDD_led_green_blink_fmi2Component;
+
+MDD_led_green_blink_fmi2Component MDD_led_green_blink_component = {
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_led_green_blink_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_led_green_blink_component;
+}
+
+fmi2Status MDD_led_green_blink_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_green_blink_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[1] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 3);
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_green_blink_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_led_green_blink_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_led_green_blink_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */ = (om_mod(comp->currentTime,0.4))>=(0.2); /* equation 3 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[2] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[0] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 3, comp->fmi2BooleanVars[0] /* booleanExpression1._y DISCRETE */);
+}
+
+fmi2Status MDD_led_green_blink_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_led_green_blink_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_led_green_blink_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_led_green_blink_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_led_green_blink_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_led_green_blink_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_led_green_blink_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blink.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blink.mos
new file mode 100644
index 0000000..35a7bde
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blink.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blink, fileNamePrefix="MDD_led_blink");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue.mos
new file mode 100644
index 0000000..7ba6686
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blue, fileNamePrefix="MDD_led_blue");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue_delay.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue_delay.mos
new file mode 100644
index 0000000..f5e8f16
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue_delay.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blue_delay, fileNamePrefix="MDD_led_blue_delay");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue_red.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue_red.mos
new file mode 100644
index 0000000..9e1c130
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_blue_red.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_blue_red, fileNamePrefix="MDD_led_blue_red");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_green_blink.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_green_blink.mos
new file mode 100644
index 0000000..dc3fad8
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/led/run_led_green_blink.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_led.MDD_led_green_blink, fileNamePrefix="MDD_led_green_blink");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold
new file mode 100644
index 0000000..a272504
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold.hex
new file mode 100644
index 0000000..70434e9
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold.hex
@@ -0,0 +1,147 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94E30189
+:100020000C9451000C9451000C9451000C94B201AA
+:100030000C9451000C9451000C9481010C945100CB
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E2ECF8E002C0ED
+:1000800005900D92A834B107D9F711E0A8E4B1E0CA
+:1000900001C01D92AD34B107E1F70E944A020C94F1
+:1000A0005F040C9400004F925F926F927F928F9248
+:1000B0009F92AF92BF92CF92DF92EF92FF920F93F7
+:1000C0001F93CF93DF93EC0180917C00857E82604B
+:1000D00080937C0080917A00806480937A00809184
+:1000E0007A0086FDFCCF609178007091790080E005
+:1000F00090E00E94460320E030E040E854E40E9493
+:10010000D80320E030EC4FE754E40E94DE026B019C
+:100110007C016C837D838E839F8311E028A939A99C
+:100120004AA95BA90E94D40387FD10E0812F90E0CB
+:100130009FA38EA3111104C0812C912C540106C0E1
+:10014000812C912C90E8A92E9FE3B92E8C869D8658
+:10015000AE86BF8601E010E02CA93DA94EA95FA99B
+:10016000C501B4010E94D40387FF02C000E010E083
+:1001700019A308A311E02CA53DA54EA55FA5C701B5
+:10018000B6010E94D40387FD10E0812F90E09DA36B
+:100190008CA3111104C0412C512C320106C0412CFA
+:1001A000512C80E8682E8FE3782E488659866A861F
+:1001B0007B8601E010E0A5019401C301B2010E9419
+:1001C000D403181614F000E010E01F8F0E8F11E01A
+:1001D00028A539A54AA55BA5C701B6010E94D4038D
+:1001E00087FD10E0812F90E09BA38AA3111104C02A
+:1001F00060E070E0CB0104C060E070E080E89FE365
+:10020000688B798B8A8B9B8B01E010E0A3019201B4
+:100210000E94D403181614F000E010E01D8F0C8F1C
+:10022000FE01EA5BFF4F808191818230910561F090
+:100230008330910599F00197C9F416BC80916E0046
+:10024000826080936E0016C0109285001092840028
+:1002500080916F00826080936F000CC01092B2009A
+:100260008091700082608093700004C081E090E013
+:100270000E945F0478949FB7F89480914A019FBFD1
+:100280008823C9F310924A01EEADFFAD8C8D9D8D90
+:10029000892B19F08081826002C080818D7F8083EC
+:1002A000FE01E05CFF4F0190F081E02D8E8D9F8D6F
+:1002B000892B19F08081846002C080818B7F8083CC
+:1002C000FE01EE5BFF4F0190F081E02D88A199A126
+:1002D000892B19F08081886002C08081877F8083AC
+:1002E000DF91CF911F910F91FF90EF90DF90CF9012
+:1002F000BF90AF909F908F907F906F905F904F9046
+:1003000008951F920F920FB60F9211242F933F93CF
+:100310008F939F938091480190914901019690930A
+:1003200049018093480180914A01813091F02091E8
+:1003300048013091490180914B0190914C0128175F
+:10034000390738F081E080934A01109249011092F8
+:1003500048019F918F913F912F910F900FBE0F9069
+:100360001F9018951F920F920FB60F9211242F9382
+:100370003F938F939F9380914801909149010196FB
+:10038000909349018093480180914A01813091F016
+:10039000209148013091490180914B0190914C018D
+:1003A0002817390738F081E080934A0110924901FB
+:1003B000109248019F918F913F912F910F900FBE06
+:1003C0000F901F9018951F920F920FB60F92112445
+:1003D0002F933F938F939F93809148019091490170
+:1003E0000196909349018093480180914A018130A0
+:1003F00091F0209148013091490180914B019091F9
+:100400004C012817390738F081E080934A01109297
+:100410004901109248019F918F913F912F910F9028
+:100420000FBE0F901F901895ECE7F0E02081206C34
+:100430002083EAE7F0E0208127682083FC0115AEE5
+:1004400014AE239AEE5BFF4F25E230E03183208328
+:10045000229A329731832083219AFC0137AF26AF4D
+:1004600025B5236025BDEC5BFF4F41E050E0518393
+:1004700040832AE030E030934C0120934B0124B5B7
+:10048000226024BD29EF27BD32965183408380E04E
+:1004900090E00895CF92DF92EF92FF9280E091E09A
+:1004A0000E941402C12CD12C760160E070E0CB01D7
+:1004B0006093000170930101809302019093030106
+:1004C00080E091E00E9453008FEFC81AD80AE80A32
+:1004D000F80AC701B6010E9446032FE632E143E065
+:1004E0005BE30E94D80320E030E0A9010E947A0279
+:1004F000DFCF5058BB27AA270ED01CC10DD130F03A
+:1005000012D120F031F49F3F11F41EF402C10EF419
+:10051000E095E7FBF8C0E92F1ED180F3BA17620718
+:1005200073078407950718F071F49EF536C10EF431
+:10053000E0950B2EBA2FA02D0B01B90190010C01F3
+:10054000CA01A0011124FF27591B99F0593F50F40B
+:10055000503E68F11A16F040A22F232F342F442763
+:10056000585FF3CF469537952795A795F04053955B
+:10057000C9F77EF41F16BA0B620B730B840BBAF02B
+:100580009150A1F0FF0FBB1F661F771F881FC2F796
+:100590000EC0BA0F621F731F841F48F487957795AA
+:1005A0006795B795F7959E3F08F0B3CF9395880F61
+:1005B00008F09927EE0F9795879508950CD0BAC04B
+:1005C000B2D040F0A9D030F021F45F3F19F09BC0C9
+:1005D0005111E4C09EC0BFD098F39923C9F35523AD
+:1005E000B1F3951B550BBB27AA2762177307840726
+:1005F00038F09F5F5F4F220F331F441FAA1FA9F3DC
+:1006000033D00E2E3AF0E0E830D091505040E695CD
+:10061000001CCAF729D0FE2F27D0660F771F881F2E
+:10062000BB1F261737074807AB07B0E809F0BB0B1D
+:10063000802DBF01FF2793585F4F2AF09E3F510541
+:1006400068F061C0ABC05F3FECF3983EDCF3869589
+:1006500077956795B795F7959F5FC9F7880F911DB7
+:100660009695879597F90895E1E0660F771F881FA3
+:10067000BB1F621773078407BA0720F0621B730B56
+:10068000840BBA0BEE1F88F7E0950895E89409C033
+:1006900097FB3EF490958095709561957F4F8F4FB5
+:1006A0009F4F9923A9F0F92F96E9BB279395F695CB
+:1006B000879577956795B795F111F8CFFAF4BB0F49
+:1006C00011F460FF1BC06F5F7F4F8F4F9F4F16C0AD
+:1006D000882311F096E911C0772321F09EE8872F37
+:1006E000762F05C0662371F096E8862F70E060E0F3
+:1006F0002AF09A95660F771F881FDAF7880F96956C
+:10070000879597F9089597F99F6780E870E060E012
+:1007100008959FEF80EC089500240A94161617069A
+:1007200018060906089500240A94121613061406E2
+:1007300005060895092E0394000C11F4882352F045
+:10074000BB0F40F4BF2B11F460FF04C06F5F7F4FFD
+:100750008F4F9F4F089557FD9058440F551F59F0E4
+:100760005F3F71F04795880F97FB991F61F09F3F9E
+:1007700079F087950895121613061406551FF2CFC7
+:100780004695F1DF08C0161617061806991FF1CF17
+:1007900086957105610508940895E894BB2766273E
+:1007A0007727CB0197F9089566D008F48FEF089565
+:1007B0000BD0C0CFB1DF28F0B6DF18F0952309F0D9
+:1007C000A2CFA7CF1124EACFC6DFA0F3959FD1F324
+:1007D000950F50E0551F629FF001729FBB27F00DEF
+:1007E000B11D639FAA27F00DB11DAA1F649F662744
+:1007F000B00DA11D661F829F2227B00DA11D621F93
+:10080000739FB00DA11D621F839FA00D611D221F4C
+:10081000749F3327A00D611D231F849F600D211D30
+:10082000822F762F6A2F11249F5750408AF0E1F0D3
+:1008300088234AF0EE0FFF1FBB1F661F771F881F1C
+:1008400091505040A9F79E3F510570F05CCFA6CF64
+:100850005F3FECF3983EDCF3869577956795B79507
+:10086000F795E7959F5FC1F7FE2B880F911D969531
+:10087000879597F90895990F0008550FAA0BE0E89E
+:10088000FEEF16161706E807F907C0F01216130652
+:10089000E407F50798F0621B730B840B950B39F492
+:1008A0000A2661F0232B242B252B21F408950A26F8
+:1008B00009F4A140A6958FEF811D811D0895F8943C
+:0208C000FFCF68
+:1008C2000000000000000000000000000000000026
+:1008D2000000000000000000000000000000000016
+:1008E2000000000000000000000000000000A04323
+:1008F200000061440000003F0AD7233C00000000D2
+:080902000000000000000000ED
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold_main.c
new file mode 100644
index 0000000..d484565
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/MDD_pot_threshold_main.c
@@ -0,0 +1,264 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_pot_threshold_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_pot_threshold_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[6];
+ fmi2Boolean fmi2BooleanVars[6];
+ fmi2Real fmi2RealParameter[5];
+ void* extObjs[6];
+} MDD_pot_threshold_fmi2Component;
+
+MDD_pot_threshold_fmi2Component MDD_pot_threshold_component = {
+ .fmi2RealVars = {
+ 0.0 /*adc._y*/,
+ 0.0 /*greater1._u1*/,
+ 0.0 /*greater1._u2*/,
+ 0.0 /*greater2._u1*/,
+ 0.0 /*realExpression1._y*/,
+ 0.0 /*realExpression2._y*/,
+ },
+ .fmi2BooleanVars = {
+ fmi2False /*digitalWriteBoolean1._u*/,
+ fmi2False /*digitalWriteBoolean2._u*/,
+ fmi2False /*digitalWriteBoolean3._u*/,
+ fmi2False /*greaterEqualThreshold1._y*/,
+ fmi2False /*greaterEqualThreshold2._y*/,
+ fmi2False /*greaterEqualThreshold3._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.0 /*greaterEqualThreshold1._threshold*/,
+ 320.0 /*greaterEqualThreshold2._threshold*/,
+ 900.0 /*greaterEqualThreshold3._threshold*/,
+ 0.5 /*realToBoolean1._threshold*/,
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+static const char * const OMCLIT0 = "ElectricPotential";
+static const char * const OMCLIT1 = "V";
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+#include "MDDAVRAnalog.h"
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution)
+{
+ fmi2Real om_value;
+ om_value = MDD_avr_analog_read(om_analogPort, om_vref, om_voltageResolution);
+ return om_value;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage)
+{
+ void* om_avr;
+ om_avr = MDD_avr_analog_init(om_divisionFactor, om_referenceVoltage);
+ return om_avr;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr)
+{
+ MDD_avr_analog_close(om_avr);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_pot_threshold_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_pot_threshold_component;
+}
+
+fmi2Status MDD_pot_threshold_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_pot_threshold_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* adc._analog EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Analog.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(comp, 7, 4);
+ comp->extObjs[3] /* digitalWriteBoolean3._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 4);
+ comp->extObjs[2] /* digitalWriteBoolean2._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 3);
+ comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ comp->extObjs[4] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[5] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[4] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ return fmi2OK;
+}
+
+fmi2Status MDD_pot_threshold_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_pot_threshold_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_pot_threshold_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* adc._y variable */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(comp, 3, 1024.0, 10); /* equation 14 */
+ comp->fmi2BooleanVars[5] /* greaterEqualThreshold3._y DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>=(comp->fmi2RealParameter[2] /* greaterEqualThreshold3._threshold PARAM */); /* equation 15 */
+ comp->fmi2RealVars[2] /* greater1._u2 variable */ = (comp->fmi2BooleanVars[5] /* greaterEqualThreshold3._y DISCRETE */) ? (1.0) : (0.0); /* equation 16 */
+ comp->fmi2BooleanVars[2] /* digitalWriteBoolean3._u DISCRETE */ = (comp->fmi2RealVars[2] /* greater1._u2 variable */)>=(comp->fmi2RealParameter[3] /* realToBoolean1._threshold PARAM */); /* equation 17 */
+ comp->fmi2BooleanVars[4] /* greaterEqualThreshold2._y DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>=(comp->fmi2RealParameter[1] /* greaterEqualThreshold2._threshold PARAM */); /* equation 18 */
+ comp->fmi2RealVars[1] /* greater1._u1 variable */ = (comp->fmi2BooleanVars[4] /* greaterEqualThreshold2._y DISCRETE */) ? (1.0) : (0.0); /* equation 19 */
+ comp->fmi2BooleanVars[1] /* digitalWriteBoolean2._u DISCRETE */ = (comp->fmi2RealVars[1] /* greater1._u1 variable */)>(comp->fmi2RealVars[2] /* greater1._u2 variable */); /* equation 20 */
+ comp->fmi2BooleanVars[3] /* greaterEqualThreshold1._y DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>=(comp->fmi2RealParameter[0] /* greaterEqualThreshold1._threshold PARAM */); /* equation 21 */
+ comp->fmi2RealVars[3] /* greater2._u1 variable */ = (comp->fmi2BooleanVars[3] /* greaterEqualThreshold1._y DISCRETE */) ? (1.0) : (0.0); /* equation 22 */
+ comp->fmi2BooleanVars[0] /* digitalWriteBoolean1._u DISCRETE */ = (comp->fmi2RealVars[3] /* greater2._u1 variable */)>(comp->fmi2RealVars[1] /* greater1._u1 variable */); /* equation 23 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[5] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, comp->fmi2BooleanVars[0] /* digitalWriteBoolean1._u DISCRETE */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[2] /* digitalWriteBoolean2._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 3, comp->fmi2BooleanVars[1] /* digitalWriteBoolean2._u DISCRETE */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[3] /* digitalWriteBoolean3._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 4, comp->fmi2BooleanVars[2] /* digitalWriteBoolean3._u DISCRETE */);
+}
+
+fmi2Status MDD_pot_threshold_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_pot_threshold_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_pot_threshold_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_pot_threshold_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_pot_threshold_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_pot_threshold_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_pot_threshold_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/run_pot_threshold.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/run_pot_threshold.mos
new file mode 100644
index 0000000..843fc0f
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/pot/run_pot_threshold.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_pot.MDD_pot_threshold, fileNamePrefix="MDD_pot_threshold");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button
new file mode 100644
index 0000000..bd67382
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button.hex
new file mode 100644
index 0000000..dc5d712
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button.hex
@@ -0,0 +1,94 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C94FB0072
+:100020000C9451000C9451000C9451000C94CA0093
+:100030000C9451000C9451000C9499000C945100B4
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E6EAF5E002C0EE
+:1000800005900D92A631B107D9F711E0A6E1B1E0D4
+:1000900001C01D92AB31B107E1F70E944C010C94F5
+:1000A000D1020C940000DC0154968D919C915597DF
+:1000B0008230910561F08330910599F00197C9F480
+:1000C00016BC80916E00826080936E0016C0109204
+:1000D00085001092840080916F00826080936F0091
+:1000E0000CC01092B200809170008260809370000A
+:1000F00004C081E090E00E94D10278949FB7F89408
+:10010000809118019FBF8823C9F31092180150965F
+:10011000ED91FC91519718968D919C9119970097AC
+:1001200021F4808182608083089580818D7F808327
+:1001300008951F920F920FB60F9211242F933F93A1
+:100140008F939F9380911601909117010196909340
+:1001500017018093160180911801813091F0209150
+:100160001601309117018091190190911A012817F9
+:10017000390738F081E0809318011092170110922E
+:1001800016019F918F913F912F910F900FBE0F906D
+:100190001F9018951F920F920FB60F9211242F9354
+:1001A0003F938F939F938091160190911701019631
+:1001B000909317018093160180911801813091F07E
+:1001C00020911601309117018091190190911A0127
+:1001D0002817390738F081E0809318011092170131
+:1001E000109216019F918F913F912F910F900FBE0A
+:1001F0000F901F9018951F920F920FB60F92112417
+:100200002F933F938F939F938091160190911701A5
+:100210000196909317018093160180911801813007
+:1002200091F0209116013091170180911901909160
+:100230001A012817390738F081E0809318011092CD
+:100240001701109216019F918F913F912F910F905E
+:100250000FBE0F901F901895FC01249825E230E006
+:100260003787268785B5836085BD41E050E0538B95
+:10027000428B8AE090E090931A018093190184B533
+:10028000826084BD89EF87BD558B448B219A318B69
+:10029000208B80E090E00895CF92DF92EF92FF9262
+:1002A00080E091E00E942C01C12CD12C760160E00D
+:1002B00070E0CB0160930001709301018093020113
+:1002C0009093030180E091E00E9453008FEFC81AE1
+:1002D000D80AE80AF80AC701B6010E94E0012FE631
+:1002E00032E143E05BE30E946E0220E030E0A901CE
+:1002F0000E947C01DFCF5058BB27AA270ED0B4C084
+:10030000A5D030F0AAD020F031F49F3F11F41EF4B4
+:100310009AC00EF4E095E7FB90C0E92FB6D080F3C9
+:10032000BA17620773078407950718F071F49EF5F2
+:10033000CEC00EF4E0950B2EBA2FA02D0B01B90103
+:1003400090010C01CA01A0011124FF27591B99F04B
+:10035000593F50F4503E68F11A16F040A22F232F57
+:10036000342F4427585FF3CF469537952795A795A7
+:10037000F0405395C9F77EF41F16BA0B620B730B4E
+:10038000840BBAF09150A1F0FF0FBB1F661F771FBF
+:10039000881FC2F70EC0BA0F621F731F841F48F474
+:1003A000879577956795B795F7959E3F08F0B3CFFA
+:1003B0009395880F08F09927EE0F979587950895E4
+:1003C000E89409C097FB3EF49095809570956195EF
+:1003D0007F4F8F4F9F4F9923A9F0F92F96E9BB27A5
+:1003E0009395F695879577956795B795F111F8CF21
+:1003F000FAF4BB0F11F460FF1BC06F5F7F4F8F4F8C
+:100400009F4F16C0882311F096E911C0772321F081
+:100410009EE8872F762F05C0662371F096E8862F19
+:1004200070E060E02AF09A95660F771F881FDAF770
+:10043000880F9695879597F9089597F99F6780E8B3
+:1004400070E060E008959FEF80EC089500240A9426
+:100450001616170618060906089500240A9412169F
+:100460001306140605060895092E0394000C11F4D2
+:10047000882352F0BB0F40F4BF2B11F460FF04C07F
+:100480006F5F7F4F8F4F9F4F089557FD9058440FD8
+:10049000551F59F05F3F71F04795880F97FB991FE3
+:1004A00061F09F3F79F087950895121613061406A0
+:1004B000551FF2CF4695F1DF08C01616170618062D
+:1004C000991FF1CF86957105610508940895E89408
+:1004D000BB2766277727CB0197F908950BD0C4CFA8
+:1004E000B5DF28F0BADF18F0952309F0A6CFABCF1F
+:1004F0001124EECFCADFA0F3959FD1F3950F50E002
+:10050000551F629FF001729FBB27F00DB11D639FC5
+:10051000AA27F00DB11DAA1F649F6627B00DA11D6B
+:10052000661F829F2227B00DA11D621F739FB00D11
+:10053000A11D621F839FA00D611D221F749F332781
+:10054000A00D611D231F849F600D211D822F762F1A
+:100550006A2F11249F5750408AF0E1F088234AF017
+:10056000EE0FFF1FBB1F661F771F881F9150504063
+:10057000A9F79E3F510570F060CFAACF5F3FECF323
+:10058000983EDCF3869577956795B795F795E7954F
+:100590009F5FC1F7FE2B880F911D9695879597F960
+:0605A0000895F894FFCF5E
+:1005A600000000000000000000000AD7233C000005
+:0605B6000000000000003F
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button_main.c
new file mode 100644
index 0000000..8deaf13
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/MDD_led_push_button_main.c
@@ -0,0 +1,234 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_led_push_button_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_led_push_button_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Boolean fmi2BooleanVars[3];
+ fmi2Real fmi2RealParameter[1];
+ void* extObjs[4];
+} MDD_led_push_button_fmi2Component;
+
+MDD_led_push_button_fmi2Component MDD_led_push_button_component = {
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ fmi2False /*booleanExpression2._y*/,
+ fmi2False /*digitalReadBoolean1._y*/,
+ },
+ .fmi2RealParameter = {
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+
+static inline fmi2Boolean Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_read(fmi2Component comp, void* om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_destructor(fmi2Component comp, void* om_digital);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Boolean Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_read(fmi2Component comp, void* om_port, fmi2Integer om_pin)
+{
+ fmi2Boolean om_b;
+ om_b = MDD_avr_digital_pin_read(om_port, om_pin);
+ return om_b;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2False);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_led_push_button_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_led_push_button_component;
+}
+
+fmi2Status MDD_led_push_button_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_push_button_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[0] /* digitalReadBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitRead */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitRead_constructor(comp, 2, 5);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 2, 2);
+ return fmi2OK;
+}
+
+fmi2Status MDD_led_push_button_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_led_push_button_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_led_push_button_functionOutputs(fmi2Component comp)
+{
+ Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 2, !(comp->fmi2BooleanVars[2] /* digitalReadBoolean1._y DISCRETE */));
+}
+
+fmi2Status MDD_led_push_button_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_led_push_button_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_led_push_button_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_led_push_button_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_led_push_button_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_led_push_button_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_led_push_button_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/run_led_push_button.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/run_led_push_button.mos
new file mode 100644
index 0000000..3f96cb9
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/run_led_push_button.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_push.MDD_led_push_button, fileNamePrefix="MDD_led_push_button");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/run_led_push_button_status.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/run_led_push_button_status.mos
new file mode 100644
index 0000000..9c12875
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/push/run_led_push_button_status.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_push.MDD_led_push_button_status, fileNamePrefix="MDD_led_push_button_status");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/runMDDAvr.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/runMDDAvr.mos
new file mode 100644
index 0000000..b794222
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/runMDDAvr.mos
@@ -0,0 +1,8 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+translateModel(Modelica_DeviceDrivers.EmbeddedTargets.AVR.Examples.Arduino.UNO.Blink, fileNamePrefix="Blink");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer
new file mode 100644
index 0000000..18920a7
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer.hex b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer.hex
new file mode 100644
index 0000000..7623dfb
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer.hex
@@ -0,0 +1,121 @@
+:100000000C9434000C9451000C9451000C94510049
+:100010000C9451000C9451000C9451000C9431013B
+:100020000C9451000C9451000C9451000C9400015C
+:100030000C9451000C9451000C94CF000C9451007E
+:100040000C9451000C9451000C9451000C945100EC
+:100050000C9451000C9451000C9451000C945100DC
+:100060000C9451000C94510011241FBECFEFD8E026
+:10007000DEBFCDBF11E0A0E0B1E0E4E4F7E002C0F4
+:1000800005900D92A832B107D9F711E0A8E2B1E0CE
+:1000900001C01D92AD32B107E1F70E948B010C94B3
+:1000A000A0030C9400000F931F93CF93DF93EC01F8
+:1000B00080917C00857E846080937C0080917A00B2
+:1000C000806480937A0080917A0086FDFCCF6091F5
+:1000D00078007091790080E090E00E94870220E033
+:1000E00030E040E854E40E94190320E030EC4FE790
+:1000F00054E40E941F026C837D838E839F8301E002
+:1001000010E02A893B894C895D890E94150387FF8D
+:1001100002C000E010E0198B088B8EA19FA18230F5
+:10012000910561F08330910599F00197C9F416BCEF
+:1001300080916E00826080936E0016C010928500E0
+:100140001092840080916F00826080936F000CC0D9
+:100150001092B2008091700082608093700004C0A1
+:1001600081E090E00E94A00378949FB7F89480917A
+:100170002A019FBF8823C9F310922A01EAA1FBA19B
+:1001800088899989892B19F08081886002C08081D3
+:10019000877F8083DF91CF911F910F9108951F92E8
+:1001A0000F920FB60F9211242F933F938F939F932B
+:1001B00080912801909129010196909329018093C3
+:1001C000280180912A01813091F0209128013091FD
+:1001D000290180912B0190912C012817390738F0C3
+:1001E00081E080932A0110922901109228019F91A9
+:1001F0008F913F912F910F900FBE0F901F901895E8
+:100200001F920F920FB60F9211242F933F938F934B
+:100210009F93809128019091290101969093290143
+:100220008093280180912A01813091F0209128014A
+:100230003091290180912B0190912C0128173907C9
+:1002400038F081E080932A01109229011092280150
+:100250009F918F913F912F910F900FBE0F901F9004
+:1002600018951F920F920FB60F9211242F933F9360
+:100270008F939F93809128019091290101969093EB
+:1002800029018093280180912A01813091F02091E9
+:1002900028013091290180912B0190912C01281780
+:1002A000390738F081E080932A01109229011092D9
+:1002B00028019F918F913F912F910F900FBE0F902A
+:1002C0001F901895FC01539A8BE290E093A382A3B0
+:1002D00085B5836085BD21E030E035A324A38AE0A5
+:1002E00090E090932C0180932B0184B5826084BDB3
+:1002F00089EF87BD37A326A3ACE7B0E08C91806C73
+:100300008C93AAE7B0E08C9187688C9311A210A21D
+:1003100080E090E00895CF92DF92EF92FF9280E02C
+:1003200091E00E946201C12CD12C760160E070E066
+:10033000CB016093000170930101809302019093BF
+:10034000030180E091E00E9453008FEFC81AD80AA1
+:10035000E80AF80AC701B6010E9487022FE632E1D7
+:1003600043E05BE30E94190320E030E0A9010E9412
+:10037000BB01DFCF5058BB27AA270ED01CC10DD11F
+:1003800030F012D120F031F49F3F11F41EF402C17D
+:100390000EF4E095E7FBF8C0E92F1ED180F3BA1701
+:1003A000620773078407950718F071F49EF536C14C
+:1003B0000EF4E0950B2EBA2FA02D0B01B901900180
+:1003C0000C01CA01A0011124FF27591B99F0593FC4
+:1003D00050F4503E68F11A16F040A22F232F342F0C
+:1003E0004427585FF3CF469537952795A795F0405A
+:1003F0005395C9F77EF41F16BA0B620B730B840B6F
+:10040000BAF09150A1F0FF0FBB1F661F771F881F26
+:10041000C2F70EC0BA0F621F731F841F48F487957E
+:1004200077956795B795F7959E3F08F0B3CF93956D
+:10043000880F08F09927EE0F9795879508950CD0AF
+:10044000BAC0B2D040F0A9D030F021F45F3F19F02B
+:100450009BC05111E4C09EC0BFD098F39923C9F34B
+:100460005523B1F3951B550BBB27AA2762177307BA
+:10047000840738F09F5F5F4F220F331F441FAA1F6E
+:10048000A9F333D00E2E3AF0E0E830D0915050402E
+:10049000E695001CCAF729D0FE2F27D0660F771FDC
+:1004A000881FBB1F261737074807AB07B0E809F0BE
+:1004B000BB0B802DBF01FF2793585F4F2AF09E3F53
+:1004C000510568F061C0ABC05F3FECF3983EDCF3D0
+:1004D000869577956795B795F7959F5FC9F7880FCC
+:1004E000911D9695879597F90895E1E0660F771F1E
+:1004F000881FBB1F621773078407BA0720F0621BAF
+:10050000730B840BBA0BEE1F88F7E0950895E894FF
+:1005100009C097FB3EF490958095709561957F4F4B
+:100520008F4F9F4F9923A9F0F92F96E9BB279395F9
+:10053000F695879577956795B795F111F8CFFAF409
+:10054000BB0F11F460FF1BC06F5F7F4F8F4F9F4F3A
+:1005500016C0882311F096E911C0772321F09EE898
+:10056000872F762F05C0662371F096E8862F70E0FE
+:1005700060E02AF09A95660F771F881FDAF7880FD8
+:100580009695879597F9089597F99F6780E870E0A9
+:1005900060E008959FEF80EC089500240A941616F9
+:1005A000170618060906089500240A941216130661
+:1005B000140605060895092E0394000C11F48823EF
+:1005C00052F0BB0F40F4BF2B11F460FF04C06F5F0B
+:1005D0007F4F8F4F9F4F089557FD9058440F551FE1
+:1005E00059F05F3F71F04795880F97FB991F61F0B5
+:1005F0009F3F79F087950895121613061406551F2C
+:10060000F2CF4695F1DF08C0161617061806991F97
+:10061000F1CF86957105610508940895E894BB278C
+:1006200066277727CB0197F9089566D008F48FEFF6
+:1006300008950BD0C0CFB1DF28F0B6DF18F09523B6
+:1006400009F0A2CFA7CF1124EACFC6DFA0F3959F70
+:10065000D1F3950F50E0551F629FF001729FBB27A9
+:10066000F00DB11D639FAA27F00DB11DAA1F649F55
+:100670006627B00DA11D661F829F2227B00DA11D08
+:10068000621F739FB00DA11D621F839FA00D611D8E
+:10069000221F749F3327A00D611D231F849F600DAF
+:1006A000211D822F762F6A2F11249F5750408AF0E8
+:1006B000E1F088234AF0EE0FFF1FBB1F661F771F74
+:1006C000881F91505040A9F79E3F510570F05CCFB4
+:1006D000A6CF5F3FECF3983EDCF386957795679560
+:1006E000B795F795E7959F5FC1F7FE2B880F911D92
+:1006F0009695879597F90895990F0008550FAA0BBD
+:10070000E0E8FEEF16161706E807F907C0F0121624
+:100710001306E407F50798F0621B730B840B950B27
+:1007200039F40A2661F0232B242B252B21F408957C
+:100730000A2609F4A140A6958FEF811D811D089519
+:04074000F894FFCF5B
+:1007440000000000000000000000000000000000A5
+:10075400000000002F440AD7233C020001000000DF
+:0807640000000000000000008D
+:00000001FF
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer_main.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer_main.c
new file mode 100644
index 0000000..bd35c9c
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/MDD_therm_buzzer_main.c
@@ -0,0 +1,253 @@
+#define fmi2TypesPlatform_h
+
+#define fmi2TypesPlatform "default" /* Compatible */
+
+typedef struct MDD_therm_buzzer_fmi2Component_s* fmi2Component;
+typedef void* fmi2ComponentEnvironment; /* Pointer to FMU environment */
+typedef void* fmi2FMUstate; /* Pointer to internal FMU state */
+typedef unsigned int fmi2ValueReference;
+typedef double fmi2Real;
+typedef int fmi2Integer;
+typedef int fmi2Boolean;
+typedef char fmi2Char;
+typedef const fmi2Char* fmi2String;
+typedef char fmi2Byte;
+
+#define fmi2True 1
+#define fmi2False 0
+
+#include "fmi2/fmi2Functions.h"
+
+#include <stdint.h>
+#include <stdio.h>
+
+void ModelicaFormatMessage(const char *fmt, ...)
+{
+ va_list args;
+ va_start(args, fmt);
+ vprintf(fmt, args);
+ va_end(args);
+}
+
+typedef struct MDD_therm_buzzer_fmi2Component_s {
+ fmi2Real currentTime;
+ fmi2Real fmi2RealVars[2];
+ fmi2Boolean fmi2BooleanVars[3];
+ fmi2Real fmi2RealParameter[2];
+ fmi2Integer fmi2IntegerParameter[1];
+ fmi2Boolean fmi2BooleanParameter[1];
+ fmi2String fmi2StringParameter[1];
+ void* extObjs[4];
+} MDD_therm_buzzer_fmi2Component;
+
+MDD_therm_buzzer_fmi2Component MDD_therm_buzzer_component = {
+ .fmi2RealVars = {
+ 0.0 /*adc._y*/,
+ 0.0 /*realValue1._number*/,
+ },
+ .fmi2BooleanVars = {
+ fmi2False /*booleanExpression1._y*/,
+ fmi2False /*booleanExpression2._y*/,
+ fmi2False /*digitalWriteBoolean1._u*/,
+ },
+ .fmi2RealParameter = {
+ 700.0 /*greaterEqualThreshold1._threshold*/,
+ 0.01 /*synchronizeRealtime1._actualInterval*/,
+ },
+ .fmi2IntegerParameter = {
+ 2 /*realValue1._significantDigits*/,
+ },
+ .fmi2BooleanParameter = {
+ fmi2True /*realValue1._use_numberPort*/,
+ },
+};
+
+#include <math.h>
+/* TODO: Generate used builtin functions before SimCode */
+static inline double om_mod(double x, double y)
+{
+ return x-floor(x/y)*y;
+}
+
+static const char * const OMCLIT0 = "ElectricPotential";
+static const char * const OMCLIT1 = "V";
+#include "MDDAVRTimer.h"
+#include "MDDAVRRealTime.h"
+#include "MDDAVRDigital.h"
+#include "MDDAVRAnalog.h"
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt);
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch);
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer);
+
+static inline fmi2Real Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(fmi2Component comp, fmi2Integer om_analogPort, fmi2Real om_vref, fmi2Integer om_voltageResolution)
+{
+ fmi2Real om_value;
+ om_value = MDD_avr_analog_read(om_analogPort, om_vref, om_voltageResolution);
+ return om_value;
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(fmi2Component comp, fmi2Integer om_divisionFactor, fmi2Integer om_referenceVoltage)
+{
+ void* om_avr;
+ om_avr = MDD_avr_analog_init(om_divisionFactor, om_referenceVoltage);
+ return om_avr;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_destructor(fmi2Component comp, void* om_avr)
+{
+ MDD_avr_analog_close(om_avr);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(fmi2Component comp, void* om_port, fmi2Integer om_pin, fmi2Boolean om_value)
+{
+ MDD_avr_digital_pin_write(om_port, om_pin, om_value);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(fmi2Component comp, fmi2Integer om_port, fmi2Integer om_pin)
+{
+ void* om_dig;
+ om_dig = MDD_avr_digital_pin_init(om_port, om_pin, fmi2True);
+ return om_dig;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_destructor(fmi2Component comp, void* om_digital)
+{
+ MDD_avr_digital_pin_close(om_digital);
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_wait(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(fmi2Component comp, void* om_timer, fmi2Integer om_timerValue, fmi2Integer om_numTimerInterruptsPerCycle)
+{
+ void* om_rt;
+ om_rt = MDD_avr_rt_init(om_timer, om_timerValue, om_numTimerInterruptsPerCycle);
+ return om_rt;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_destructor(fmi2Component comp, void* om_rt)
+{
+ MDD_avr_rt_close(om_rt);
+}
+static inline void* Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(fmi2Component comp, fmi2Integer om_timerSelect, fmi2Integer om_clockSelect, fmi2Boolean om_clearTimerOnMatch)
+{
+ void* om_timer;
+ om_timer = MDD_avr_timer_init(om_timerSelect, om_clockSelect, om_clearTimerOnMatch);
+ return om_timer;
+}
+static inline void Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_destructor(fmi2Component comp, void* om_timer)
+{
+ MDD_avr_timer_close(om_timer);
+}
+
+fmi2Component MDD_therm_buzzer_fmi2Instantiate(fmi2String name, fmi2Type ty, fmi2String GUID, fmi2String resources, const fmi2CallbackFunctions* functions, fmi2Boolean visible, fmi2Boolean loggingOn)
+{
+ static int initDone=0;
+ if (initDone) {
+ return NULL;
+ }
+ return &MDD_therm_buzzer_component;
+}
+
+fmi2Status MDD_therm_buzzer_fmi2SetupExperiment(fmi2Component comp, fmi2Boolean toleranceDefined, fmi2Real tolerance, fmi2Real startTime, fmi2Boolean stopTimeDefined, fmi2Real stopTime)
+{
+ return fmi2OK;
+}
+
+fmi2Status MDD_therm_buzzer_fmi2EnterInitializationMode(fmi2Component comp)
+{
+ comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_InitWrite_constructor(comp, 4, 4);
+ comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Timers_Timer_constructor(comp, 1, 4, fmi2False);
+ comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_Init_constructor(comp, comp->extObjs[2] /* synchronizeRealtime1._clock EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Timers.Timer */, 249, 10);
+ comp->extObjs[0] /* adc._analog EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Analog.Init */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_Init_constructor(comp, 7, 4);
+ return fmi2OK;
+}
+
+fmi2Status MDD_therm_buzzer_fmi2ExitInitializationMode(fmi2Component comp)
+{
+ return fmi2OK;
+}
+
+static fmi2Status MDD_therm_buzzer_functionODE(fmi2Component comp)
+{
+}
+
+static fmi2Status MDD_therm_buzzer_functionOutputs(fmi2Component comp)
+{
+ comp->fmi2RealVars[0] /* adc._y variable */ = Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Analog_read__voltage(comp, 5, 1024.0, 10); /* equation 7 */
+ comp->fmi2BooleanVars[2] /* digitalWriteBoolean1._u DISCRETE */ = (comp->fmi2RealVars[0] /* adc._y variable */)>=(comp->fmi2RealParameter[0] /* greaterEqualThreshold1._threshold PARAM */); /* equation 8 */Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_RealTimeSynchronization_wait(comp, comp->extObjs[3] /* synchronizeRealtime1._sync EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.RealTimeSynchronization.Init */);Modelica__DeviceDrivers_EmbeddedTargets_AVR_Functions_Digital_write(comp, comp->extObjs[1] /* digitalWriteBoolean1._digital EXTOBJ: Modelica_DeviceDrivers.EmbeddedTargets.AVR.Functions.Digital.InitWrite */, 4, comp->fmi2BooleanVars[2] /* digitalWriteBoolean1._u DISCRETE */);
+}
+
+fmi2Status MDD_therm_buzzer_fmi2DoStep(fmi2Component comp, fmi2Real currentCommunicationPoint, fmi2Real communicationStepSize, fmi2Boolean noSetFMUStatePriorToCurrentPoint)
+{
+ comp->currentTime = currentCommunicationPoint;
+ /* TODO: Calculate time/state-dependent variables here... */
+ MDD_therm_buzzer_functionOutputs(comp);
+ return fmi2OK;
+}
+
+int main(int argc, char **argv)
+{
+ int terminateSimulation = 0;
+ fmi2Status status = fmi2OK;
+ fmi2CallbackFunctions cbf = {
+ .logger = NULL,
+ .allocateMemory = NULL /*calloc*/,
+ .freeMemory = NULL /*free*/,
+ .stepFinished = NULL, //synchronous execution
+ .componentEnvironment = NULL
+ };
+
+ fmi2Component comp = MDD_therm_buzzer_fmi2Instantiate("", fmi2CoSimulation, "", "", &cbf, fmi2False, fmi2False);
+ if (comp==NULL) {
+ return 1;
+ }
+ MDD_therm_buzzer_fmi2SetupExperiment(comp, fmi2False, 0.0, 0.0, fmi2False, 1.0);
+ MDD_therm_buzzer_fmi2EnterInitializationMode(comp);
+ // Set start-values? Nah...
+ MDD_therm_buzzer_fmi2ExitInitializationMode(comp);
+
+ double currentTime = 0.0;
+ double h = 0.002;
+ uint32_t i = 0;
+
+ while (status == fmi2OK) {
+ //retrieve outputs
+ // fmi2GetReal(m, ..., 1, &y1);
+ //set inputs
+ // fmi2SetReal(m, ..., 1, &y2);
+
+ //call slave and check status
+ status = MDD_therm_buzzer_fmi2DoStep(comp, currentTime, h, fmi2True);
+ switch (status) {
+ case fmi2Discard:
+ case fmi2Error:
+ case fmi2Fatal:
+ case fmi2Pending /* Cannot happen */:
+ terminateSimulation = 1;
+ break;
+ case fmi2OK:
+ case fmi2Warning:
+ break;
+ }
+ if (terminateSimulation) {
+ break;
+ }
+ i++;
+ /* increment master time */
+ currentTime = 0.0 + h*i;
+ }
+
+#if 0
+ if ((status != fmi2Error) && (status != fmi2Fatal)) {
+ fmi2Terminate(m);
+ }
+ if (status != fmi2Fatal) {
+ fmi2FreeInstance(m);
+ }
+#endif
+}
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/run_therm_buzzer.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/run_therm_buzzer.mos
new file mode 100644
index 0000000..a510879
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/run_therm_buzzer.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_thermistor.MDD_therm_buzzer, fileNamePrefix="MDD_therm_buzzer");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/run_therm_read.mos b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/run_therm_read.mos
new file mode 100644
index 0000000..6a13955
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/MDD_build/thermistor/run_therm_read.mos
@@ -0,0 +1,11 @@
+loadModel(Modelica);
+getErrorString();
+
+loadFile("D:/Modelica_DeviceDrivers/package.mo");
+getErrorString();
+
+loadFile("D:/Arduino.mo");
+getErrorString();
+
+translateModel(Arduino.SerialCommunication.MDD_Examples.MDD_thermistor.MDD_therm_read, fileNamePrefix="MDD_therm_read");
+getErrorString(); \ No newline at end of file
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Images/Icons/tqfp32.png b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Images/Icons/tqfp32.png
new file mode 100644
index 0000000..f933f6a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Images/Icons/tqfp32.png
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Library/SerialComm.dll b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Library/SerialComm.dll
new file mode 100644
index 0000000..37b83b8
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Library/SerialComm.dll
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Library/SerialComm.o b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Library/SerialComm.o
new file mode 100644
index 0000000..4a0f2c3
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/Library/SerialComm.o
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/include/serial.h b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/include/serial.h
new file mode 100644
index 0000000..4e687d9
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/include/serial.h
@@ -0,0 +1,34 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <time.h>
+#include <Windows.h>
+//prototypes for the functions used in SerialComm.c
+
+__declspec (dllexport) __stdcall int open_serial(int handle, int port, int baudrate);
+__declspec (dllexport) __stdcall int write_serial(int handle, char str[],int size);
+__declspec (dllexport) __stdcall int read_serial(int handle,char buf[],int size);
+__declspec (dllexport) __stdcall int status_serial(int handle,int nb[]);
+__declspec (dllexport) __stdcall int close_serial(int handle);
+__declspec (dllexport) __stdcall int cmd_digital_out(int h,int pin_no,int val);
+__declspec (dllexport) __stdcall int cmd_digital_in(int h,int pin_no);
+__declspec (dllexport) __stdcall void delay(long int t);
+__declspec (dllexport) __stdcall int cmd_analog_out(int h,int pin_no,double val);
+__declspec (dllexport) __stdcall uint16_t cmd_analog_in(int h,int pin_no);
+__declspec (dllexport) __stdcall void cmd_dcmotor_setup(int h,int driver_type,int motor_no,int pin_no_1,int pin_no_2);
+__declspec (dllexport) __stdcall void cmd_dcmotor_run(int h,int motor_no,int u1);
+__declspec (dllexport) __stdcall void cmd_dcmotor_release(int h,int motor_no);
+__declspec (dllexport) __stdcall void cmd_servo_attach(int h,int servo_no);
+__declspec (dllexport) __stdcall void cmd_servo_move(int h,int servo_no,int u1);
+__declspec (dllexport) __stdcall void cmd_servo_detach(int h,int servo_no);
+__declspec (dllexport) __stdcall int mfloor(float num);
+__declspec (dllexport) __stdcall int cmd_analog_out_volt(int h,int pin_no,double val);
+__declspec (dllexport) __stdcall uint16_t cmd_analog_in_volt(int h,int pin_no);
+__declspec (dllexport) __stdcall long int hex2dec(char hexadecimal[]);
+__declspec (dllexport) __stdcall void dec2hex(long int decimalnum,char hexadecimalnum[]);
+__declspec (dllexport) __stdcall double ieeesingle2num(char hexa[]);
+__declspec (dllexport) __stdcall void read_active_power();
+__declspec (dllexport) __stdcall void read_current();
+__declspec (dllexport) __stdcall void read_voltage();
+__declspec (dllexport) __stdcall double read_val(int addr_byte);
+__declspec (dllexport) __stdcall int ascii_c(char c);
+__declspec (dllexport) __stdcall char ascii_n(int num);
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/src/SerialComm.c b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/src/SerialComm.c
new file mode 100644
index 0000000..d7f612a
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/Resources/src/SerialComm.c
@@ -0,0 +1,1021 @@
+/**************************************************
+
+file: main.c
+purpose: serial librairie for Scilab
+
+Alain Caignot
+**************************************************/
+#ifdef NAN
+/* NAN is supported */
+#endif
+#ifdef INFINITY
+/* INFINITY is supported */
+#endif
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <time.h>
+#include <unistd.h>
+#include <errno.h>
+#include <string.h>
+#include <Windows.h>
+#include <fcntl.h>
+#include <math.h>
+#include <ctype.h>
+#include <stdint.h>
+#include "../include/serial.h"
+
+#define abs(x) (x>=0?x:-x)
+#define MAXPORTS 5
+// Static definition to stock HANDLE of Port.
+static HANDLE hport;
+
+// Function to open port COM
+__declspec (dllexport) __stdcall int open_serial(int handle,int port, int baudrate){
+ DCB dcbSerialParams ;
+ DWORD dwBytesWrite = 0;
+ DWORD dwBytesRead = 10;
+ COMMTIMEOUTS timeouts={0};
+
+ char tmp[5]="COM5";
+ itoa(port,&tmp[3],10);
+
+ int OK=0;
+
+
+ hport = CreateFile(tmp,
+ GENERIC_READ | GENERIC_WRITE,
+ 0,//FILE_SHARE_READ | FILE_SHARE_WRITE //to test : recuperation COM port if simulation crashes
+ 0,
+ OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL,
+ 0);
+
+ if(hport==INVALID_HANDLE_VALUE){
+ if(GetLastError()==ERROR_FILE_NOT_FOUND){
+ //serial port does not exist. Inform user.
+ OK = GetLastError();
+ return OK;
+ }
+ //some other error occurred. Inform user.
+ OK = GetLastError();
+ return OK;
+ }
+
+
+
+ dcbSerialParams.DCBlength=sizeof(dcbSerialParams);
+ if (!GetCommState(hport, &dcbSerialParams)) {
+ //error getting state
+ OK = GetLastError();
+ return OK;
+ }
+ dcbSerialParams.BaudRate=baudrate;
+ dcbSerialParams.ByteSize=8;
+ dcbSerialParams.StopBits=ONESTOPBIT;
+ dcbSerialParams.Parity=NOPARITY;
+ if(!SetCommState(hport, &dcbSerialParams)){
+ //error setting serial port state
+ OK = GetLastError();
+ return OK;
+ }
+
+
+ timeouts.ReadIntervalTimeout=50;
+ timeouts.ReadTotalTimeoutConstant=50;
+ timeouts.ReadTotalTimeoutMultiplier=1;
+ timeouts.WriteTotalTimeoutConstant=50;
+ timeouts.WriteTotalTimeoutMultiplier=1;
+ if(!SetCommTimeouts(hport, &timeouts)){
+ //error occureed. Inform user
+ OK = GetLastError();
+ return OK;
+ }
+ Sleep(1000);
+}
+
+//Function to close port COM
+__declspec (dllexport) __stdcall int close_serial(int handle){
+ int res;
+ int OK=0;
+ res=CloseHandle(hport);
+ if (res==0)//error
+ OK = GetLastError();
+ return OK;
+}
+
+//Function to write to the port
+__declspec (dllexport) __stdcall int write_serial(int handle, char str[],int size){
+ DWORD dwBytesWrite = 0;
+ int res;
+ int OK=0;
+ res=WriteFile(hport,str,size,&dwBytesWrite,NULL);
+
+ if (res==0) //error
+ OK = GetLastError();
+
+}
+
+//Function to check status of the port
+__declspec (dllexport) __stdcall int status_serial(int handle, int nb[]){
+ DWORD dwErrorFlags;
+ COMSTAT ComStat;
+ int res;
+
+ int OK=0;
+ res=ClearCommError( hport, &dwErrorFlags, &ComStat );
+ if (res==0) {//error
+ OK = GetLastError();
+ return OK;
+ }
+ nb[0] = 2;
+ nb[1] = 2;
+ OK=0;
+ //printf("Getting status.....\n");
+ return OK;
+}
+
+//Function to read from the port
+__declspec (dllexport) __stdcall int read_serial(int handle,char buf[],int size){
+ DWORD dwBytesRead = 0;
+ int res;
+ res=ReadFile(hport, buf, size, &dwBytesRead, NULL);
+ return res;
+
+}
+//Function to provide delay
+__declspec (dllexport) __stdcall void delay(long int t)
+{
+ Sleep(abs(t));
+ return ;
+}
+
+//digital output
+__declspec (dllexport) __stdcall int cmd_digital_out(int h,int pin_no,int val)
+{
+ int wr=2;
+ char pin[6]="Da";
+ char v[2],temp[2];
+ sprintf(temp,"%c",pin_no+48);
+ strcat(pin,temp);
+ strcat(pin,"1");
+ //printf("%s",pin);
+ wr=write_serial(h,pin,4);
+ if (val > 0.5)
+ val = 1;
+ else
+ val = 0;
+
+ sprintf(v,"%d",val);
+ strcpy(pin,"Dw");
+ strcat(pin,temp);
+ strcat(pin,v);
+ //printf("%s",pin);
+ wr=write_serial(h,pin,4);
+ return wr;
+}
+
+//digital input
+__declspec (dllexport) __stdcall int cmd_digital_in(int h,int pin_no)
+{
+ int value = 0;
+ char pin[6]="Da";
+ char v1[2],v2[2];
+ int wr1, wr2;
+ sprintf(v1,"%c",pin_no+48);
+ strcat(pin,v1);
+ strcat(pin,"0");
+ //printf("%s\n",pin);
+ wr1=write_serial(h,pin,4);
+
+ strcpy(pin,"Dr");
+ sprintf(v2,"%c",pin_no+48);
+ strcat(pin,v2);
+ wr2=write_serial(1,pin,3);
+ //binary transfer
+ int stat;
+ int num_bytes[2];
+ char st[10];
+ stat=status_serial(h,num_bytes);
+ while(num_bytes[0]<1)
+ stat=status_serial(h,num_bytes);
+ char* temp;
+ int wr=read_serial(h,st,1);
+ value=strtod(st,&temp);
+ //printf("%d\n",value);
+ return value;
+}
+//Analog input
+__declspec (dllexport) __stdcall uint16_t cmd_analog_in(int h,int pin_no)
+{
+ char pin[5],v1[2];
+ int stat;
+ int read[3];
+ sprintf(v1,"%c",pin_no+48);
+ strcpy(pin,"A");
+ strcat(pin,v1);
+ int wr=write_serial(h,pin,2);
+ stat=status_serial(h,read);
+ while (read[0] < 2)
+ stat=status_serial(h,read);
+ char values[5];
+ int a_rd=read_serial(h,values,2);
+ values[2]='\0';
+ //printf("%s\n",values);
+ int l=strlen(values);
+ uint8_t temp[l+1];
+ //int temp[l];
+ int i;
+ for (i = 0; i < l; ++i)
+ {
+ temp[i]=(uint8_t)values[i];
+ }
+ //printf("%u %u\n",temp[0],temp[1]);
+ uint16_t result=(uint16_t)(256*temp[1]+temp[0]);
+ //printf("%d\n",result);
+ return result;
+}
+
+//Analog output
+__declspec (dllexport) __stdcall int cmd_analog_out(int h,int pin_no,double val)
+{
+ char v1[2],v2[2];
+ if(val > 255)
+ val = 255;
+ else if(val < 0)
+ val = 0;
+ //printf("%f\n",val);
+ char code_sent[10];
+ strcpy(code_sent,"W");
+ sprintf(v1,"%c",pin_no+48);
+ sprintf(v2,"%c",abs(ceil(val)));
+ strcat(code_sent,v1);
+ strcat(code_sent,v2);
+ //printf("%s\n",code_sent);
+ return write_serial(h,code_sent,3);
+
+}
+
+//Servo Attach
+__declspec (dllexport) __stdcall void cmd_servo_attach(int h,int servo_no)
+{
+ char pin[5];
+ int wr;
+ printf("init servo write");
+ if(servo_no==1)//servo 1 on pin 9
+ {
+ strcpy(pin,"Sa1");
+ wr=write_serial(h,pin,3);
+ }
+ else if(servo_no==2)//servo 2 on pin 10
+ {
+ strcpy(pin,"Sa2");
+ wr=write_serial(h,pin,3);
+ }
+ else
+ perror("Error.");
+}
+
+//Servo Move
+__declspec (dllexport) __stdcall void cmd_servo_move(int h,int servo_no,int u1)
+{
+ int wr;
+ char servo[2];
+ char v[2];
+ char pin[5]="Sw";
+ if (u1<0)
+ {
+ sprintf(servo,"%c",48+servo_no);
+ sprintf(v,"%c",0);
+ strcat(pin,servo);
+ strcat(pin,v);
+ //pin="Sw"+ascii(48+servo_no)+ascii(0);
+ }
+ else if(u1>180)
+ {
+ sprintf(servo,"%c",48+servo_no);
+ sprintf(v,"%c",180);
+ strcat(pin,servo);
+ strcat(pin,v);
+ } //pin="Sw"+ascii(48+servo_no)+ascii(180);
+ else
+ {
+ sprintf(servo,"%c",48+servo_no);
+ sprintf(v,"%c",(uint8_t)u1);
+ strcat(pin,servo);
+ strcat(pin,v);
+ } //pin="Sw"+ascii(48+servo_no)+ascii(uint8(u1));
+ wr=write_serial(1,pin,4);
+}
+
+//Servo Detach
+__declspec (dllexport) __stdcall void cmd_servo_detach(int h,int servo_no)
+{
+ int wr;
+ char pin[5]="Sd";
+ if(servo_no==1) //servo 1 on pin 10
+ {
+ strcat(pin,"1");
+ //pin="Sd1"
+ wr=write_serial(h,pin,3);
+ }
+ else if(servo_no==2) //servo 2 on pin 9
+ {
+ strcat(pin,"2");
+ //pin="Sd2"
+ wr=write_serial(h,pin,3);
+ }
+ else
+ perror("Error.");
+
+}
+//Calculating floor odf a number
+__declspec (dllexport) __stdcall int mfloor(float num)
+{
+ int n = floor(num) ;
+ return n;
+}
+//DC Motor setup
+__declspec (dllexport) __stdcall void cmd_dcmotor_setup(int h,int driver_type,int motor_no,int pin_no_1,int pin_no_2)
+{
+ printf("init DCmotor\n");
+ char code_sent[10]="C";
+ int wr;
+ char v1[2],v2[2],motor[2];
+ if(driver_type==1)
+ {
+ sprintf(v1,"%c",pin_no_1+48);
+ sprintf(v2,"%c",pin_no_2+48);
+ sprintf(motor,"%c",motor_no+48);
+ strcat(code_sent,motor);
+ strcat(code_sent,v1);
+ strcat(code_sent,v2);
+ strcat(code_sent,"1");
+ }
+ //code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"1"; //adafruit
+ else if(driver_type==2)
+ {
+ sprintf(v1,"%c",pin_no_1+48);
+ sprintf(v2,"%c",pin_no_2+48);
+ sprintf(motor,"%c",motor_no+48);
+ strcat(code_sent,motor);
+ strcat(code_sent,v1);
+ strcat(code_sent,v2);
+ strcat(code_sent,"1");
+ }
+ //code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"1"; //code pour initialiser L298
+ else if(driver_type==3)
+ {
+ sprintf(v1,"%c",pin_no_1+48);
+ sprintf(v2,"%c",pin_no_2+48);
+ sprintf(motor,"%c",motor_no+48);
+ strcat(code_sent,motor);
+ strcat(code_sent,v1);
+ strcat(code_sent,v2);
+ strcat(code_sent,"0");
+
+ }
+ // code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"0"; //code pour initialiser L293
+ //printf("%s\n",code_sent);
+ wr=write_serial(h,code_sent,5);
+
+ int stat;
+ int num_bytes[2];
+ //Attente que l'arduino reponde OK
+ stat=status_serial(1,num_bytes);
+ while (num_bytes[0] < 2)
+ stat=status_serial(1,num_bytes);
+ char values[5];
+ int dcm_rd=read_serial(1,values,2);
+ //printf("%d\n",dcm_rd );
+ //printf("%s\n",values );
+ if (dcm_rd == 0)
+ printf("Init motor successful\n");
+ else
+ printf("Init motor unsuccessful\n");
+}
+
+//DC Motor run
+__declspec (dllexport) __stdcall void cmd_dcmotor_run(int h,int motor_no,int u1)
+{
+ char code_dir[2];
+ char code_sent[10]="M";
+ char motor[2];
+ int val;
+ char v[2];
+ if(u1>=0)
+ sprintf(code_dir,"%c",49);
+ //code_dir=ascii(49);
+ else
+ sprintf(code_dir,"%c",48);
+ //code_dir=ascii(48);
+ if(abs(u1)>255)
+ val=255;
+ else
+ val=abs(ceil(u1));
+ //printf("%d\n",val);
+ sprintf(motor,"%c",motor_no+48);
+ sprintf(v,"%c",val);
+ strcat(code_sent,motor);
+ strcat(code_sent,code_dir);
+ strcat(code_sent,v);
+ //printf("%s\n",code_sent);
+ //code_sent="M"+ascii(48+motor_no)+code_dir+ascii(val);
+ int wr=write_serial(h,code_sent,4);
+}
+
+//DC Motor release
+__declspec (dllexport) __stdcall void cmd_dcmotor_release(int h,int motor_no)
+{
+ char code_sent[6]="M";
+ char motor[2];
+ char v[2];
+ sprintf(motor,"%c",motor_no+48);
+ sprintf(v,"%c",0);
+ strcat(code_sent,motor);
+ strcat(code_sent,"1");
+ strcat(code_sent,v);
+ //code_sent="M"+ascii(48+motor_no)+"1"+ascii(0);
+ //printf("%s\n",code_sent);
+ int wr=write_serial(h,code_sent,4);
+ strcpy(code_sent,"M");
+ strcat(code_sent,motor);
+ strcat(code_sent,"r");
+ //printf("%s\n",code_sent);
+ //code_sent="M"+ascii(48+motor_no)+"r";
+ wr=write_serial(h,code_sent,3);
+}
+
+//***********************************MODBUS***********************************************************//
+
+__declspec (dllexport) __stdcall long int hex2dec(char hexadecimal[])
+{
+ long int decimalNumber=0;
+ char hexDigits[16] = {'0', '1', '2', '3', '4', '5', '6', '7', '8',
+ '9', 'A', 'B', 'C', 'D', 'E', 'F'};
+ int i, j, power=0;
+
+ //Converting hexadecimal number to decimal number
+ for(i=strlen(hexadecimal)-1; i >= 0; i--) {
+ // search currect character in hexDigits array
+ if(isalpha(hexadecimal[i]))
+ hexadecimal[i]=toupper(hexadecimal[i]);
+ for(j=0; j<16; j++){
+ if(hexadecimal[i] == hexDigits[j]){
+ decimalNumber += j*pow(16, power);
+ }
+ }
+ power++;
+ }
+ return decimalNumber;
+}
+
+__declspec (dllexport) __stdcall void dec2hex(long int decimalnum,char hexadecimalnum[])
+{
+ long quotient, remainder;
+ int j = 1;
+ quotient = decimalnum;
+
+ while (quotient != 0)
+ {
+ remainder = quotient % 16;
+ if (remainder < 10)
+ hexadecimalnum[j--] = 48 + remainder;
+ else
+ hexadecimalnum[j--] = 55 + remainder;
+ quotient = quotient / 16;
+ }
+ hexadecimalnum[2]='\0';
+
+}
+
+__declspec (dllexport) __stdcall double ieeesingle2num(char hexa[])
+{
+ long int x=hex2dec(hexa);
+ long int k =(long int)pow(2,31); //pow2(31);
+ int s = (x >= k);
+ if (s)
+ x = x - k;
+ //t = pow2(x,-23);
+ double t = x*pow(2,-23);
+ long int e = floor(t);
+ double f = t - e;
+ double y;
+ if (e == 255)
+ if(f == 0)
+ y = INFINITY;
+ else
+ y = NAN;
+ else if(e > 0)
+ y = (1+f)*pow(2,e-127);
+ //y = (1+f).*2.^(e-127);
+
+ else
+ y = f*pow(2,-126);
+ //y = f.*2.^-126;
+ if (s)
+ y = -y;
+ return y;
+}
+
+__declspec (dllexport) __stdcall char ascii_n(int num)
+{
+ return (char)num;
+}
+
+__declspec (dllexport) __stdcall int ascii_c(char c)
+{
+ return (uint8_t)c;
+}
+
+
+__declspec (dllexport) __stdcall void read_voltage()
+{
+ int h=open_serial(1,2,9600);
+
+ //printf("Serial port opened ...");//debug
+
+ char arr[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(86),ascii_n(00),ascii_n(2),ascii_n(39),ascii_n(15),'\0'};
+
+ //printf("%s\n",arr);//debug
+
+ int x,wr,rd;
+ char buf[12];
+ for(x=0;x<5;x++)
+ {
+ wr=write_serial(1,arr,8);
+ rd = read_serial(1,buf,11);
+ Sleep(500);
+ }
+ buf[11]='\0';
+
+ //printf("%s\n",buf );//debug
+
+ int b1=0,b2=0,b3=0,b4=0;
+ int myresult[12];
+ int i;
+ for (i = 0; i < 11; ++i)
+ {
+ myresult[i]=ascii_c(buf[i]);
+ //printf("%d",myresult[i]);//debug
+ }
+
+ //printf("%d %d %d %d\n",myresult[4],myresult[5],myresult[6],myresult[7]);//debug
+
+ int a1=myresult[4];
+ if (a1<16)
+ {
+ b1=1;
+ }
+ char v1[3];
+ dec2hex(a1,v1);
+ if (b1)
+ {
+ sprintf(v1,"0%s",v1);
+ }
+ else
+ {
+ sprintf(v1,"%s",v1);
+ }
+ int a2=myresult[5];
+ if (a2<16)
+ {
+ b2=1;
+ }
+ char v2[3];
+ dec2hex(a2,v2);
+ if (b2)
+ {
+ sprintf(v2,"0%s",v2);
+ }
+ else
+ {
+ sprintf(v2,"%s",v2);
+ }
+ int a3=myresult[6];
+ if (a3<16)
+ {
+ b3=1;
+ }
+ char v3[3];
+ dec2hex(a3,v3);
+ if (b3)
+ {
+ sprintf(v3,"0%s",v3);
+ }
+ else
+ {
+ sprintf(v3,"%s",v3);
+ }
+ int a4=myresult[7];
+ if (a4<16)
+ {
+ b4=1;
+ }
+ char v4[3];
+ dec2hex(a4,v4);
+ if (b4)
+ {
+ sprintf(v4,"0%s",v4);
+ }
+ else
+ {
+ sprintf(v4,"%s",v4);
+ }
+ char a6[20]="";
+ strcat(a6,v3);
+ strcat(a6,v4);
+ strcat(a6,v1);
+ strcat(a6,v2);
+ a6[8]='\0';
+
+ //printf("%s",a6);//debug
+
+ int cl=close_serial(1);
+ double p=ieeesingle2num(a6);
+ printf("Voltage(in V)=%f\n",p);
+}
+
+
+__declspec (dllexport) __stdcall void read_current()
+{
+ int h=open_serial(1,2,9600);
+ char arr[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(88),ascii_n(00),ascii_n(2),ascii_n(70),ascii_n(204),'\0'};
+
+ //printf("%s\n",arr);//debug
+
+ int x,wr,rd;
+ char buf[12];
+ for(x=0;x<5;x++)
+ {
+ wr=write_serial(1,arr,8);
+ rd = read_serial(1,buf,11);
+ Sleep(500);
+ }
+ buf[11]='\0';
+
+ //printf("%s\n",buf );//debug
+
+ int b1=0,b2=0,b3=0,b4=0;
+ int myresult[12];
+ int i;
+ for (i = 0; i < 11; ++i)
+ {
+ myresult[i]=ascii_c(buf[i]);
+ //printf("%d",myresult[i]);//debug
+ }
+
+ //printf("%d %d %d %d\n",myresult[4],myresult[5],myresult[6],myresult[7]);//debug
+
+ int a1=myresult[4];
+ if (a1<16)
+ {
+ b1=1;
+ }
+ char v1[3];
+ dec2hex(a1,v1);
+ if (b1)
+ {
+ sprintf(v1,"0%s",v1);
+ }
+ else
+ {
+ sprintf(v1,"%s",v1);
+ }
+ int a2=myresult[5];
+ if (a2<16)
+ {
+ b2=1;
+ }
+ char v2[3];
+ dec2hex(a2,v2);
+ if (b2)
+ {
+ sprintf(v2,"0%s",v2);
+ }
+ else
+ {
+ sprintf(v2,"%s",v2);
+ }
+ int a3=myresult[6];
+ if (a3<16)
+ {
+ b3=1;
+ }
+ char v3[3];
+ dec2hex(a3,v3);
+ if (b3)
+ {
+ sprintf(v3,"0%s",v3);
+ }
+ else
+ {
+ sprintf(v3,"%s",v3);
+ }
+ int a4=myresult[7];
+ if (a4<16)
+ {
+ b4=1;
+ }
+ char v4[3];
+ dec2hex(a4,v4);
+ if (b4)
+ {
+ sprintf(v4,"0%s",v4);
+ }
+ else
+ {
+ sprintf(v4,"%s",v4);
+ }
+ char a6[20]="";
+ strcat(a6,v3);
+ strcat(a6,v4);
+ strcat(a6,v1);
+ strcat(a6,v2);
+ a6[8]='\0';
+
+ //printf("%s",a6);//debug
+
+ int cl=close_serial(1);
+ double p=ieeesingle2num(a6);
+ printf("Current(in A)=%f\n",p);
+}
+
+__declspec (dllexport) __stdcall void read_active_power()
+{
+ int h=open_serial(1,2,9600);
+ char arr[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(78),ascii_n(00),ascii_n(2),ascii_n(167),ascii_n(8),'\0'};
+
+ //printf("%s\n",arr);//debug
+
+ int x,wr,rd;
+ char buf[12];
+ for(x=0;x<5;x++)
+ {
+ wr=write_serial(1,arr,8);
+ rd = read_serial(1,buf,11);
+ Sleep(500);
+ }
+ buf[11]='\0';
+
+ //printf("%s\n",buf );//debug
+
+ int b1=0,b2=0,b3=0,b4=0;
+ int myresult[12];
+ int i;
+ for (i = 0; i < 11; ++i)
+ {
+ myresult[i]=ascii_c(buf[i]);
+ //printf("%d",myresult[i]);//debug
+ }
+
+ //printf("%d %d %d %d\n",myresult[4],myresult[5],myresult[6],myresult[7]);//debug
+
+ int a1=myresult[4];
+ if (a1<16)
+ {
+ b1=1;
+ }
+ char v1[3];
+ dec2hex(a1,v1);
+ if (b1)
+ {
+ sprintf(v1,"0%s",v1);
+ }
+ else
+ {
+ sprintf(v1,"%s",v1);
+ }
+ int a2=myresult[5];
+ if (a2<16)
+ {
+ b2=1;
+ }
+ char v2[3];
+ dec2hex(a2,v2);
+ if (b2)
+ {
+ sprintf(v2,"0%s",v2);
+ }
+ else
+ {
+ sprintf(v2,"%s",v2);
+ }
+ int a3=myresult[6];
+ if (a3<16)
+ {
+ b3=1;
+ }
+ char v3[3];
+ dec2hex(a3,v3);
+ if (b3)
+ {
+ sprintf(v3,"0%s",v3);
+ }
+ else
+ {
+ sprintf(v3,"%s",v3);
+ }
+ int a4=myresult[7];
+ if (a4<16)
+ {
+ b4=1;
+ }
+ char v4[3];
+ dec2hex(a4,v4);
+ if (b4)
+ {
+ sprintf(v4,"0%s",v4);
+ }
+ else
+ {
+ sprintf(v4,"%s",v4);
+ }
+ char a6[20]="";
+ strcat(a6,v3);
+ strcat(a6,v4);
+ strcat(a6,v1);
+ strcat(a6,v2);
+ a6[8]='\0';
+
+ //printf("%s",a6);//debug
+
+ int cl=close_serial(1);
+ double p=ieeesingle2num(a6);
+ printf("Active Power(in W)=%f\n",p);
+}
+
+__declspec (dllexport) __stdcall double read_val(int addr_byte)
+{
+ int h=open_serial(1,2,9600);
+ char* arr;
+ if(addr_byte==86)
+ {
+ char code[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(86),ascii_n(00),ascii_n(2),ascii_n(39),ascii_n(15),'\0'};
+ arr = code;
+ printf("Voltage(in V)=");
+ }
+ else if(addr_byte==88)
+ {
+ char code[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(88),ascii_n(00),ascii_n(2),ascii_n(70),ascii_n(204),'\0'};
+ arr =code;
+ printf("Current(in A)=");
+ }
+ else if(addr_byte==78)
+ {
+ char code[9]={ascii_n(1),ascii_n(3),ascii_n(15),ascii_n(78),ascii_n(00),ascii_n(2),ascii_n(167),ascii_n(8),'\0'};
+ arr = code;
+ printf("Active Power(in W)=");
+ }
+
+ int x,wr,rd;
+ char buf[12];
+ for(x=0;x<5;x++)
+ {
+ wr=write_serial(1,arr,8);
+ rd = read_serial(1,buf,11);
+ Sleep(500);
+ }
+ buf[11]='\0';
+
+ //printf("%s\n",buf );//debug
+
+ int b1=0,b2=0,b3=0,b4=0;
+ int myresult[12];
+ int i;
+ for (i = 0; i < 11; ++i)
+ {
+ myresult[i]=ascii_c(buf[i]);
+ //printf("%d",myresult[i]);//debug
+ }
+
+ //printf("%d %d %d %d\n",myresult[4],myresult[5],myresult[6],myresult[7]);//debug
+
+ int a1=myresult[4];
+ if (a1<16)
+ {
+ b1=1;
+ }
+ char v1[3];
+ dec2hex(a1,v1);
+ if (b1)
+ {
+ sprintf(v1,"0%s",v1);
+ }
+ else
+ {
+ sprintf(v1,"%s",v1);
+ }
+ int a2=myresult[5];
+ if (a2<16)
+ {
+ b2=1;
+ }
+ char v2[3];
+ dec2hex(a2,v2);
+ if (b2)
+ {
+ sprintf(v2,"0%s",v2);
+ }
+ else
+ {
+ sprintf(v2,"%s",v2);
+ }
+ int a3=myresult[6];
+ if (a3<16)
+ {
+ b3=1;
+ }
+ char v3[3];
+ dec2hex(a3,v3);
+ if (b3)
+ {
+ sprintf(v3,"0%s",v3);
+ }
+ else
+ {
+ sprintf(v3,"%s",v3);
+ }
+ int a4=myresult[7];
+ if (a4<16)
+ {
+ b4=1;
+ }
+ char v4[3];
+ dec2hex(a4,v4);
+ if (b4)
+ {
+ sprintf(v4,"0%s",v4);
+ }
+ else
+ {
+ sprintf(v4,"%s",v4);
+ }
+ char a6[20]="";
+ strcat(a6,v3);
+ strcat(a6,v4);
+ strcat(a6,v1);
+ strcat(a6,v2);
+ a6[8]='\0';
+
+ //printf("%s",a6);//debug
+
+ int cl=close_serial(1);
+ double p=ieeesingle2num(a6);
+ printf("%f\n",p);
+ return p;
+}
+
+//Analog reading in volts
+__declspec (dllexport) __stdcall uint16_t cmd_analog_in_volt(int h,int pin_no)
+{
+ char pin[5],v1[2];
+ int stat;
+ int read[3];
+ sprintf(v1,"%c",pin_no+48);
+ strcpy(pin,"A");
+ strcat(pin,v1);
+ int wr=write_serial(h,pin,2);
+ stat=status_serial(h,read);
+ //printf("Read:%d\n",read[0] );
+ while (read[0] < 2)
+ stat=status_serial(h,read);
+ char values[5];
+ int a_rd=read_serial(h,values,2);
+ values[2]='\0';
+ //printf("%s\n",values);
+ int l=strlen(values);
+ //printf("%d\n",l );
+ uint8_t temp[l+1];
+ int i;
+ for (i = 0; i < l; ++i)
+ {
+ temp[i]=(uint8_t)(values[i]);
+ }
+ //printf("%u %u\n",temp[0],temp[1]);
+ uint16_t result=(uint16_t)(256*temp[1]+temp[0]);
+ result/=1023;
+ //printf("%u\n",result);
+ return result;
+}
+
+__declspec (dllexport) __stdcall int cmd_analog_out_volt(int h,int pin_no,double val)
+{
+ char v1[2],v2[2];
+ if(val > 5)
+ val = 5;
+ else if(val < 0)
+ val = 0;
+ val=val*255/5;
+ //printf("%f\n",val);
+ char code_sent[10];
+ strcpy(code_sent,"W");
+ sprintf(v1,"%c",pin_no+48);
+ sprintf(v2,"%c",abs(ceil(val)));
+ strcat(code_sent,v1);
+ strcat(code_sent,v2);
+ //printf("%s\n",code_sent);
+ return write_serial(h,code_sent,3);
+
+}
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/SerialComm.dll b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/SerialComm.dll
new file mode 100644
index 0000000..37b83b8
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/SerialComm.dll
Binary files differ
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/testfirmware.mo b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/testfirmware.mo
new file mode 100644
index 0000000..d34c111
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/testfirmware.mo
@@ -0,0 +1,12 @@
+model testfirmware "test serial communication with Arduino"
+import sComm=Arduino.SerialCommunication.Functions;
+Integer h(fixed=false);
+Integer w(fixed=false);
+Integer r(fixed=false);
+Integer c(fixed=false);
+algorithm
+ h := sComm.open_serial(1,2,9600);
+ w := sComm.write_serial(1, "v", 1);
+ r := sComm.read_serial(1,2);
+ c := sComm.close_serial(1);
+end testfirmware;
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/tools/arduino-firmware/arduino-firmware.ino b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/tools/arduino-firmware/arduino-firmware.ino
new file mode 100644
index 0000000..8d10650
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/OpenModelica-Arduino-MDD-Windows/tools/arduino-firmware/arduino-firmware.ino
@@ -0,0 +1,795 @@
+
+ /* This file is meant to be used with the SCILAB arduino
+ toolbox, however, it can be used from the IDE environment
+ (or any other serial terminal) by typing commands like:
+
+ Conversion ascii -> number
+ 48->'0' ... 57->'9' 58->':' 59->';' 60->'<' 61->'=' 62->'>' 63->'?' 64->'@'
+ 65->'A' ... 90->'Z' 91->'[' 92->'\' 93->']' 94->'^' 95->'_' 96->'`'
+ 97->'a' ... 122->'z'
+
+ Dan0 or Dan1 : attach digital pin n (ascii from 2 to b) to input (0) or output (1)
+ Drn : read digital value (0 or 1) on pin n (ascii from 2 to b)
+ Dwn0 or Dwn1 : write 1 or 0 on pin n
+ An : reads analog pin n (ascii from 0 to 19)
+ Wnm : write analog value m (ascii from 0 to 255) on pin n (ascii from 0 to 19)
+ Sa1 or Sa2 : Attach servo 1 (digital pin 9) or 2 (digital pin 10)
+ Sw1n or Sw2n : moves servo 1 or servo 2 to position n (from ascii(0) to ascii(180))
+ Sd1 or Sd2 : Detach servo 1 or 2
+
+ Generic DC_Motor
+ Cijkl : setup for generic DCmotor number i (1 to 4), PW1 on pin number j, PWM2 or direction on pin number k, mode=l
+ l=0 for L293 (2 PWM) and l=1 for L298 (1PWM + 1 bit for direction)
+ Mijk : sets speed for generic DCmotor number i, j=0/1 for direction, k=ascii(0) .. ascii(255)
+ Mir : releases motor i (r=release)
+
+ Generic Interrupt counter
+ Iai : activate counter on INT number i (i=ascii(2 or 3 or 18 or 19 or 20 or 21)
+ Iri : release counter on INT number i
+ Ipi : read counter on INT number i
+ Izi : reset counter on INT number i
+
+ Generic Encoder
+ Eajkl: activate encoder on channelA on INT number j (j=ascii(2 or 3 or 18 or 19 or 20 or 21) et channelB on pin k or INT number k (k=ascii(0)..ascii(53))
+ and l=1 or 2 or 4 for 1x mode (count every rising of chA) or 2x mode (count every change statement of chA)
+ or 4x mode (every change statement of chA et chB)
+ Eri : release encoder on INTi
+ Epi : read position of encoder on INTi
+ Ezi : reset value of encoder on INTi position
+
+ R0 : sets analog reference to DEFAULT
+ R1 : sets analog reference to INTERNAL
+ R2 : sets analog reference to EXTERNAL
+
+ */
+
+#include <Servo.h>
+
+/* define internal for the MEGA as 1.1V (as as for the 328) */
+#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
+#define INTERNAL INTERNAL1V1
+#endif
+
+/* create and initialize servos */
+Servo servo1;
+Servo servo2;
+
+/* Generic motors */
+int dcm1_pin1,dcm1_pin2,dcm1_mode;
+int dcm2_pin1,dcm2_pin2,dcm2_mode;
+int dcm3_pin1,dcm3_pin2,dcm3_mode;
+int dcm4_pin1,dcm4_pin2,dcm4_mode;
+
+// Generic encoder
+/* Encoders initialisation */
+// volatile declare as those variables will change in interrupts
+volatile long int encoder_0_position = 0,encoder_1_position = 0, encoder_2_position = 0, encoder_3_position = 0, encoder_4_position = 0, encoder_5_position = 0;
+int encoder_0_int2 ; // Pin used for encoder0 chanel B : define from scilab
+int encoder_1_int2 ; // Pin used for encoder1 chanel B : define from scilab
+int encoder_2_int2 ; // Pin used for encoder2 chanel B : define from scilab
+int encoder_3_int2 ; // Pin used for encoder3 chanel B : define from scilab
+int encoder_4_int2 ; // Pin used for encoder4 chanel B : define from scilab
+int encoder_5_int2 ; // Pin used for encoder5 chanel B : define from scilab
+int encoder_num, encoder_int2;
+int corresp[6]={2,3,21,20,19,18}; //Correspondance beetween interrupt number and pin number
+
+//Generic counter
+volatile long int counter_0=0,counter_1=0,counter_2=0,counter_3=0,counter_4=0,counter_5=0;
+
+int initiat=1;
+
+void setup() {
+ /* initialize serial */
+ Serial.begin(115200);
+
+}
+void loop() {
+
+
+
+ /* variables declaration and initialization */
+
+ static int s = -1; /* state */
+ static int pin = 13; /* generic pin number */
+ static int dcm = 4; /* generic dc motor number */
+
+ int val = 0; /* generic value read from serial */
+ int agv = 0; /* generic analog value */
+ int dgv = 0; /* generic digital value */
+ static int enc = 1; /* encoder number 1 (or 2 for Arduino mega) */
+
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read();
+
+ //Checking for availability of firmware
+ if(val==118)
+ {
+ delay(10);
+ Serial.write("ok");
+ }
+
+// if (val==0){// version
+// Serial.print('v3');
+// val=-1;
+// }
+ //case A -> Analog
+ else if (val==65){//A -> Analog read
+ while (Serial.available()==0) {}; // Waiting char
+// val=Serial.read();
+// if (val==114){ //'r'-> read pin
+// while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>47 && val<67) { //from pin 0, to pin 19
+ pin=val-48; //number of the pin
+ agv=analogRead(pin);
+ //Serial.println(agv);
+ Serial.write((uint8_t*)&agv,2); /* send binary value via serial */
+ }
+ val=-1;
+ }
+ else if (val==87){//W -> Analog write
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>47 && val<67) { //from pin 0 to pin 19
+ pin=val-48; //number of the pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ analogWrite(pin,val);
+ }
+ val=-1;
+ }
+ //}
+
+ //case D -> Digital
+ else if (val==68){//D -> Digital pins
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97){ //'a'-> declare pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48;
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==48 || val==49) {
+ if (val==48){//'0' -> input
+ pinMode(pin,INPUT);
+ }
+ else if (val==49){//'1' -> output
+ pinMode(pin,OUTPUT);
+ }
+ }
+ }
+ }
+ if (val==114){ //'r'-> read pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48; //number of the digital pin
+ dgv=digitalRead(pin);
+// Serial.println(dgv);
+ Serial.print(dgv);
+ }
+ }
+ if (val==119){ //'w'-> write pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48; //number of the digital pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==48 || val==49) { // 0 or 1
+ dgv=val-48;
+ digitalWrite(pin,dgv);
+// Serial.println(dgv);
+ }
+ }
+ }
+ val=-1;
+
+ }
+ //case S -> servomotor
+ else if (val==83){
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97){ //'a'-> declare servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ if (pin==1) {
+ servo1.attach(9);
+ servo1.write(0);
+// agv=servo1.read();
+// Serial.println(agv);
+ }
+ if (pin==2) {
+ servo2.attach(10);
+ servo2.write(0);
+// agv=servo2.read();
+// Serial.println(agv);
+ }
+
+ }
+ }
+ if (val==100){ //'d'-> detach servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ if (pin==1) {servo1.detach(); }
+ if (pin==2) {servo2.detach(); }
+ }
+ }
+ if (val==119){ //'w'-> write pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>=0 && val<=180){
+ if (pin==1) {
+ servo1.write(val);
+// agv=servo1.read();
+// Serial.println(agv);
+ }
+ if (pin==2) {
+ servo2.write(val);
+// agv=servo2.read();
+// Serial.println(agv);
+ }
+ }
+ }
+ }
+ val=-1;
+
+ }
+
+ //case I -> Interrupt
+ else if (val==73){
+ /* ASKING ACTIVATION OF AN COUNTER */
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97) { //a = activation
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read(); // Read int_number (must be 0 or 1 on UNO / 1 to 5 on MEGA) : int_number set to encoder number
+ pinMode(corresp[val],INPUT); // set interrupt pin as input
+ if (val == 0) {attachInterrupt(val, counter_0_change, RISING);counter_0=0;} //counter INT0
+ else if (val == 1) {attachInterrupt(val, counter_1_change, RISING);counter_1=0;} //counter INT1
+ else if (val == 2) {attachInterrupt(val, counter_2_change, RISING);counter_2=0;} //counter INT2
+ else if (val == 3) {attachInterrupt(val, counter_3_change, RISING);counter_3=0;} //counter INT3
+ else if (val == 4) {attachInterrupt(val, counter_4_change, RISING);counter_4=0;} //counter INT4
+ else if (val == 5) {attachInterrupt(val, counter_5_change, RISING);counter_5=0;} //counter INT5
+ }
+ /* ASKING POSITION OF A COUNTER */
+ if (val==112) { //p = sending counting value
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read() ; //reading next value = counter number
+ if (val==0){ Serial.write((uint8_t*)&counter_0,4); }// asking counter 0
+ else if (val==1){ Serial.write((uint8_t*)&counter_1,4); }// asking counter 1
+ else if (val==2){ Serial.write((uint8_t*)&counter_2,4); }// asking counter 2
+ else if (val==3){ Serial.write((uint8_t*)&counter_3,4); }// asking counter 3
+ else if (val==4){ Serial.write((uint8_t*)&counter_4,4); }// asking counter 4
+ else if (val==5){ Serial.write((uint8_t*)&counter_5,4); }// asking counter 5
+ }
+ /* ASKING RELEASE OF AN INTERRUPT */
+ if (val==114) { //r = release counter
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = counter number
+ detachInterrupt(val); // Detach interrupt on chanel A of counter num=val
+ if (val==0) { counter_0=0;} // Reset counter
+ else if (val==1) { counter_1=0;} // Reset counter
+ else if (val==2) { counter_2=0;} // Reset counter
+ else if (val==3) { counter_3=0;} // Reset counter
+ else if (val==4) { counter_4=0;} // Reset counter
+ else if (val==5) { counter_5=0;} // Reset counter
+ }
+ /* ASKING RESET VALUE OF AN COUNTER */
+ if (val==122) { //z set to zero
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = counter number
+ if (val==0) { counter_0=0;} // Reset counter
+ else if (val==1) { counter_1=0;} // Reset counter
+ else if (val==2) { counter_2=0;} // Reset counter
+ else if (val==3) { counter_3=0;} // Reset counter
+ else if (val==4) { counter_4=0;} // Reset counter
+ else if (val==5) { counter_5=0;} // Reset counter
+ }
+ val=-1;
+
+ }
+
+ //case E -> Encoder
+ else if (val==69){
+ /*Generic encoder functions */
+ while (Serial.available()==0) {};
+ val=Serial.read();
+ /* ASKING ACTIVATION OF AN ENCODER */
+ if (val==97) { //activation
+ while (Serial.available()==0) {}; // Waiting char
+ encoder_num=Serial.read(); // Read int_number (must be 0 or 1 on UNO / 1 to 5 on MEGA) : int_number set to encoer number
+ pinMode(corresp[encoder_num],INPUT); // set interrupt pin as input
+ while (Serial.available()==0) {}; // Waiting char
+ encoder_int2=Serial.read(); // Read int2 (must be a digital PIN with interrupt or not : depends on mode)
+ // no declaration for the moment : wait for encoder mode
+ while (Serial.available()==0) {}; // Waiting char
+ int mode = Serial.read()-48; // Read mode 1 ou 2 (1 counting only rising of chA, 2 counting rising and falling)
+ if (mode == 4) { // mode 4x : 2 cases : chA=pin2 / chB=pin3 or chA=pin3/chB=pin2 [Uno retriction]
+ pinMode(corresp[encoder_int2],INPUT); // set interrupt number as input
+ } else {
+ pinMode(encoder_int2,INPUT); // set pin as input
+ }
+
+ if (encoder_num == 0) { //encoder INT0
+ encoder_0_position=0; // Reset position
+ if (mode==4) {
+ encoder_0_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A0, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B0, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_0_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_0_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_0_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_0_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 1) { //encoder INT1
+ encoder_1_position=0; // Reset position
+ if (mode==4) {
+ encoder_1_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A1, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B1, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_1_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_1_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_1_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_1_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 2) { //encoder INT2
+ encoder_2_position=0; // Reset position
+ if (mode==4) {
+ encoder_2_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A2, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B2, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_2_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_2_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_2_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_2_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 3) { //encoder INT3
+ encoder_3_position=0; // Reset position
+ if (mode==4) {
+ encoder_3_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A3, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B3, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_3_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_3_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_3_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_3_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 4) { //encoder INT4
+ encoder_4_position=0; // Reset position
+ if (mode==4) {
+ encoder_4_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A4, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B4, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_4_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_4_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_4_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_4_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 5) { //encoder INT5
+ encoder_5_position=0; // Reset position
+ if (mode==4) {
+ encoder_5_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A5, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B5, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_5_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_5_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_5_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_5_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ }
+ }
+ /* ASKING POSITION OF AN ENCODER */
+ if (val==112) { //p = sending encoder position
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read() ; //reading next value = encoder number
+ if (val==0){ Serial.write((uint8_t*)&encoder_0_position,4); }// asking encoder 0 position
+ else if (val==1){ Serial.write((uint8_t*)&encoder_1_position,4); }// asking encoder 1 position
+ else if (val==2){ Serial.write((uint8_t*)&encoder_2_position,4); }// asking encoder 2 position
+ else if (val==3){ Serial.write((uint8_t*)&encoder_3_position,4); }// asking encoder 3 position
+ else if (val==4){ Serial.write((uint8_t*)&encoder_4_position,4); }// asking encoder 4 position
+ else if (val==5){ Serial.write((uint8_t*)&encoder_5_position,4); }// asking encoder 5 position
+ }
+ /* ASKING RELEASE OF AN ENCODER */
+ if (val==114) { //r = release encoder
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = encoder number
+ detachInterrupt(val); // Detach interrupt on chanel A of encoder num=val
+ if (val==0) { encoder_0_position=0;encoder_0_int2=-1;} // Reset position
+ else if (val==1) { encoder_1_position=0;encoder_1_int2=-1;} // Reset position
+ else if (val==2) { encoder_2_position=0;encoder_2_int2=-1;} // Reset position
+ else if (val==3) { encoder_3_position=0;encoder_3_int2=-1;} // Reset position
+ else if (val==4) { encoder_4_position=0;encoder_4_int2=-1;} // Reset position
+ else if (val==5) { encoder_5_position=0;encoder_5_int2=-1;} // Reset position
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); // reading next value = encoder number
+ detachInterrupt(val); // Detach interrupt on chanel B of encoder num=val (may be the same if mode=1 or 2)
+ }
+ /* ASKING RESET POSITION OF AN ENCODER */
+ if (val==122) { // z = encoder position to zero
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = encoder number
+ if (val==0) { encoder_0_position=0;} // Reset position
+ else if (val==1) { encoder_1_position=0;} // Reset position
+ else if (val==2) { encoder_2_position=0;} // Reset position
+ else if (val==3) { encoder_3_position=0;} // Reset position
+ else if (val==4) { encoder_4_position=0;} // Reset position
+ else if (val==5) { encoder_5_position=0;} // Reset position
+ }
+ val=-1;
+
+ }
+
+ //case C -> DCmotor init
+ else if(val==67){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* 2nd char = motor number */
+ if (val>48 && val<53) {
+ dcm=val-48;
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the third received value indicates the pin1 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>49 && val<102) {
+ if (dcm==1) dcm1_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==2) dcm2_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==3) dcm3_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==4) dcm4_pin1=val-48;/* calculate motor pin1 */
+ pinMode(val-48, OUTPUT); //set pin as output
+ analogWrite(val-48,0); /* DUTY CYCLE */
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the fourth received value indicates the pin2 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>49 && val<102) {
+ if (dcm==1) dcm1_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==2) dcm2_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==3) dcm3_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==4) dcm4_pin2=val-48;/* calculate motor pin2 */
+ pinMode(val-48, OUTPUT); //set pin as output
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the fifth received value indicates the pin2 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>47 && val<50) {
+ int mode = val-48;
+ if (dcm==1) dcm1_mode=mode;/* calculate motor mode */
+ if (dcm==2) dcm2_mode=mode;/* calculate motor mode */
+ if (dcm==3) dcm3_mode=mode;/* calculate motor mode */
+ if (dcm==4) dcm4_mode=mode;/* calculate motor mode */
+ //initialization of port
+ if(mode==0){//L293
+ if (dcm==1) analogWrite(dcm1_pin2,0); /* DUTY CYCLE */
+ if (dcm==2) analogWrite(dcm2_pin2,0); /* DUTY CYCLE */
+ if (dcm==3) analogWrite(dcm3_pin2,0); /* DUTY CYCLE */
+ if (dcm==4) analogWrite(dcm4_pin2,0); /* DUTY CYCLE */
+ } else if (mode==1) {//L297
+ if (dcm==1) digitalWrite(dcm1_pin2, LOW); /* DIRECTION */
+ if (dcm==2) digitalWrite(dcm2_pin2, LOW); /* DIRECTION */
+ if (dcm==3) digitalWrite(dcm3_pin2, LOW); /* DIRECTION */
+ if (dcm==4) digitalWrite(dcm4_pin2, LOW); /* DIRECTION */
+ }
+ Serial.print("OK"); // tell Scilab that motor s initialization finished
+ // Cette commande sert à rien dans la toolbox de base,
+ // sauf si on prévoit d'ajouter des actions à l'init des moteurs
+ // par exemple chercher la position d'origine !
+ }
+ }
+ }
+ }
+ val=-1;
+
+ }
+
+ //case M -> DC motor
+ else if(val==77){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the second received value indicates the motor number
+ from abs('1')=49, motor1, to abs('4')=52, motor4 */
+ if (val>48 && val<53) {
+ dcm=val-48; /* calculate motor number */
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read();
+ /* the third received value indicates the sens direction or release*/
+ if (val==48 || val ==49){
+ int direction=val-48;
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = 0..255
+ if (dcm==1){
+ if(dcm1_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm1_pin1,val);
+ analogWrite(dcm1_pin2,0);
+ } else {
+ analogWrite(dcm1_pin2,val);
+ analogWrite(dcm1_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm1_pin2,LOW);
+ if (direction==1) digitalWrite(dcm1_pin2,HIGH);
+ analogWrite(dcm1_pin1,val);
+ }
+ }
+ if (dcm==2){
+ if(dcm2_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm2_pin1,val);
+ analogWrite(dcm2_pin2,0);
+ } else {
+ analogWrite(dcm2_pin2,val);
+ analogWrite(dcm2_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm2_pin2,LOW);
+ if (direction==1) digitalWrite(dcm2_pin2,HIGH);
+ analogWrite(dcm2_pin1,val);
+ }
+ }
+ if (dcm==3){
+ if(dcm3_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm3_pin1,val);
+ analogWrite(dcm3_pin2,0);
+ } else {
+ analogWrite(dcm3_pin2,val);
+ analogWrite(dcm3_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm3_pin2,LOW);
+ if (direction==1) digitalWrite(dcm3_pin2,HIGH);
+ analogWrite(dcm3_pin1,val);
+ }
+ }
+ if (dcm==4){
+ if(dcm4_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm4_pin1,val);
+ analogWrite(dcm4_pin2,0);
+ } else {
+ analogWrite(dcm4_pin2,val);
+ analogWrite(dcm4_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm4_pin2,LOW);
+ if (direction==1) digitalWrite(dcm4_pin2,HIGH);
+ analogWrite(dcm4_pin1,val);
+ }
+ }
+ }
+ if (val==114){//release motor
+ if(dcm==1) {
+ analogWrite(dcm1_pin1,0);
+ if(dcm1_mode==0) analogWrite(dcm1_pin2,0);
+ }
+ if(dcm==2) {
+ analogWrite(dcm2_pin1,0);
+ if(dcm2_mode==0) analogWrite(dcm2_pin2,0);
+ }
+ if(dcm==3) {
+ analogWrite(dcm3_pin1,0);
+ if(dcm3_mode==0) analogWrite(dcm3_pin2,0);
+ }
+ if(dcm==4) {
+ analogWrite(dcm4_pin1,0);
+ if(dcm4_mode==0) analogWrite(dcm4_pin2,0);
+ }
+ }
+
+ }
+ val=-1;
+
+ }
+
+
+ //case R -> Analog reference
+ if(val==82){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ if (val==48) analogReference(DEFAULT);
+ if (val==49) analogReference(INTERNAL);
+ if (val==50) analogReference(EXTERNAL);
+ if (val==51) Serial.print("v3");
+ val=-1;
+ }
+
+} /* end loop statement */
+
+
+/**************************************/
+// Generic interrupt encoder functions//
+/**************************************/
+//Encoder on INT0
+void encoder_0_change_m1() { //encoder0 mode 1x
+ int chB=digitalRead(encoder_0_int2);
+ if (!chB) { encoder_0_position++;}
+ else { encoder_0_position--; }
+}
+void encoder_0_change_m2() { //encoder0 mode 2x
+ int chB=digitalRead(encoder_0_int2);
+ int chA=digitalRead(corresp[0]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+void encoder_change_m4_A0(){//encoder0 mode 4x chA
+ int chA=digitalRead(corresp[0]);
+ int chB=digitalRead(encoder_0_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+void encoder_change_m4_B0(){//encoder0 mode 4x chB
+ int chA=digitalRead(corresp[0]);
+ int chB=digitalRead(encoder_0_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+//Encoder on INT1
+void encoder_1_change_m1() { //encoder1 mode 1x
+ int chB=digitalRead(encoder_1_int2);
+ if (!chB) { encoder_1_position++;}
+ else { encoder_1_position--; }
+}
+void encoder_1_change_m2() { //encoder1 mode 2x
+ int chB=digitalRead(encoder_1_int2);
+ int chA=digitalRead(corresp[1]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+void encoder_change_m4_A1(){//encoder1 mode 4x chA
+ int chA=digitalRead(corresp[1]);
+ int chB=digitalRead(encoder_1_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+void encoder_change_m4_B1(){//encoder1 mode 4x chB
+ int chA=digitalRead(corresp[1]);
+ int chB=digitalRead(encoder_1_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+//Encoder on INT2
+void encoder_2_change_m1() { //encoder2 mode 1x
+ int chB=digitalRead(encoder_2_int2);
+ if (!chB) { encoder_2_position++;}
+ else { encoder_2_position--; }
+}
+void encoder_2_change_m2() { //encoder2 mode 2x
+ int chB=digitalRead(encoder_2_int2);
+ int chA=digitalRead(corresp[2]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+void encoder_change_m4_A2(){//encoder2 mode 4x chA
+ int chA=digitalRead(corresp[2]);
+ int chB=digitalRead(encoder_2_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+void encoder_change_m4_B2(){//encoder2 mode 4x chB
+ int chA=digitalRead(corresp[2]);
+ int chB=digitalRead(encoder_2_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+//Encoder on INT3
+void encoder_3_change_m1() { //encoder3 mode 1x
+ int chB=digitalRead(encoder_3_int2);
+ if (!chB) { encoder_3_position++;}
+ else { encoder_3_position--; }
+}
+void encoder_3_change_m2() { //encoder3 mode 2x
+ int chB=digitalRead(encoder_3_int2);
+ int chA=digitalRead(corresp[3]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+void encoder_change_m4_A3(){//encoder3 mode 4x chA
+ int chA=digitalRead(corresp[3]);
+ int chB=digitalRead(encoder_3_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+void encoder_change_m4_B3(){//encoder3 mode 4x chB
+ int chA=digitalRead(corresp[3]);
+ int chB=digitalRead(encoder_3_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+//Encoder on INT4
+void encoder_4_change_m1() { //encoder4 mode 1x
+ int chB=digitalRead(encoder_4_int2);
+ if (!chB) { encoder_4_position++;}
+ else { encoder_4_position--; }
+}
+void encoder_4_change_m2() { //encoder4 mode 2x
+ int chB=digitalRead(encoder_4_int2);
+ int chA=digitalRead(corresp[4]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+void encoder_change_m4_A4(){//encoder4 mode 4x chA
+ int chA=digitalRead(corresp[4]);
+ int chB=digitalRead(encoder_4_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+void encoder_change_m4_B4(){//encoder4 mode 4x chB
+ int chA=digitalRead(corresp[4]);
+ int chB=digitalRead(encoder_4_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+//Encoder on INT5
+void encoder_5_change_m1() { //encoder5 mode 1x
+ int chB=digitalRead(encoder_5_int2);
+ if (!chB) { encoder_5_position++;}
+ else { encoder_5_position--; }
+}
+void encoder_5_change_m2() { //encoder5 mode 2x
+ int chB=digitalRead(encoder_5_int2);
+ int chA=digitalRead(corresp[5]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+void encoder_change_m4_A5(){//encoder5 mode 4x chA
+ int chA=digitalRead(corresp[5]);
+ int chB=digitalRead(encoder_5_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+void encoder_change_m4_B5(){//encoder5 mode 4x chB
+ int chA=digitalRead(corresp[5]);
+ int chB=digitalRead(encoder_5_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+
+/**************************************/
+// Generic interrupt counter functions//
+/**************************************/
+//Counter on INT0
+void counter_0_change() { //counter 0
+ counter_0++;
+}
+//Counter on INT1
+void counter_1_change() { //counter 1
+ counter_1++;
+}
+//Counter on INT2
+void counter_2_change() { //counter 2
+ counter_2++;
+}
+//Counter on INT3
+void counter_3_change() { //counter 3
+ counter_3++;
+}
+//Counter on INT4
+void counter_4_change() { //counter 4
+ counter_4++;
+}
+//Counter on INT5
+void counter_5_change() { //counter 5
+ counter_5++;
+}
+
+
diff --git a/OpenModelica_Arduino_With_MDD_Windows-master/README.md b/OpenModelica_Arduino_With_MDD_Windows-master/README.md
new file mode 100644
index 0000000..82c77ef
--- /dev/null
+++ b/OpenModelica_Arduino_With_MDD_Windows-master/README.md
@@ -0,0 +1,61 @@
+# OpenModelica_Arduino_With_MDD on Windows Platform
+
+Embedded Experiments with OpenModelica and Arduino with facility for Embedded C code generation.
+
+Free & Open Source library based on OpenModelica to perform Embedded Experiments with Arduino. Also, there is a facility to generate Embedded C code by using Modelica_DeviceDriver models.
+
+Library description
+
+The library is an open source Modelica package for real-time simulation of circuit designs involving Arduino platforms based on AVR Atmega328P MCUs.
+
+# Main features:
+
+Support for Windows.
+(Soft) real-time synchronization of a simulation.
+
+Please note that the library is known to work with
+
+OpenModelica (partial support starting with OpenModelica v1.11.0, e.g.serial port).
+
+Prerequisites
+
+OpenModelica (>= v1.11.0) (https://www.openmodelica.org/download/download-windows)
+Modelica_DeviceDrivers (v1.5.1) (https://github.com/modelica/Modelica_DeviceDrivers/releases/tag/v1.5.1)
+
+Compile and Install
+
+Compile: Navigate to Library directory under Resources and to compile a source file named filename.c execute the following command
+
+$ gcc –c –Wall –fPIC ../src/filename.c
+
+To make a shared object file named libSerialComm.so execute the following
+
+$ gcc –shared –fPIC *.o -o libSerialComm.so
+
+Install and Run: Launch OMEdit and load the package Modelica_DeviceDrivers. Also, load the OpenModelica-Arduino package present in Arduino.mo file. Load the Arduino platform with the arduino_firmware.ino code.Create any model using the package and simulate.
+
+Running Test Firmware
+
+Test the package using test firmware provided.
+
+Load the Arduino platform with the arduino_firmware.ino code.
+Load the test model present in testfirmware.mo file along with Arduino.mo file in OpenModelica.
+Simulate the model.If no error occurs,the package is good to go.
+
+Running MDD Models
+
+See the AVR package documentation under Modelica_DeviceDrivers -> EmbeddedTargets -> AVR in OMEdit before running the MDD examples.
+
+To run a Modelica_DeviceDrivers Blink example, navigate to MDD_build/Blink directory and execute the following command
+
+Running Manually: Executing Blink example within Modelica_DeviceDrivers EmbeddedTargets Package:- Put the runMDDAvr.mos file in a (build) directory and execute following commands on the command line:
+
+$ omc --simCodeTarget=ExperimentalEmbeddedC runMDDAvr.mos $ avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections Blink_main.c -o Blink -I /path_to_MDD/Modelica_DeviceDrivers/Resources/Include -I /usr/include/omc/c $ avr-objcopy -O ihex -R .eeprom Blink Blink.hex $ avrdude -F -V -c arduino -p ATMEGA328P -P /dev/ttyACM0 -b 115200 -U flash:w:Blink.hex
+
+For further information: Visit https://build.openmodelica.org/Documentation/Modelica_DeviceDrivers.html. Development and contribution
+
+# Main developers:
+
+Manas Ranjan Das, FOSSSEE, IIT-Bombay
+
+Contributions in shape of [Pull Requests] are always welcome.
diff --git a/Python3-Arduino-master/.gitignore b/Python3-Arduino-master/.gitignore
new file mode 100644
index 0000000..e645833
--- /dev/null
+++ b/Python3-Arduino-master/.gitignore
@@ -0,0 +1,2 @@
+*~
+*.pyc \ No newline at end of file
diff --git a/Python3-Arduino-master/Arduino/Arduino.py b/Python3-Arduino-master/Arduino/Arduino.py
new file mode 100644
index 0000000..eb27562
--- /dev/null
+++ b/Python3-Arduino-master/Arduino/Arduino.py
@@ -0,0 +1,327 @@
+
+import sys
+import serial
+from serial import Serial
+from serial.tools.list_ports import comports
+from time import sleep
+
+p1=0 #Initial Position of servo motor
+p2=0 #Final Position of servo motor
+
+a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+class Initialization:
+ def __init__(self):
+ pass
+
+ def locateport(self):
+ if sys.platform.startswith('win'):
+ port =''
+ ports = list(comports())
+ for i in ports:
+ for j in i:
+ if 'Arduino' in j:
+ port = i[0]
+ elif sys.platform.startswith('linux'):
+ b=[]
+ port =''
+ ports = list(comports())
+ for i in range(len(ports)):
+ for x in range(7):
+ portname="/dev/ttyACM"+str(x)
+ if ports[i][0]==portname:
+ b.append(ports[i][0])
+ port=b[0]
+ return port
+
+ def open_serial(self,ard_no, PortNo,baudrate):
+ #global ser
+ if PortNo =='':
+ sys.exit("aa..error..! arduino not found")
+ else:
+ self.ser = Serial(PortNo,baudrate)
+ sleep(2)
+ self.checkfirmware()
+
+ def close_serial(self):
+ #global ser
+ self.ser.close()
+
+ def checkfirmware(self):
+ print ("Check Firm Ware")
+ #global ser
+ self.ser.write(bytes([118])) #chr(118)
+ try:
+ x=self.ser.read()
+ #print(x)
+ #x=self.ser.read()
+ #print(x)
+ if x==b'o':
+ try:
+ x=self.ser.read()
+ except:
+ sys.exit("aa..! error..! it seems correct firmware not loaded")
+ else:
+ sys.exit("aa..! error..! it seems correct firmware not loaded")
+ except:
+ sys.exit("aa..! error..! it seems correct firmware not loaded")
+
+
+class Arduino(Initialization):
+ def __init__(self):
+ print ("Init Arduino")
+ #self.baudrate=0
+ #self.ard_no=1
+ #self.PortNo=0
+ #self.pin=0
+ #self.val=0
+ #self.mode=0
+ #self.mno=0
+ #self.pin1=0
+ #self.pin2=0
+ #self.servo=0
+
+
+
+ def cmd_digital_out(self,ard_no,pin,val):
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="D"+"a"+a[pin]+"1"
+ self.ser.write(cmd.encode('utf-8'))
+ cmd=""
+ cmd="D"+"w"+a[pin]+str(val)
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_digital_in(self,ard_no,pin):
+ b=[]
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="D"+"a"+a[pin]+"0"
+ self.ser.write(cmd.encode('utf-8'))
+ cmd=""
+ cmd="D"+"r"+a[pin]
+ self.ser.write(cmd.encode('utf-8'))
+ a=self.ser.read()
+ return(a)
+
+ def cmd_analog_in(self,ard_no,pin):
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="A"+a[pin]
+ self.ser.write(cmd.encode('utf-8'))
+ analog_times=[];
+ b1=ord(self.ser.read(1))
+ b2=ord(self.ser.read(1))
+ a=b1+b2*256
+ #a=ser.read()
+ return(a)
+ #return(int((1023-0)*int(ord(a))/(255-0)))
+
+
+ def cmd_analog_out(self,ard_no, pin, val):
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd = "W" + a[pin] + chr(val)
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_dcmotor_setup(self,ard_no,mode,mno,pin1,pin2):
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="C"+a[mno]+a[pin1]+a[pin2]+a[mode]
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_dcmotor_run(self,ard_no,mno,val):
+ cmd=""
+ if(val <0):
+ dirc=0
+ else:
+ dirc=1
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="M"+a[mno]+a[dirc]+chr(abs(val))
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_dcmotor_release(self,ard_no,mno):
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="M"+a[mno]+"r"
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_servo_attach(self,ard_no,servo): #1->pin=9 #2->pin=10
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="S"+"a"+a[servo]
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_servo_detach(self,ard_no,servo): #1->pin=9 #2->pin=10
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="S"+"d"+a[servo]
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_servo_move(self,ard_no,servo,angle): #1->pin=9 #2->pin=10
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="S"+"w"+a[servo]+chr(angle)
+ self.ser.write(cmd.encode('utf-8'))
+
+
+
+
+#For PISO shift register
+ def cmd_shift_in(self,dataPin,clockPin,ledPin,clockLed):
+ value=[0 for _ in range(0,8)]
+ #print value
+ value2=[value for _ in range(0,8)]
+ #print value2
+ for i in range(0,8):
+ so= self.cmd_digital_in(1,dataPin) #Reads serial out of IC
+ print (so)
+ if so=='1':
+ self.cmd_digital_out(1,ledPin,1)
+ sleep(0.1)
+ else:
+ self.cmd_digital_out(1,ledPin,0)
+ sleep(0.1)
+ value2[i][i]=int(so)
+ #performs value=value|value2[i]
+ for j in range(0,8):
+ if value[j]==1 or value2[i][j]==1:
+ value[j]=1
+ else:
+ value[j]=0
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockLed,1)
+ sleep(0.5)
+ self.cmd_digital_out(1,clockPin,0)
+ self.cmd_digital_out(1,clockLed,0) #clockLED: Led indicating clock pulses
+ sleep(0.4)
+ #after every clock pulse, 1 right shift occurs for every bit
+ #thus after 8 clock pulses, the entire parallel input is shifted out,
+ #and obtained at the dataPin, one bit per clock pulse
+ #Thus we get the bit by bit serial output of the Parallel Load
+ print (value)
+
+
+
+
+#For PISO shift register
+#shift in for n bits
+ def cmd_shift_in_n(self,dataPin,clockPin,ledPin,clockLed,numBits):
+ n=numBits #no. of bits
+ value=[0 for _ in range(0,n)] #a list of n elements, all 0s, to store the n bits of the inputs together
+ value2=[value for _ in range(0,n)] #a list of lists, analogous to nxn array of all 0s
+ for i in range(0,n): #n iterations since n bit input is given
+ so=self.cmd_digital_in(1,dataPin)
+ if so=='1':
+ self.cmd_digital_out(1,ledPin,1)
+ sleep(0.1)
+ else:
+ self.cmd_digital_out(1,ledPin,0)
+ sleep(0.1)
+ value2[i][i]=int(so)
+ #performs value=value|value2[i]
+ for j in range(0,n):
+ if value[j]==1 or value2[i][j]==1:
+ value[j]=1
+ else:
+ value[j]=0
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockLed,1)
+ sleep(0.5)
+ self.cmd_digital_out(1,clockPin,0)
+ self.cmd_digital_out(1,clockLed,0) #clockLED: Led indicating clock pulses
+ sleep(0.4)
+ print (value)
+
+
+
+
+
+#For SIPO shift register
+ def cmd_shift_out(self,dataPin,clockPin,bitOrder,val):
+ val2=0
+ mat=[]
+ if bitOrder=='MSBFIRST':
+ #to create identity matrix
+ for i in range(0,8):
+ matsub=[0 for _ in range(0,8)]
+ matsub[i]=1
+ mat.append(matsub)
+ else:
+ #to create horizontally flipped identity matrix
+ for i in range(0,8):
+ matsub=[0 for _ in range(0,8)]
+ matsub[7-i]=1
+ mat.append(matsub)
+ for i in range(0,8):
+ #performs & operation on corresponding elements of list
+ for x,y in zip(val,mat[i]):
+ if x==1 and y==1:
+ val2=1
+ break
+ else:
+ val2=0
+ self.cmd_digital_out(1,dataPin,val2)
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockPin,0)
+
+
+
+#For SIPO shift register
+ def cmd_shift_out_(self,dataPin,clockPin,inPin):
+ print ("Give serial input: ")
+ sleep(0.25)
+ self.cmd_digital_out(1,dataPin,self.cmd_digital_in(1,inPin)) #if inPin is HIGH,
+ #i.e. if input is given, write HIGH on Serial In Pin of IC
+ print("Serial input stored: ")
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockPin,0) #One clock pulse
+ sleep(0.15)
+
+
+
+
+
+#For SIPO shift register
+#shift out for n bits
+ def cmd_shift_out_n(self,dataPin,clockPin,bitOrder,val,numBits):
+ n=int(numBits) #number of bits
+ if (n%8)==0:
+ p=n
+ else:
+ p=(8*(n/8))+8
+ val1=[0 for _ in range(0,n)] #output matrix.
+ #If all elements of the matrix are 0,
+ #output pinstate will be 0 (i.e LOW).
+ #If 1 or more elements of the matrix is 1,
+ #output pinstate will be 1 (i.e HIGH)
+ val2=0
+ mat=[]
+ if bitOrder=='MSBFIRST':
+ for i in range(0,n):
+ matsub=[0 for _ in range(0,n)]
+ matsub[i]=1
+ mat.append(matsub)
+ else:
+ for i in range(0,n):
+ matsub=[0 for _ in range(0,n)]
+ matsub[(n-1)-i]=1
+ mat.append(matsub)
+ for j in range(0,(p-n)): #do nothing for the first (p-n) clock pulses
+ self.cmd_digital_out(1,dataPin,0)
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockPin,0)
+ for i in range(0,n): #shift for last n clock pulses
+ #to perform val & mat[i]
+ for x,y in zip(val,mat[i]):
+ if x==1 and y==1:
+ val2=1
+ break
+ else:
+ val2=0
+ print (val2,)
+ self.cmd_digital_out(1,dataPin,val2)
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockPin,0)
+
+
+
+
diff --git a/Python3-Arduino-master/Arduino/__init__.py b/Python3-Arduino-master/Arduino/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Python3-Arduino-master/Arduino/__init__.py
diff --git a/Python3-Arduino-master/Examples/10.1SERVO.py b/Python3-Arduino-master/Examples/10.1SERVO.py
new file mode 100644
index 0000000..e9fc8ab
--- /dev/null
+++ b/Python3-Arduino-master/Examples/10.1SERVO.py
@@ -0,0 +1,42 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_INIT:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.obj_arduino.cmd_servo_attach(1,1)
+ self.obj_arduino.cmd_servo_move(1,1,30)
+ sleep(1)
+ self.obj_arduino.cmd_servo_detach(1,1)
+ sleep(1)
+
+
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_INIT(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/10.2SERVO.py b/Python3-Arduino-master/Examples/10.2SERVO.py
new file mode 100644
index 0000000..d205771
--- /dev/null
+++ b/Python3-Arduino-master/Examples/10.2SERVO.py
@@ -0,0 +1,44 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_ANGULAR_ROTATION:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.obj_arduino.cmd_servo_attach(1,1)
+ self.obj_arduino.cmd_servo_move(1,1,90)
+ sleep(1)
+ self.obj_arduino.cmd_servo_move(1,1,45)
+ sleep(1)
+ self.obj_arduino.cmd_servo_detach(1,1)
+ sleep(1)
+
+
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_ANGULAR_ROTATION(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/10.3SERVO.py b/Python3-Arduino-master/Examples/10.3SERVO.py
new file mode 100644
index 0000000..8d70cd9
--- /dev/null
+++ b/Python3-Arduino-master/Examples/10.3SERVO.py
@@ -0,0 +1,41 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_INCR:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.obj_arduino.cmd_servo_attach(1,1)
+ sleep(1)
+ self.angle=18
+ for i in range(10):
+ self.obj_arduino.cmd_servo_move(1,1,self.angle*i)
+ sleep(2)
+ self.obj_arduino.cmd_servo_detach(1,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_INCR(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/10.4SERVO.py b/Python3-Arduino-master/Examples/10.4SERVO.py
new file mode 100644
index 0000000..4b5323a
--- /dev/null
+++ b/Python3-Arduino-master/Examples/10.4SERVO.py
@@ -0,0 +1,47 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_POT:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.pot=2
+ self.pos=0
+ self.obj_arduino.cmd_servo_attach(1,1)
+ sleep(1)
+ self.angle=18
+ for i in range(100):
+ val=self.obj_arduino.cmd_analog_in(1,self.pot)
+ print (val)
+ val = int(val*180/1023)
+ print (val)
+ self.obj_arduino.cmd_servo_move(1,1,val)
+ sleep(0.5)
+ self.obj_arduino.cmd_servo_detach(1,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_POT(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/4.1LED.py b/Python3-Arduino-master/Examples/4.1LED.py
new file mode 100644
index 0000000..94c8c07
--- /dev/null
+++ b/Python3-Arduino-master/Examples/4.1LED.py
@@ -0,0 +1,34 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LED_ON_OFF:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino = Arduino()
+ self.port = self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1, self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.obj_arduino.cmd_digital_out(1,self.blue,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_led=LED_ON_OFF(115200)
+
+if __name__== '__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/4.2LED.py b/Python3-Arduino-master/Examples/4.2LED.py
new file mode 100644
index 0000000..e54d476
--- /dev/null
+++ b/Python3-Arduino-master/Examples/4.2LED.py
@@ -0,0 +1,37 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LED_ON_OFF:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino = Arduino()
+ self.port = self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1, self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.obj_arduino.cmd_digital_out(1,self.blue,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.blue,0)
+ sleep(2)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_led=LED_ON_OFF(115200)
+
+if __name__== '__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/4.3LED.py b/Python3-Arduino-master/Examples/4.3LED.py
new file mode 100644
index 0000000..e611f46
--- /dev/null
+++ b/Python3-Arduino-master/Examples/4.3LED.py
@@ -0,0 +1,45 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LED_ON_OFF_MULTICOLOR:
+
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.green=10
+ self.red=11
+ self.obj_arduino.cmd_digital_out(1,self.blue,self.baudrate)
+ self.obj_arduino.cmd_digital_out(1,self.red,self.baudrate)
+ sleep(5)
+ self.obj_arduino.cmd_digital_out(1,self.blue,0)
+ sleep(3)
+ self.obj_arduino.cmd_digital_out(1,self.red,0)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_led=LED_ON_OFF_MULTICOLOR(115200);
+
+if __name__=='__main__':
+ main()
+
+
diff --git a/Python3-Arduino-master/Examples/4.4LED.py b/Python3-Arduino-master/Examples/4.4LED.py
new file mode 100644
index 0000000..61a7db6
--- /dev/null
+++ b/Python3-Arduino-master/Examples/4.4LED.py
@@ -0,0 +1,42 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LED_ON_OFF_LOOP:
+
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.green=10
+ self.red=11
+ for i in range(10):
+ self.obj_arduino.cmd_digital_out(1,self.green,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.green,0)
+ sleep(2)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_led=LED_ON_OFF_LOOP(115200)
+
+if __name__=='__main__':
+ main()
+
diff --git a/Python3-Arduino-master/Examples/5.1pushbutton.py b/Python3-Arduino-master/Examples/5.1pushbutton.py
new file mode 100644
index 0000000..df4168c
--- /dev/null
+++ b/Python3-Arduino-master/Examples/5.1pushbutton.py
@@ -0,0 +1,40 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class PUSHBUTTON:
+
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pushbutton=12
+ for i in range(10):
+ val=self.obj_arduino.cmd_digital_in(1,self.pushbutton)
+ sleep(1)
+ print (val)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pushbutton=PUSHBUTTON(115200)
+
+if __name__=='__main__':
+ main()
+
+
diff --git a/Python3-Arduino-master/Examples/5.2pushbutton.py b/Python3-Arduino-master/Examples/5.2pushbutton.py
new file mode 100644
index 0000000..e5ef6bf
--- /dev/null
+++ b/Python3-Arduino-master/Examples/5.2pushbutton.py
@@ -0,0 +1,42 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class PUSHBUTTON_LED:
+
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.green=10
+ self.red=11
+ self.pushbutton=12
+ for i in range(20):
+ val=self.obj_arduino.cmd_digital_in(1,self.pushbutton)
+ #sleep(0.5)
+ print (val)
+ self.obj_arduino.cmd_digital_out(1,self.blue,val)
+ sleep(0.5)
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pushbutton=PUSHBUTTON_LED(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/6.1LDR.py b/Python3-Arduino-master/Examples/6.1LDR.py
new file mode 100644
index 0000000..6541026
--- /dev/null
+++ b/Python3-Arduino-master/Examples/6.1LDR.py
@@ -0,0 +1,37 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LDR:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.ldr=5
+ for i in range(100):
+ val=self.obj_arduino.cmd_analog_in(1,self.ldr)
+ print (val)
+ sleep(0.5)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_ldr=LDR(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/6.2LDR.py b/Python3-Arduino-master/Examples/6.2LDR.py
new file mode 100644
index 0000000..b5b2a5d
--- /dev/null
+++ b/Python3-Arduino-master/Examples/6.2LDR.py
@@ -0,0 +1,44 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LDR:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.ldr=5
+ self.blue=9
+ self.green=10
+ self.red=11
+ for i in range(100):
+ val=self.obj_arduino.cmd_analog_in(1,self.ldr)
+ print (val)
+ if int(val) < 300:
+ self.obj_arduino.cmd_digital_out(1,self.blue,1)
+ else:
+ self.obj_arduino.cmd_digital_out(1,self.blue,0)
+ sleep(0.5)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_ldr=LDR(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/7.1DCMOTOR.py b/Python3-Arduino-master/Examples/7.1DCMOTOR.py
new file mode 100644
index 0000000..0a66f10
--- /dev/null
+++ b/Python3-Arduino-master/Examples/7.1DCMOTOR.py
@@ -0,0 +1,43 @@
+import os
+import sys
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class DCMOTOR_ROTATION:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.pin2=10
+ self.obj_arduino.cmd_dcmotor_setup(1,3,1,self.pin1,self.pin2)
+ self.obj_arduino.cmd_dcmotor_run(1,1,100)
+ sleep(2)
+ self.obj_arduino.cmd_dcmotor_release(1,1)
+
+
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_dcmotor=DCMOTOR_ROTATION(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/7.2DCMOTOR.py b/Python3-Arduino-master/Examples/7.2DCMOTOR.py
new file mode 100644
index 0000000..1db2463
--- /dev/null
+++ b/Python3-Arduino-master/Examples/7.2DCMOTOR.py
@@ -0,0 +1,40 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class DCMOTOR_ROTATION:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.pin2=10
+ self.obj_arduino.cmd_dcmotor_setup(1,3,1,self.pin1,self.pin2)
+ self.obj_arduino.cmd_dcmotor_run(1,1,100)
+ sleep(3)
+ self.obj_arduino.cmd_dcmotor_run(1,1,-100)
+ sleep(3)
+ self.obj_arduino.cmd_dcmotor_release(1,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_dcmotor=DCMOTOR_ROTATION(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/7.3DCMOTOR.py b/Python3-Arduino-master/Examples/7.3DCMOTOR.py
new file mode 100644
index 0000000..43331d8
--- /dev/null
+++ b/Python3-Arduino-master/Examples/7.3DCMOTOR.py
@@ -0,0 +1,44 @@
+import os
+import sys
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class DCMOTOR_ROTATION:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.pin2=10
+ self.obj_arduino.cmd_dcmotor_setup(1,3,1,self.pin1,self.pin2)
+ self.obj_arduino.cmd_dcmotor_run(1,1,150)
+ sleep(3)
+ self.obj_arduino.cmd_dcmotor_run(1,1,0)
+ sleep(2)
+ self.obj_arduino.cmd_dcmotor_run(1,1,-150)
+ sleep(2)
+ self.obj_arduino.cmd_dcmotor_release(1,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_dcmotor=DCMOTOR_ROTATION(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/8.1POTENTIOMETER.py b/Python3-Arduino-master/Examples/8.1POTENTIOMETER.py
new file mode 100644
index 0000000..6b84b92
--- /dev/null
+++ b/Python3-Arduino-master/Examples/8.1POTENTIOMETER.py
@@ -0,0 +1,52 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class POT:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pot=2
+ self.blue=9
+ self.green=10
+ self.red=11
+ for i in range(20):
+ val=self.obj_arduino.cmd_analog_in(1,self.pot)
+ print (val)
+
+ if (int(val) >= 0 and int(val)< 320):
+ self.obj_arduino.cmd_digital_out(1,self.blue,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.blue,0)
+ elif (int(val) >= 320 and int(val) < 900):
+ self.obj_arduino.cmd_digital_out(1,self.green,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.green,0)
+ else:
+ self.obj_arduino.cmd_digital_out(1,self.red,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.red,0)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pot=POT(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/9.1SERVO.py b/Python3-Arduino-master/Examples/9.1SERVO.py
new file mode 100644
index 0000000..e9fc8ab
--- /dev/null
+++ b/Python3-Arduino-master/Examples/9.1SERVO.py
@@ -0,0 +1,42 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_INIT:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.obj_arduino.cmd_servo_attach(1,1)
+ self.obj_arduino.cmd_servo_move(1,1,30)
+ sleep(1)
+ self.obj_arduino.cmd_servo_detach(1,1)
+ sleep(1)
+
+
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_INIT(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/9.1THREM.py b/Python3-Arduino-master/Examples/9.1THREM.py
new file mode 100644
index 0000000..8d8da20
--- /dev/null
+++ b/Python3-Arduino-master/Examples/9.1THREM.py
@@ -0,0 +1,40 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class THERM_BUZZER:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.therm=4
+
+
+ for i in range(20):
+ val=self.obj_arduino.cmd_analog_in(1,self.therm)
+ print (val)
+ sleep(0.5)
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pot=THERM_BUZZER(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/9.2SERVO.py b/Python3-Arduino-master/Examples/9.2SERVO.py
new file mode 100644
index 0000000..d205771
--- /dev/null
+++ b/Python3-Arduino-master/Examples/9.2SERVO.py
@@ -0,0 +1,44 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_ANGULAR_ROTATION:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.obj_arduino.cmd_servo_attach(1,1)
+ self.obj_arduino.cmd_servo_move(1,1,90)
+ sleep(1)
+ self.obj_arduino.cmd_servo_move(1,1,45)
+ sleep(1)
+ self.obj_arduino.cmd_servo_detach(1,1)
+ sleep(1)
+
+
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_ANGULAR_ROTATION(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/9.2THERM-BUZZER.py b/Python3-Arduino-master/Examples/9.2THERM-BUZZER.py
new file mode 100644
index 0000000..faa430a
--- /dev/null
+++ b/Python3-Arduino-master/Examples/9.2THERM-BUZZER.py
@@ -0,0 +1,46 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class THERM_BUZZER:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.therm=4
+ self.buzzer=3
+
+ for i in range(20):
+ val=self.obj_arduino.cmd_analog_in(1,self.therm)
+ print (val)
+
+ if (int(val) > 550):
+ self.obj_arduino.cmd_digital_out(1,self.buzzer,1)
+
+
+ else:
+ self.obj_arduino.cmd_digital_out(1,self.buzzer,0)
+ sleep(2)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pot=THERM_BUZZER(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/9.3SERVO.py b/Python3-Arduino-master/Examples/9.3SERVO.py
new file mode 100644
index 0000000..8d70cd9
--- /dev/null
+++ b/Python3-Arduino-master/Examples/9.3SERVO.py
@@ -0,0 +1,41 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_INCR:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.obj_arduino.cmd_servo_attach(1,1)
+ sleep(1)
+ self.angle=18
+ for i in range(10):
+ self.obj_arduino.cmd_servo_move(1,1,self.angle*i)
+ sleep(2)
+ self.obj_arduino.cmd_servo_detach(1,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_INCR(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/9.4SERVO.py b/Python3-Arduino-master/Examples/9.4SERVO.py
new file mode 100644
index 0000000..4b5323a
--- /dev/null
+++ b/Python3-Arduino-master/Examples/9.4SERVO.py
@@ -0,0 +1,47 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_POT:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.pot=2
+ self.pos=0
+ self.obj_arduino.cmd_servo_attach(1,1)
+ sleep(1)
+ self.angle=18
+ for i in range(100):
+ val=self.obj_arduino.cmd_analog_in(1,self.pot)
+ print (val)
+ val = int(val*180/1023)
+ print (val)
+ self.obj_arduino.cmd_servo_move(1,1,val)
+ sleep(0.5)
+ self.obj_arduino.cmd_servo_detach(1,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_POT(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/LED.py b/Python3-Arduino-master/Examples/LED.py
new file mode 100644
index 0000000..d54ec68
--- /dev/null
+++ b/Python3-Arduino-master/Examples/LED.py
@@ -0,0 +1,63 @@
+
+import os
+import sys
+#Setting PYTHONPATH
+cwd = os.getcwd()
+(setPath,Examples) = os.path.split(cwd)
+print setPath
+sys.path.append(setPath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+
+
+
+class LED_ON:
+
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ #self.baudrate = baudrate
+ self.obj_arduino = Arduino()
+ self.port = self.obj_arduino.locateport()
+ #Open Serial PORT
+ self.obj_arduino.open_serial(1, self.port,self.baudrate)
+
+ def run(self):
+ self.blue = 9
+ self.obj_arduino.cmd_digital_out(1,self.blue,1)
+ #sleep(2)
+ #self.obj_arduino.cmd_digital_out(1,self.blue,0)
+ #sleep(2)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+# def __init__(self):
+# self.obj_arduino = Arduino()
+# self.port = self.obj_arduino.locateport()
+# #Open Serial PORT
+# self.obj_arduino.open_serial(1, self.port, 115200)
+# for i in range(10):
+# print i
+# self.red = 9
+# self.obj_arduino.cmd_digital_out(1,self.red,1)
+# sleep(2)
+# #self.red = 13
+# self.obj_arduino.cmd_digital_out(1,self.red,0)
+# sleep(2)
+# #print "ok"
+# def close(self):
+# self.obj_arduino.close_serial()
+
+def main():
+ obj_led = LED_ON(115200)
+ #sleep(2)
+ #obj_led.close()
+
+if __name__ == '__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/__init__.py b/Python3-Arduino-master/Examples/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/Python3-Arduino-master/Examples/__init__.py
diff --git a/Python3-Arduino-master/Examples/energy-meter/11.1energy_meter_voltage.py b/Python3-Arduino-master/Examples/energy-meter/11.1energy_meter_voltage.py
new file mode 100755
index 0000000..a972355
--- /dev/null
+++ b/Python3-Arduino-master/Examples/energy-meter/11.1energy_meter_voltage.py
@@ -0,0 +1,52 @@
+#!/usr/bin/python
+
+import serial,time
+import struct
+import sys
+
+if serial.Serial('COM2',9600).isOpen():
+ serial.Serial('COM2',9600).close()
+s= serial.Serial('COM2',9600)
+#s.write("A")
+s.flushOutput()
+s.flushInput()
+time.sleep(2)
+
+a = '00000001'
+b = '00000011'
+c = '00001111'
+d = '01010110'
+e = '00000000'
+f = '00000010'
+g = '00100111'
+h = '00001111'
+aa = str(chr(int(a,2)))
+bb = str(chr(int(b,2)))
+cc = str(chr(int(c,2)))
+dd = str(chr(int(d,2)))
+ee = str(chr(int(e,2)))
+ff = str(chr(int(f,2)))
+gg = str(chr(int(g,2)))
+hh = str(chr(int(h,2)))
+fin = aa + bb + cc + dd + ee + ff + gg + hh
+#s.flushOutput()
+finaly = s.write(fin.encode('utf-8'))
+time.sleep(0.5)
+
+i = 0
+ll = []
+while True:
+ time.sleep(0.001)
+ if s.inWaiting() != 0:
+#s.flushInput()
+ ll.append(s.read())
+ #print ll
+ if len(ll) == 9:
+ temp = str(ll[5].encode('hex')) + str(ll[6].encode('hex')) + str(ll[3].encode('hex')) + str(ll[4].encode('hex'))
+ #print temp
+ ans = struct.unpack('!f', temp.decode('hex'))[0]
+ temp = str(ans).split("e")
+ print ('Value of voltage on energy meter is %s' %(ans))
+ break
+s.close()
+time.sleep(1)
diff --git a/Python3-Arduino-master/Examples/energy-meter/11.2energy_meter_current.py b/Python3-Arduino-master/Examples/energy-meter/11.2energy_meter_current.py
new file mode 100755
index 0000000..91d4e51
--- /dev/null
+++ b/Python3-Arduino-master/Examples/energy-meter/11.2energy_meter_current.py
@@ -0,0 +1,52 @@
+#!/usr/bin/python
+
+import serial,time
+import struct
+import sys
+
+if serial.Serial('COM2',9600).isOpen():
+ serial.Serial('COM2',9600).close()
+s= serial.Serial('COM2',9600)
+#s.write("A")
+s.flushOutput()
+s.flushInput()
+time.sleep(2)
+
+a = '00000001'
+b = '00000011'
+c = '00001111'
+d = '01011000'
+e = '00000000'
+f = '00000010'
+g = '01000110'
+h = '11001100'
+aa = str(chr(int(a,2)))
+bb = str(chr(int(b,2)))
+cc = str(chr(int(c,2)))
+dd = str(chr(int(d,2)))
+ee = str(chr(int(e,2)))
+ff = str(chr(int(f,2)))
+gg = str(chr(int(g,2)))
+hh = str(chr(int(h,2)))
+fin = aa + bb + cc + dd + ee + ff + gg + hh
+#s.flushOutput()
+finaly = s.write(fin.encode('utf-8'))
+time.sleep(0.5)
+
+i = 0
+ll = []
+while True:
+ time.sleep(0.001)
+ if s.inWaiting() != 0:
+#s.flushInput()
+ ll.append(s.read())
+ #print ll
+ if len(ll) == 9:
+ temp = str(ll[5].encode('hex')) + str(ll[6].encode('hex')) + str(ll[3].encode('hex')) + str(ll[4].encode('hex'))
+ #print temp
+ ans = struct.unpack('!f', temp.decode('hex'))[0]
+ temp = str(ans).split("e")
+ print ('Value of current on energy meter is %s' %(ans))
+ break
+s.close()
+time.sleep(1)
diff --git a/Python3-Arduino-master/Examples/energy-meter/11.3energy_meter_power.py b/Python3-Arduino-master/Examples/energy-meter/11.3energy_meter_power.py
new file mode 100755
index 0000000..588a0cc
--- /dev/null
+++ b/Python3-Arduino-master/Examples/energy-meter/11.3energy_meter_power.py
@@ -0,0 +1,52 @@
+#!/usr/bin/python
+
+import serial,time
+import struct
+import sys
+
+if serial.Serial('COM2',9600).isOpen():
+ serial.Serial('COM2',9600).close()
+s= serial.Serial('COM2',9600)
+#s.write("A")
+s.flushOutput()
+s.flushInput()
+time.sleep(2)
+
+a = '00000001'
+b = '00000011'
+c = '00001111'
+d = '01001110'
+e = '00000000'
+f = '00000010'
+g = '10100111'
+h = '00001000'
+aa = str(chr(int(a,2)))
+bb = str(chr(int(b,2)))
+cc = str(chr(int(c,2)))
+dd = str(chr(int(d,2)))
+ee = str(chr(int(e,2)))
+ff = str(chr(int(f,2)))
+gg = str(chr(int(g,2)))
+hh = str(chr(int(h,2)))
+fin = aa + bb + cc + dd + ee + ff + gg + hh
+#s.flushOutput()
+finaly = s.write(fin.encode('utf-8'))
+time.sleep(0.5)
+
+i = 0
+ll = []
+while True:
+ time.sleep(0.001)
+ if s.inWaiting() != 0:
+#s.flushInput()
+ ll.append(s.read())
+ #print ll
+ if len(ll) == 9:
+ temp = str(ll[5].encode('hex')) + str(ll[6].encode('hex')) + str(ll[3].encode('hex')) + str(ll[4].encode('hex'))
+ #print temp
+ ans = struct.unpack('!f', temp.decode('hex'))[0]
+ temp = str(ans).split("e")
+ print ('Value of active power on energy meter is %s' %(ans))
+ break
+s.close()
+time.sleep(1)
diff --git a/Python3-Arduino-master/Examples/test_firmware.py b/Python3-Arduino-master/Examples/test_firmware.py
new file mode 100644
index 0000000..f84a5ae
--- /dev/null
+++ b/Python3-Arduino-master/Examples/test_firmware.py
@@ -0,0 +1,33 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class TEST_FIRMWARE:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino = Arduino()
+ self.port = self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1, self.port,self.baudrate)
+
+ def run(self):
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_led=TEST_FIRMWARE(115200)
+
+if __name__== '__main__':
+ main()
diff --git a/Python3-Arduino-master/Examples/therm-buzzer.py b/Python3-Arduino-master/Examples/therm-buzzer.py
new file mode 100644
index 0000000..a1dbffd
--- /dev/null
+++ b/Python3-Arduino-master/Examples/therm-buzzer.py
@@ -0,0 +1,46 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class POT:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.therm=4
+ self.buzzer=3
+
+ for i in range(20):
+ val=self.obj_arduino.cmd_analog_in(1,self.therm)
+ print val
+
+ if (int(val) > 550):
+ self.obj_arduino.cmd_digital_out(1,self.buzzer,1)
+
+
+ else:
+ self.obj_arduino.cmd_digital_out(1,self.buzzer,0)
+ sleep(2)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pot=POT(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/Python3-Arduino-master/README.md b/Python3-Arduino-master/README.md
new file mode 100644
index 0000000..d6cb41f
--- /dev/null
+++ b/Python3-Arduino-master/README.md
@@ -0,0 +1,18 @@
+# Python3-Arduino
+Microcontroller Experiments with Arduino By using Python3
+
+#Working with Arduino UNO [Atmega328p]
+Setting up firmware for Arduino board
+In Tools Menu, select appropriate Board (Arduino/Genuino UNO) and Port as the available serial port to which Arduino is connected.
+Open arduino-firmware folder and then Upload the arduino-firmware.ino sketch to the board.
+
+#Executing python codes for doing experiments on Arduino
+* Open the Terminal on Linux OS
+* Navigate to the Examples folder
+* On the terminal type python3 FileName.py
+
+# Main developers:
+
+Manas Ranjan Das, FOSSSEE, IIT-Bombay
+
+Contributions in shape of [Pull Requests] are always welcome.
diff --git a/Python3-Arduino-master/arduino-firmware/arduino-firmware.ino b/Python3-Arduino-master/arduino-firmware/arduino-firmware.ino
new file mode 100644
index 0000000..4b87cee
--- /dev/null
+++ b/Python3-Arduino-master/arduino-firmware/arduino-firmware.ino
@@ -0,0 +1,794 @@
+/* This file is meant to be used with the SCILAB arduino
+ toolbox, however, it can be used from the IDE environment
+ (or any other serial terminal) by typing commands like:
+
+ Conversion ascii -> number
+ 48->'0' ... 57->'9' 58->':' 59->';' 60->'<' 61->'=' 62->'>' 63->'?' 64->'@'
+ 65->'A' ... 90->'Z' 91->'[' 92->'\' 93->']' 94->'^' 95->'_' 96->'`'
+ 97->'a' ... 122->'z'
+
+ Dan0 or Dan1 : attach digital pin n (ascii from 2 to b) to input (0) or output (1)
+ Drn : read digital value (0 or 1) on pin n (ascii from 2 to b)
+ Dwn0 or Dwn1 : write 1 or 0 on pin n
+ An : reads analog pin n (ascii from 0 to 19)
+ Wnm : write analog value m (ascii from 0 to 255) on pin n (ascii from 0 to 19)
+ Sa1 or Sa2 : Attach servo 1 (digital pin 9) or 2 (digital pin 10)
+ Sw1n or Sw2n : moves servo 1 or servo 2 to position n (from ascii(0) to ascii(180))
+ Sd1 or Sd2 : Detach servo 1 or 2
+
+ Generic DC_Motor
+ Cijkl : setup for generic DCmotor number i (1 to 4), PW1 on pin number j, PWM2 or direction on pin number k, mode=l
+ l=0 for L293 (2 PWM) and l=1 for L298 (1PWM + 1 bit for direction)
+ Mijk : sets speed for generic DCmotor number i, j=0/1 for direction, k=ascii(0) .. ascii(255)
+ Mir : releases motor i (r=release)
+
+ Generic Interrupt counter
+ Iai : activate counter on INT number i (i=ascii(2 or 3 or 18 or 19 or 20 or 21)
+ Iri : release counter on INT number i
+ Ipi : read counter on INT number i
+ Izi : reset counter on INT number i
+
+ Generic Encoder
+ Eajkl: activate encoder on channelA on INT number j (j=ascii(2 or 3 or 18 or 19 or 20 or 21) et channelB on pin k or INT number k (k=ascii(0)..ascii(53))
+ and l=1 or 2 or 4 for 1x mode (count every rising of chA) or 2x mode (count every change statement of chA)
+ or 4x mode (every change statement of chA et chB)
+ Eri : release encoder on INTi
+ Epi : read position of encoder on INTi
+ Ezi : reset value of encoder on INTi position
+
+ R0 : sets analog reference to DEFAULT
+ R1 : sets analog reference to INTERNAL
+ R2 : sets analog reference to EXTERNAL
+
+ */
+
+#include <Servo.h>
+
+/* define internal for the MEGA as 1.1V (as as for the 328) */
+#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
+#define INTERNAL INTERNAL1V1
+#endif
+
+/* create and initialize servos */
+Servo servo1;
+Servo servo2;
+
+/* Generic motors */
+int dcm1_pin1,dcm1_pin2,dcm1_mode;
+int dcm2_pin1,dcm2_pin2,dcm2_mode;
+int dcm3_pin1,dcm3_pin2,dcm3_mode;
+int dcm4_pin1,dcm4_pin2,dcm4_mode;
+
+// Generic encoder
+/* Encoders initialisation */
+// volatile declare as those variables will change in interrupts
+volatile long int encoder_0_position = 0,encoder_1_position = 0, encoder_2_position = 0, encoder_3_position = 0, encoder_4_position = 0, encoder_5_position = 0;
+int encoder_0_int2 ; // Pin used for encoder0 chanel B : define from scilab
+int encoder_1_int2 ; // Pin used for encoder1 chanel B : define from scilab
+int encoder_2_int2 ; // Pin used for encoder2 chanel B : define from scilab
+int encoder_3_int2 ; // Pin used for encoder3 chanel B : define from scilab
+int encoder_4_int2 ; // Pin used for encoder4 chanel B : define from scilab
+int encoder_5_int2 ; // Pin used for encoder5 chanel B : define from scilab
+int encoder_num, encoder_int2;
+int corresp[6]={2,3,21,20,19,18}; //Correspondance beetween interrupt number and pin number
+
+//Generic counter
+volatile long int counter_0=0,counter_1=0,counter_2=0,counter_3=0,counter_4=0,counter_5=0;
+
+int initiat=1;
+
+void setup() {
+ /* initialize serial */
+ Serial.begin(115200);
+
+}
+void loop() {
+
+
+
+ /* variables declaration and initialization */
+
+ static int s = -1; /* state */
+ static int pin = 13; /* generic pin number */
+ static int dcm = 4; /* generic dc motor number */
+
+ int val = 0; /* generic value read from serial */
+ int agv = 0; /* generic analog value */
+ int dgv = 0; /* generic digital value */
+ static int enc = 1; /* encoder number 1 (or 2 for Arduino mega) */
+
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read();
+
+ //Checking for availability of firmware
+ if(val==118)
+ {
+ delay(10);
+ Serial.write("ok");
+ }
+
+// if (val==0){// version
+// Serial.print('v3');
+// val=-1;
+// }
+ //case A -> Analog
+ else if (val==65){//A -> Analog read
+ while (Serial.available()==0) {}; // Waiting char
+// val=Serial.read();
+// if (val==114){ //'r'-> read pin
+// while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>47 && val<67) { //from pin 0, to pin 19
+ pin=val-48; //number of the pin
+ agv=analogRead(pin);
+ //Serial.println(agv);
+ Serial.write((uint8_t*)&agv,2); /* send binary value via serial */
+ }
+ val=-1;
+ }
+ else if (val==87){//W -> Analog write
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>47 && val<67) { //from pin 0 to pin 19
+ pin=val-48; //number of the pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ analogWrite(pin,val);
+ }
+ val=-1;
+ }
+ //}
+
+ //case D -> Digital
+ else if (val==68){//D -> Digital pins
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97){ //'a'-> declare pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48;
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==48 || val==49) {
+ if (val==48){//'0' -> input
+ pinMode(pin,INPUT);
+ }
+ else if (val==49){//'1' -> output
+ pinMode(pin,OUTPUT);
+ }
+ }
+ }
+ }
+ if (val==114){ //'r'-> read pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48; //number of the digital pin
+ dgv=digitalRead(pin);
+// Serial.println(dgv);
+ Serial.print(dgv);
+ }
+ }
+ if (val==119){ //'w'-> write pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48; //number of the digital pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==48 || val==49) { // 0 or 1
+ dgv=val-48;
+ digitalWrite(pin,dgv);
+// Serial.println(dgv);
+ }
+ }
+ }
+ val=-1;
+
+ }
+ //case S -> servomotor
+ else if (val==83){
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97){ //'a'-> declare servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ if (pin==1) {
+ servo1.attach(9);
+ servo1.write(0);
+// agv=servo1.read();
+// Serial.println(agv);
+ }
+ if (pin==2) {
+ servo2.attach(10);
+ servo2.write(0);
+// agv=servo2.read();
+// Serial.println(agv);
+ }
+
+ }
+ }
+ if (val==100){ //'d'-> detach servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ if (pin==1) {servo1.detach(); }
+ if (pin==2) {servo2.detach(); }
+ }
+ }
+ if (val==119){ //'w'-> write pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>=0 && val<=180){
+ if (pin==1) {
+ servo1.write(val);
+// agv=servo1.read();
+// Serial.println(agv);
+ }
+ if (pin==2) {
+ servo2.write(val);
+// agv=servo2.read();
+// Serial.println(agv);
+ }
+ }
+ }
+ }
+ val=-1;
+
+ }
+
+ //case I -> Interrupt
+ else if (val==73){
+ /* ASKING ACTIVATION OF AN COUNTER */
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97) { //a = activation
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read(); // Read int_number (must be 0 or 1 on UNO / 1 to 5 on MEGA) : int_number set to encoder number
+ pinMode(corresp[val],INPUT); // set interrupt pin as input
+ if (val == 0) {attachInterrupt(val, counter_0_change, RISING);counter_0=0;} //counter INT0
+ else if (val == 1) {attachInterrupt(val, counter_1_change, RISING);counter_1=0;} //counter INT1
+ else if (val == 2) {attachInterrupt(val, counter_2_change, RISING);counter_2=0;} //counter INT2
+ else if (val == 3) {attachInterrupt(val, counter_3_change, RISING);counter_3=0;} //counter INT3
+ else if (val == 4) {attachInterrupt(val, counter_4_change, RISING);counter_4=0;} //counter INT4
+ else if (val == 5) {attachInterrupt(val, counter_5_change, RISING);counter_5=0;} //counter INT5
+ }
+ /* ASKING POSITION OF A COUNTER */
+ if (val==112) { //p = sending counting value
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read() ; //reading next value = counter number
+ if (val==0){ Serial.write((uint8_t*)&counter_0,4); }// asking counter 0
+ else if (val==1){ Serial.write((uint8_t*)&counter_1,4); }// asking counter 1
+ else if (val==2){ Serial.write((uint8_t*)&counter_2,4); }// asking counter 2
+ else if (val==3){ Serial.write((uint8_t*)&counter_3,4); }// asking counter 3
+ else if (val==4){ Serial.write((uint8_t*)&counter_4,4); }// asking counter 4
+ else if (val==5){ Serial.write((uint8_t*)&counter_5,4); }// asking counter 5
+ }
+ /* ASKING RELEASE OF AN INTERRUPT */
+ if (val==114) { //r = release counter
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = counter number
+ detachInterrupt(val); // Detach interrupt on chanel A of counter num=val
+ if (val==0) { counter_0=0;} // Reset counter
+ else if (val==1) { counter_1=0;} // Reset counter
+ else if (val==2) { counter_2=0;} // Reset counter
+ else if (val==3) { counter_3=0;} // Reset counter
+ else if (val==4) { counter_4=0;} // Reset counter
+ else if (val==5) { counter_5=0;} // Reset counter
+ }
+ /* ASKING RESET VALUE OF AN COUNTER */
+ if (val==122) { //z set to zero
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = counter number
+ if (val==0) { counter_0=0;} // Reset counter
+ else if (val==1) { counter_1=0;} // Reset counter
+ else if (val==2) { counter_2=0;} // Reset counter
+ else if (val==3) { counter_3=0;} // Reset counter
+ else if (val==4) { counter_4=0;} // Reset counter
+ else if (val==5) { counter_5=0;} // Reset counter
+ }
+ val=-1;
+
+ }
+
+ //case E -> Encoder
+ else if (val==69){
+ /*Generic encoder functions */
+ while (Serial.available()==0) {};
+ val=Serial.read();
+ /* ASKING ACTIVATION OF AN ENCODER */
+ if (val==97) { //activation
+ while (Serial.available()==0) {}; // Waiting char
+ encoder_num=Serial.read(); // Read int_number (must be 0 or 1 on UNO / 1 to 5 on MEGA) : int_number set to encoer number
+ pinMode(corresp[encoder_num],INPUT); // set interrupt pin as input
+ while (Serial.available()==0) {}; // Waiting char
+ encoder_int2=Serial.read(); // Read int2 (must be a digital PIN with interrupt or not : depends on mode)
+ // no declaration for the moment : wait for encoder mode
+ while (Serial.available()==0) {}; // Waiting char
+ int mode = Serial.read()-48; // Read mode 1 ou 2 (1 counting only rising of chA, 2 counting rising and falling)
+ if (mode == 4) { // mode 4x : 2 cases : chA=pin2 / chB=pin3 or chA=pin3/chB=pin2 [Uno retriction]
+ pinMode(corresp[encoder_int2],INPUT); // set interrupt number as input
+ } else {
+ pinMode(encoder_int2,INPUT); // set pin as input
+ }
+
+ if (encoder_num == 0) { //encoder INT0
+ encoder_0_position=0; // Reset position
+ if (mode==4) {
+ encoder_0_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A0, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B0, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_0_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_0_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_0_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_0_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 1) { //encoder INT1
+ encoder_1_position=0; // Reset position
+ if (mode==4) {
+ encoder_1_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A1, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B1, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_1_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_1_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_1_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_1_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 2) { //encoder INT2
+ encoder_2_position=0; // Reset position
+ if (mode==4) {
+ encoder_2_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A2, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B2, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_2_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_2_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_2_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_2_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 3) { //encoder INT3
+ encoder_3_position=0; // Reset position
+ if (mode==4) {
+ encoder_3_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A3, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B3, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_3_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_3_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_3_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_3_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 4) { //encoder INT4
+ encoder_4_position=0; // Reset position
+ if (mode==4) {
+ encoder_4_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A4, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B4, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_4_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_4_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_4_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_4_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 5) { //encoder INT5
+ encoder_5_position=0; // Reset position
+ if (mode==4) {
+ encoder_5_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A5, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B5, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_5_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_5_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_5_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_5_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ }
+ }
+ /* ASKING POSITION OF AN ENCODER */
+ if (val==112) { //p = sending encoder position
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read() ; //reading next value = encoder number
+ if (val==0){ Serial.write((uint8_t*)&encoder_0_position,4); }// asking encoder 0 position
+ else if (val==1){ Serial.write((uint8_t*)&encoder_1_position,4); }// asking encoder 1 position
+ else if (val==2){ Serial.write((uint8_t*)&encoder_2_position,4); }// asking encoder 2 position
+ else if (val==3){ Serial.write((uint8_t*)&encoder_3_position,4); }// asking encoder 3 position
+ else if (val==4){ Serial.write((uint8_t*)&encoder_4_position,4); }// asking encoder 4 position
+ else if (val==5){ Serial.write((uint8_t*)&encoder_5_position,4); }// asking encoder 5 position
+ }
+ /* ASKING RELEASE OF AN ENCODER */
+ if (val==114) { //r = release encoder
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = encoder number
+ detachInterrupt(val); // Detach interrupt on chanel A of encoder num=val
+ if (val==0) { encoder_0_position=0;encoder_0_int2=-1;} // Reset position
+ else if (val==1) { encoder_1_position=0;encoder_1_int2=-1;} // Reset position
+ else if (val==2) { encoder_2_position=0;encoder_2_int2=-1;} // Reset position
+ else if (val==3) { encoder_3_position=0;encoder_3_int2=-1;} // Reset position
+ else if (val==4) { encoder_4_position=0;encoder_4_int2=-1;} // Reset position
+ else if (val==5) { encoder_5_position=0;encoder_5_int2=-1;} // Reset position
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); // reading next value = encoder number
+ detachInterrupt(val); // Detach interrupt on chanel B of encoder num=val (may be the same if mode=1 or 2)
+ }
+ /* ASKING RESET POSITION OF AN ENCODER */
+ if (val==122) { // z = encoder position to zero
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = encoder number
+ if (val==0) { encoder_0_position=0;} // Reset position
+ else if (val==1) { encoder_1_position=0;} // Reset position
+ else if (val==2) { encoder_2_position=0;} // Reset position
+ else if (val==3) { encoder_3_position=0;} // Reset position
+ else if (val==4) { encoder_4_position=0;} // Reset position
+ else if (val==5) { encoder_5_position=0;} // Reset position
+ }
+ val=-1;
+
+ }
+
+ //case C -> DCmotor init
+ else if(val==67){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* 2nd char = motor number */
+ if (val>48 && val<53) {
+ dcm=val-48;
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the third received value indicates the pin1 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>49 && val<102) {
+ if (dcm==1) dcm1_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==2) dcm2_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==3) dcm3_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==4) dcm4_pin1=val-48;/* calculate motor pin1 */
+ pinMode(val-48, OUTPUT); //set pin as output
+ analogWrite(val-48,0); /* DUTY CYCLE */
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the fourth received value indicates the pin2 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>49 && val<102) {
+ if (dcm==1) dcm1_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==2) dcm2_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==3) dcm3_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==4) dcm4_pin2=val-48;/* calculate motor pin2 */
+ pinMode(val-48, OUTPUT); //set pin as output
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the fifth received value indicates the pin2 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>47 && val<50) {
+ int mode = val-48;
+ if (dcm==1) dcm1_mode=mode;/* calculate motor mode */
+ if (dcm==2) dcm2_mode=mode;/* calculate motor mode */
+ if (dcm==3) dcm3_mode=mode;/* calculate motor mode */
+ if (dcm==4) dcm4_mode=mode;/* calculate motor mode */
+ //initialization of port
+ if(mode==0){//L293
+ if (dcm==1) analogWrite(dcm1_pin2,0); /* DUTY CYCLE */
+ if (dcm==2) analogWrite(dcm2_pin2,0); /* DUTY CYCLE */
+ if (dcm==3) analogWrite(dcm3_pin2,0); /* DUTY CYCLE */
+ if (dcm==4) analogWrite(dcm4_pin2,0); /* DUTY CYCLE */
+ } else if (mode==1) {//L297
+ if (dcm==1) digitalWrite(dcm1_pin2, LOW); /* DIRECTION */
+ if (dcm==2) digitalWrite(dcm2_pin2, LOW); /* DIRECTION */
+ if (dcm==3) digitalWrite(dcm3_pin2, LOW); /* DIRECTION */
+ if (dcm==4) digitalWrite(dcm4_pin2, LOW); /* DIRECTION */
+ }
+ Serial.print("OK"); // tell Scilab that motor s initialization finished
+ // Cette commande sert à rien dans la toolbox de base,
+ // sauf si on prévoit d'ajouter des actions à l'init des moteurs
+ // par exemple chercher la position d'origine !
+ }
+ }
+ }
+ }
+ val=-1;
+
+ }
+
+ //case M -> DC motor
+ else if(val==77){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the second received value indicates the motor number
+ from abs('1')=49, motor1, to abs('4')=52, motor4 */
+ if (val>48 && val<53) {
+ dcm=val-48; /* calculate motor number */
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read();
+ /* the third received value indicates the sens direction or release*/
+ if (val==48 || val ==49){
+ int direction=val-48;
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = 0..255
+ if (dcm==1){
+ if(dcm1_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm1_pin1,val);
+ analogWrite(dcm1_pin2,0);
+ } else {
+ analogWrite(dcm1_pin2,val);
+ analogWrite(dcm1_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm1_pin2,LOW);
+ if (direction==1) digitalWrite(dcm1_pin2,HIGH);
+ analogWrite(dcm1_pin1,val);
+ }
+ }
+ if (dcm==2){
+ if(dcm2_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm2_pin1,val);
+ analogWrite(dcm2_pin2,0);
+ } else {
+ analogWrite(dcm2_pin2,val);
+ analogWrite(dcm2_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm2_pin2,LOW);
+ if (direction==1) digitalWrite(dcm2_pin2,HIGH);
+ analogWrite(dcm2_pin1,val);
+ }
+ }
+ if (dcm==3){
+ if(dcm3_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm3_pin1,val);
+ analogWrite(dcm3_pin2,0);
+ } else {
+ analogWrite(dcm3_pin2,val);
+ analogWrite(dcm3_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm3_pin2,LOW);
+ if (direction==1) digitalWrite(dcm3_pin2,HIGH);
+ analogWrite(dcm3_pin1,val);
+ }
+ }
+ if (dcm==4){
+ if(dcm4_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm4_pin1,val);
+ analogWrite(dcm4_pin2,0);
+ } else {
+ analogWrite(dcm4_pin2,val);
+ analogWrite(dcm4_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm4_pin2,LOW);
+ if (direction==1) digitalWrite(dcm4_pin2,HIGH);
+ analogWrite(dcm4_pin1,val);
+ }
+ }
+ }
+ if (val==114){//release motor
+ if(dcm==1) {
+ analogWrite(dcm1_pin1,0);
+ if(dcm1_mode==0) analogWrite(dcm1_pin2,0);
+ }
+ if(dcm==2) {
+ analogWrite(dcm2_pin1,0);
+ if(dcm2_mode==0) analogWrite(dcm2_pin2,0);
+ }
+ if(dcm==3) {
+ analogWrite(dcm3_pin1,0);
+ if(dcm3_mode==0) analogWrite(dcm3_pin2,0);
+ }
+ if(dcm==4) {
+ analogWrite(dcm4_pin1,0);
+ if(dcm4_mode==0) analogWrite(dcm4_pin2,0);
+ }
+ }
+
+ }
+ val=-1;
+
+ }
+
+
+ //case R -> Analog reference
+ if(val==82){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ if (val==48) analogReference(DEFAULT);
+ if (val==49) analogReference(INTERNAL);
+ if (val==50) analogReference(EXTERNAL);
+ if (val==51) Serial.print("v3");
+ val=-1;
+ }
+
+} /* end loop statement */
+
+
+/**************************************/
+// Generic interrupt encoder functions//
+/**************************************/
+//Encoder on INT0
+void encoder_0_change_m1() { //encoder0 mode 1x
+ int chB=digitalRead(encoder_0_int2);
+ if (!chB) { encoder_0_position++;}
+ else { encoder_0_position--; }
+}
+void encoder_0_change_m2() { //encoder0 mode 2x
+ int chB=digitalRead(encoder_0_int2);
+ int chA=digitalRead(corresp[0]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+void encoder_change_m4_A0(){//encoder0 mode 4x chA
+ int chA=digitalRead(corresp[0]);
+ int chB=digitalRead(encoder_0_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+void encoder_change_m4_B0(){//encoder0 mode 4x chB
+ int chA=digitalRead(corresp[0]);
+ int chB=digitalRead(encoder_0_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+//Encoder on INT1
+void encoder_1_change_m1() { //encoder1 mode 1x
+ int chB=digitalRead(encoder_1_int2);
+ if (!chB) { encoder_1_position++;}
+ else { encoder_1_position--; }
+}
+void encoder_1_change_m2() { //encoder1 mode 2x
+ int chB=digitalRead(encoder_1_int2);
+ int chA=digitalRead(corresp[1]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+void encoder_change_m4_A1(){//encoder1 mode 4x chA
+ int chA=digitalRead(corresp[1]);
+ int chB=digitalRead(encoder_1_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+void encoder_change_m4_B1(){//encoder1 mode 4x chB
+ int chA=digitalRead(corresp[1]);
+ int chB=digitalRead(encoder_1_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+//Encoder on INT2
+void encoder_2_change_m1() { //encoder2 mode 1x
+ int chB=digitalRead(encoder_2_int2);
+ if (!chB) { encoder_2_position++;}
+ else { encoder_2_position--; }
+}
+void encoder_2_change_m2() { //encoder2 mode 2x
+ int chB=digitalRead(encoder_2_int2);
+ int chA=digitalRead(corresp[2]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+void encoder_change_m4_A2(){//encoder2 mode 4x chA
+ int chA=digitalRead(corresp[2]);
+ int chB=digitalRead(encoder_2_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+void encoder_change_m4_B2(){//encoder2 mode 4x chB
+ int chA=digitalRead(corresp[2]);
+ int chB=digitalRead(encoder_2_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+//Encoder on INT3
+void encoder_3_change_m1() { //encoder3 mode 1x
+ int chB=digitalRead(encoder_3_int2);
+ if (!chB) { encoder_3_position++;}
+ else { encoder_3_position--; }
+}
+void encoder_3_change_m2() { //encoder3 mode 2x
+ int chB=digitalRead(encoder_3_int2);
+ int chA=digitalRead(corresp[3]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+void encoder_change_m4_A3(){//encoder3 mode 4x chA
+ int chA=digitalRead(corresp[3]);
+ int chB=digitalRead(encoder_3_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+void encoder_change_m4_B3(){//encoder3 mode 4x chB
+ int chA=digitalRead(corresp[3]);
+ int chB=digitalRead(encoder_3_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+//Encoder on INT4
+void encoder_4_change_m1() { //encoder4 mode 1x
+ int chB=digitalRead(encoder_4_int2);
+ if (!chB) { encoder_4_position++;}
+ else { encoder_4_position--; }
+}
+void encoder_4_change_m2() { //encoder4 mode 2x
+ int chB=digitalRead(encoder_4_int2);
+ int chA=digitalRead(corresp[4]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+void encoder_change_m4_A4(){//encoder4 mode 4x chA
+ int chA=digitalRead(corresp[4]);
+ int chB=digitalRead(encoder_4_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+void encoder_change_m4_B4(){//encoder4 mode 4x chB
+ int chA=digitalRead(corresp[4]);
+ int chB=digitalRead(encoder_4_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+//Encoder on INT5
+void encoder_5_change_m1() { //encoder5 mode 1x
+ int chB=digitalRead(encoder_5_int2);
+ if (!chB) { encoder_5_position++;}
+ else { encoder_5_position--; }
+}
+void encoder_5_change_m2() { //encoder5 mode 2x
+ int chB=digitalRead(encoder_5_int2);
+ int chA=digitalRead(corresp[5]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+void encoder_change_m4_A5(){//encoder5 mode 4x chA
+ int chA=digitalRead(corresp[5]);
+ int chB=digitalRead(encoder_5_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+void encoder_change_m4_B5(){//encoder5 mode 4x chB
+ int chA=digitalRead(corresp[5]);
+ int chB=digitalRead(encoder_5_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+
+/**************************************/
+// Generic interrupt counter functions//
+/**************************************/
+//Counter on INT0
+void counter_0_change() { //counter 0
+ counter_0++;
+}
+//Counter on INT1
+void counter_1_change() { //counter 1
+ counter_1++;
+}
+//Counter on INT2
+void counter_2_change() { //counter 2
+ counter_2++;
+}
+//Counter on INT3
+void counter_3_change() { //counter 3
+ counter_3++;
+}
+//Counter on INT4
+void counter_4_change() { //counter 4
+ counter_4++;
+}
+//Counter on INT5
+void counter_5_change() { //counter 5
+ counter_5++;
+}
+
+
diff --git a/Python3-Arduino-master/energy_meter_firmware/send_packet.ino b/Python3-Arduino-master/energy_meter_firmware/send_packet.ino
new file mode 100644
index 0000000..855a165
--- /dev/null
+++ b/Python3-Arduino-master/energy_meter_firmware/send_packet.ino
@@ -0,0 +1,94 @@
+/* YourDuino SoftwareSerialExample1
+ - Connect to another Arduino running "YD_SoftwareSerialExampleRS485_1Remote"
+ - Connect this unit Pins 10, 11, Gnd
+ - Pin 3 used for RS485 direction control
+ - To other unit Pins 11,10, Gnd (Cross over)
+ - Open Serial Monitor, type in top window.
+ - Should see same characters echoed back from remote Arduino
+
+ Questions: terry@yourduino.com
+*/
+
+/*-----( Import needed libraries )-----*/
+#include <SoftwareSerial.h>
+/*-----( Declare Constants and Pin Numbers )-----*/
+#define SSerialRX 10 //Serial Receive pin
+#define SSerialTX 11 //Serial Transmit pin
+
+#define SSerialTxControl 3 //RS485 Direction control
+
+#define RS485Transmit HIGH
+#define RS485Receive LOW
+
+#define Pin13LED 13
+
+/*-----( Declare objects )-----*/
+SoftwareSerial RS485Serial(SSerialRX, SSerialTX); // RX, TX
+
+/*-----( Declare Variables )-----*/
+int i;
+uint8_t byteReceived[8];
+uint8_t byteSend[8];
+//uint8_t byteReceivedold;
+uint8_t byteReceived1=5;
+
+void setup() /****** SETUP: RUNS ONCE ******/
+{ i=0;
+ // Start the built-in serial port, probably to Serial Monitor
+ Serial.begin(9600);
+// Serial.println("YourDuino.com SoftwareSerial remote loop example");
+// Serial.println("Use Serial Monitor, type in upper window, ENTER");
+
+ pinMode(Pin13LED, OUTPUT);
+ pinMode(SSerialTxControl, OUTPUT);
+
+ digitalWrite(SSerialTxControl, RS485Receive); // Init Transceiver
+
+ // Start the software serial port, to another device
+ RS485Serial.begin(9600); // set the data rate
+
+}//--(end setup )---
+
+
+void loop() /****** LOOP: RUNS CONSTANTLY ******/
+{
+ digitalWrite(Pin13LED, HIGH); // Show activity
+ while(Serial.available()>0)
+ {
+ byteReceived[i++]= Serial.read();
+ //byteReceived=Serial.readBytesUntil('1',byteReceivedold,7);
+ if(i==8)
+ {
+ digitalWrite(SSerialTxControl, RS485Transmit); // Enable RS485 Transmit
+
+ RS485Serial.write(byteReceived[0]); // Send byte to Remote Arduino
+ RS485Serial.write(byteReceived[1]);
+ RS485Serial.write(byteReceived[2]);
+ RS485Serial.write(byteReceived[3]);
+ RS485Serial.write(byteReceived[4]);
+ RS485Serial.write(byteReceived[5]);
+ RS485Serial.write(byteReceived[6]);
+ RS485Serial.write(byteReceived[7]);
+ i=0;
+ }
+
+ digitalWrite(Pin13LED, LOW); // Show activity
+ //delay(10);
+ digitalWrite(SSerialTxControl, RS485Receive); // Disable RS485 Transmit
+ }
+
+ if (RS485Serial.available()) //Look for data from other Arduino
+ {
+ digitalWrite(Pin13LED, HIGH); // Show activity
+ byteReceived1 = RS485Serial.read(); // Read received byte
+ Serial.write(byteReceived1); // Show on Serial Monitor
+ //delay(10);
+ digitalWrite(Pin13LED, LOW); // Show activity
+ }
+
+}//--(end main loop )---
+
+/*-----( Declare User-written Functions )-----*/
+
+//NONE
+//*********( THE END )***********
diff --git a/julia-arduino-master/README.md b/julia-arduino-master/README.md
new file mode 100644
index 0000000..3bf3c16
--- /dev/null
+++ b/julia-arduino-master/README.md
@@ -0,0 +1,14 @@
+# julia-arduino
+Julia interface for Arduino
+
+A simple toolbox to control Arduino board with Julia programs
+
+NOTE:
+
+1.Before using these tools, add the SerialPorts package by the command
+
+ Pkg.clone("https://github.com/cshekhard/SerialPorts.jl.git")
+
+2.Always include the ArduinoTools.jl file from 'tools' in the same directory where you run Julia scripts or examples
+
+3.Upload the appropriate firmware onto the Arduino board before testing the examples.
diff --git a/julia-arduino-master/arduinofirmware/arduinofirmware.ino b/julia-arduino-master/arduinofirmware/arduinofirmware.ino
new file mode 100644
index 0000000..555ac36
--- /dev/null
+++ b/julia-arduino-master/arduinofirmware/arduinofirmware.ino
@@ -0,0 +1,794 @@
+/* This file is meant to be used with the SCILAB arduino
+ toolbox, however, it can be used from the IDE environment
+ (or any other serial terminal) by typing commands like:
+
+ Conversion ascii -> number
+ 48->'0' ... 57->'9' 58->':' 59->';' 60->'<' 61->'=' 62->'>' 63->'?' 64->'@'
+ 65->'A' ... 90->'Z' 91->'[' 92->'\' 93->']' 94->'^' 95->'_' 96->'`'
+ 97->'a' ... 122->'z'
+
+ Dan0 or Dan1 : attach digital pin n (ascii from 2 to b) to input (0) or output (1)
+ Drn : read digital value (0 or 1) on pin n (ascii from 2 to b)
+ Dwn0 or Dwn1 : write 1 or 0 on pin n
+ An : reads analog pin n (ascii from 0 to 19)
+ Wnm : write analog value m (ascii from 0 to 255) on pin n (ascii from 0 to 19)
+ Sa1 or Sa2 : Attach servo 1 (digital pin 9) or 2 (digital pin 10)
+ Sw1n or Sw2n : moves servo 1 or servo 2 to position n (from ascii(0) to ascii(180))
+ Sd1 or Sd2 : Detach servo 1 or 2
+
+ Generic DC_Motor
+ Cijkl : setup for generic DCmotor number i (1 to 4), PW1 on pin number j, PWM2 or direction on pin number k, mode=l
+ l=0 for L293 (2 PWM) and l=1 for L298 (1PWM + 1 bit for direction)
+ Mijk : sets speed for generic DCmotor number i, j=0/1 for direction, k=ascii(0) .. ascii(255)
+ Mir : releases motor i (r=release)
+
+ Generic Interrupt counter
+ Iai : activate counter on INT number i (i=ascii(2 or 3 or 18 or 19 or 20 or 21)
+ Iri : release counter on INT number i
+ Ipi : read counter on INT number i
+ Izi : reset counter on INT number i
+
+ Generic Encoder
+ Eajkl: activate encoder on channelA on INT number j (j=ascii(2 or 3 or 18 or 19 or 20 or 21) et channelB on pin k or INT number k (k=ascii(0)..ascii(53))
+ and l=1 or 2 or 4 for 1x mode (count every rising of chA) or 2x mode (count every change statement of chA)
+ or 4x mode (every change statement of chA et chB)
+ Eri : release encoder on INTi
+ Epi : read position of encoder on INTi
+ Ezi : reset value of encoder on INTi position
+
+ R0 : sets analog reference to DEFAULT
+ R1 : sets analog reference to INTERNAL
+ R2 : sets analog reference to EXTERNAL
+
+ */
+
+#include <Servo.h>
+
+/* define internal for the MEGA as 1.1V (as as for the 328) */
+#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
+#define INTERNAL INTERNAL1V1
+#endif
+
+/* create and initialize servos */
+Servo servo1;
+Servo servo2;
+
+/* Generic motors */
+int dcm1_pin1,dcm1_pin2,dcm1_mode;
+int dcm2_pin1,dcm2_pin2,dcm2_mode;
+int dcm3_pin1,dcm3_pin2,dcm3_mode;
+int dcm4_pin1,dcm4_pin2,dcm4_mode;
+
+// Generic encoder
+/* Encoders initialisation */
+// volatile declare as those variables will change in interrupts
+volatile long int encoder_0_position = 0,encoder_1_position = 0, encoder_2_position = 0, encoder_3_position = 0, encoder_4_position = 0, encoder_5_position = 0;
+int encoder_0_int2 ; // Pin used for encoder0 chanel B : define from scilab
+int encoder_1_int2 ; // Pin used for encoder1 chanel B : define from scilab
+int encoder_2_int2 ; // Pin used for encoder2 chanel B : define from scilab
+int encoder_3_int2 ; // Pin used for encoder3 chanel B : define from scilab
+int encoder_4_int2 ; // Pin used for encoder4 chanel B : define from scilab
+int encoder_5_int2 ; // Pin used for encoder5 chanel B : define from scilab
+int encoder_num, encoder_int2;
+int corresp[6]={2,3,21,20,19,18}; //Correspondance beetween interrupt number and pin number
+
+//Generic counter
+volatile long int counter_0=0,counter_1=0,counter_2=0,counter_3=0,counter_4=0,counter_5=0;
+
+int initiat=1;
+
+void setup() {
+ /* initialize serial */
+ Serial.begin(115200);
+
+}
+void loop() {
+
+
+
+ /* variables declaration and initialization */
+
+ static int s = -1; /* state */
+ static int pin = 13; /* generic pin number */
+ static int dcm = 4; /* generic dc motor number */
+
+ int val = 0; /* generic value read from serial */
+ int agv = 0; /* generic analog value */
+ int dgv = 0; /* generic digital value */
+ static int enc = 1; /* encoder number 1 (or 2 for Arduino mega) */
+
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read();
+
+ //Checking for availability of firmware
+ if(val==118)
+ {
+ delay(10);
+ Serial.write("ok");
+ }
+
+// if (val==0){// version
+// Serial.print('v3');
+// val=-1;
+// }
+ //case A -> Analog
+ else if (val==65){//A -> Analog read
+ while (Serial.available()==0) {}; // Waiting char
+// val=Serial.read();
+// if (val==114){ //'r'-> read pin
+// while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>47 && val<67) { //from pin 0, to pin 19
+ pin=val-48; //number of the pin
+ agv=analogRead(pin);
+ //Serial.println(agv);
+ Serial.print(agv); /* changed from Serial.write to Serial.print for julia-arduino interface */
+ }
+ val=-1;
+ }
+ else if (val==87){//W -> Analog write
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>47 && val<67) { //from pin 0 to pin 19
+ pin=val-48; //number of the pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ analogWrite(pin,val);
+ }
+ val=-1;
+ }
+ //}
+
+ //case D -> Digital
+ else if (val==68){//D -> Digital pins
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97){ //'a'-> declare pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48;
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==48 || val==49) {
+ if (val==48){//'0' -> input
+ pinMode(pin,INPUT);
+ }
+ else if (val==49){//'1' -> output
+ pinMode(pin,OUTPUT);
+ }
+ }
+ }
+ }
+ if (val==114){ //'r'-> read pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48; //number of the digital pin
+ dgv=digitalRead(pin);
+// Serial.println(dgv);
+ Serial.print(dgv);
+ }
+ }
+ if (val==119){ //'w'-> write pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48; //number of the digital pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==48 || val==49) { // 0 or 1
+ dgv=val-48;
+ digitalWrite(pin,dgv);
+// Serial.println(dgv);
+ }
+ }
+ }
+ val=-1;
+
+ }
+ //case S -> servomotor
+ else if (val==83){
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97){ //'a'-> declare servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ if (pin==1) {
+ servo1.attach(9);
+ servo1.write(0);
+// agv=servo1.read();
+// Serial.println(agv);
+ }
+ if (pin==2) {
+ servo2.attach(10);
+ servo2.write(0);
+// agv=servo2.read();
+// Serial.println(agv);
+ }
+
+ }
+ }
+ if (val==100){ //'d'-> detach servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ if (pin==1) {servo1.detach(); }
+ if (pin==2) {servo2.detach(); }
+ }
+ }
+ if (val==119){ //'w'-> write pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>=0 && val<=180){
+ if (pin==1) {
+ servo1.write(val);
+// agv=servo1.read();
+// Serial.println(agv);
+ }
+ if (pin==2) {
+ servo2.write(val);
+// agv=servo2.read();
+// Serial.println(agv);
+ }
+ }
+ }
+ }
+ val=-1;
+
+ }
+
+ //case I -> Interrupt
+ else if (val==73){
+ /* ASKING ACTIVATION OF AN COUNTER */
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97) { //a = activation
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read(); // Read int_number (must be 0 or 1 on UNO / 1 to 5 on MEGA) : int_number set to encoder number
+ pinMode(corresp[val],INPUT); // set interrupt pin as input
+ if (val == 0) {attachInterrupt(val, counter_0_change, RISING);counter_0=0;} //counter INT0
+ else if (val == 1) {attachInterrupt(val, counter_1_change, RISING);counter_1=0;} //counter INT1
+ else if (val == 2) {attachInterrupt(val, counter_2_change, RISING);counter_2=0;} //counter INT2
+ else if (val == 3) {attachInterrupt(val, counter_3_change, RISING);counter_3=0;} //counter INT3
+ else if (val == 4) {attachInterrupt(val, counter_4_change, RISING);counter_4=0;} //counter INT4
+ else if (val == 5) {attachInterrupt(val, counter_5_change, RISING);counter_5=0;} //counter INT5
+ }
+ /* ASKING POSITION OF A COUNTER */
+ if (val==112) { //p = sending counting value
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read() ; //reading next value = counter number
+ if (val==0){ Serial.write((uint8_t*)&counter_0,4); }// asking counter 0
+ else if (val==1){ Serial.write((uint8_t*)&counter_1,4); }// asking counter 1
+ else if (val==2){ Serial.write((uint8_t*)&counter_2,4); }// asking counter 2
+ else if (val==3){ Serial.write((uint8_t*)&counter_3,4); }// asking counter 3
+ else if (val==4){ Serial.write((uint8_t*)&counter_4,4); }// asking counter 4
+ else if (val==5){ Serial.write((uint8_t*)&counter_5,4); }// asking counter 5
+ }
+ /* ASKING RELEASE OF AN INTERRUPT */
+ if (val==114) { //r = release counter
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = counter number
+ detachInterrupt(val); // Detach interrupt on chanel A of counter num=val
+ if (val==0) { counter_0=0;} // Reset counter
+ else if (val==1) { counter_1=0;} // Reset counter
+ else if (val==2) { counter_2=0;} // Reset counter
+ else if (val==3) { counter_3=0;} // Reset counter
+ else if (val==4) { counter_4=0;} // Reset counter
+ else if (val==5) { counter_5=0;} // Reset counter
+ }
+ /* ASKING RESET VALUE OF AN COUNTER */
+ if (val==122) { //z set to zero
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = counter number
+ if (val==0) { counter_0=0;} // Reset counter
+ else if (val==1) { counter_1=0;} // Reset counter
+ else if (val==2) { counter_2=0;} // Reset counter
+ else if (val==3) { counter_3=0;} // Reset counter
+ else if (val==4) { counter_4=0;} // Reset counter
+ else if (val==5) { counter_5=0;} // Reset counter
+ }
+ val=-1;
+
+ }
+
+ //case E -> Encoder
+ else if (val==69){
+ /*Generic encoder functions */
+ while (Serial.available()==0) {};
+ val=Serial.read();
+ /* ASKING ACTIVATION OF AN ENCODER */
+ if (val==97) { //activation
+ while (Serial.available()==0) {}; // Waiting char
+ encoder_num=Serial.read(); // Read int_number (must be 0 or 1 on UNO / 1 to 5 on MEGA) : int_number set to encoer number
+ pinMode(corresp[encoder_num],INPUT); // set interrupt pin as input
+ while (Serial.available()==0) {}; // Waiting char
+ encoder_int2=Serial.read(); // Read int2 (must be a digital PIN with interrupt or not : depends on mode)
+ // no declaration for the moment : wait for encoder mode
+ while (Serial.available()==0) {}; // Waiting char
+ int mode = Serial.read()-48; // Read mode 1 ou 2 (1 counting only rising of chA, 2 counting rising and falling)
+ if (mode == 4) { // mode 4x : 2 cases : chA=pin2 / chB=pin3 or chA=pin3/chB=pin2 [Uno retriction]
+ pinMode(corresp[encoder_int2],INPUT); // set interrupt number as input
+ } else {
+ pinMode(encoder_int2,INPUT); // set pin as input
+ }
+
+ if (encoder_num == 0) { //encoder INT0
+ encoder_0_position=0; // Reset position
+ if (mode==4) {
+ encoder_0_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A0, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B0, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_0_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_0_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_0_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_0_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 1) { //encoder INT1
+ encoder_1_position=0; // Reset position
+ if (mode==4) {
+ encoder_1_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A1, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B1, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_1_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_1_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_1_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_1_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 2) { //encoder INT2
+ encoder_2_position=0; // Reset position
+ if (mode==4) {
+ encoder_2_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A2, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B2, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_2_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_2_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_2_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_2_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 3) { //encoder INT3
+ encoder_3_position=0; // Reset position
+ if (mode==4) {
+ encoder_3_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A3, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B3, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_3_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_3_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_3_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_3_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 4) { //encoder INT4
+ encoder_4_position=0; // Reset position
+ if (mode==4) {
+ encoder_4_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A4, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B4, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_4_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_4_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_4_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_4_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 5) { //encoder INT5
+ encoder_5_position=0; // Reset position
+ if (mode==4) {
+ encoder_5_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A5, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B5, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_5_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_5_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_5_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_5_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ }
+ }
+ /* ASKING POSITION OF AN ENCODER */
+ if (val==112) { //p = sending encoder position
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read() ; //reading next value = encoder number
+ if (val==0){ Serial.write((uint8_t*)&encoder_0_position,4); }// asking encoder 0 position
+ else if (val==1){ Serial.write((uint8_t*)&encoder_1_position,4); }// asking encoder 1 position
+ else if (val==2){ Serial.write((uint8_t*)&encoder_2_position,4); }// asking encoder 2 position
+ else if (val==3){ Serial.write((uint8_t*)&encoder_3_position,4); }// asking encoder 3 position
+ else if (val==4){ Serial.write((uint8_t*)&encoder_4_position,4); }// asking encoder 4 position
+ else if (val==5){ Serial.write((uint8_t*)&encoder_5_position,4); }// asking encoder 5 position
+ }
+ /* ASKING RELEASE OF AN ENCODER */
+ if (val==114) { //r = release encoder
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = encoder number
+ detachInterrupt(val); // Detach interrupt on chanel A of encoder num=val
+ if (val==0) { encoder_0_position=0;encoder_0_int2=-1;} // Reset position
+ else if (val==1) { encoder_1_position=0;encoder_1_int2=-1;} // Reset position
+ else if (val==2) { encoder_2_position=0;encoder_2_int2=-1;} // Reset position
+ else if (val==3) { encoder_3_position=0;encoder_3_int2=-1;} // Reset position
+ else if (val==4) { encoder_4_position=0;encoder_4_int2=-1;} // Reset position
+ else if (val==5) { encoder_5_position=0;encoder_5_int2=-1;} // Reset position
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); // reading next value = encoder number
+ detachInterrupt(val); // Detach interrupt on chanel B of encoder num=val (may be the same if mode=1 or 2)
+ }
+ /* ASKING RESET POSITION OF AN ENCODER */
+ if (val==122) { // z = encoder position to zero
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = encoder number
+ if (val==0) { encoder_0_position=0;} // Reset position
+ else if (val==1) { encoder_1_position=0;} // Reset position
+ else if (val==2) { encoder_2_position=0;} // Reset position
+ else if (val==3) { encoder_3_position=0;} // Reset position
+ else if (val==4) { encoder_4_position=0;} // Reset position
+ else if (val==5) { encoder_5_position=0;} // Reset position
+ }
+ val=-1;
+
+ }
+
+ //case C -> DCmotor init
+ else if(val==67){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* 2nd char = motor number */
+ if (val>48 && val<53) {
+ dcm=val-48;
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the third received value indicates the pin1 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>49 && val<102) {
+ if (dcm==1) dcm1_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==2) dcm2_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==3) dcm3_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==4) dcm4_pin1=val-48;/* calculate motor pin1 */
+ pinMode(val-48, OUTPUT); //set pin as output
+ analogWrite(val-48,0); /* DUTY CYCLE */
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the fourth received value indicates the pin2 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>49 && val<102) {
+ if (dcm==1) dcm1_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==2) dcm2_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==3) dcm3_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==4) dcm4_pin2=val-48;/* calculate motor pin2 */
+ pinMode(val-48, OUTPUT); //set pin as output
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the fifth received value indicates the pin2 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>47 && val<50) {
+ int mode = val-48;
+ if (dcm==1) dcm1_mode=mode;/* calculate motor mode */
+ if (dcm==2) dcm2_mode=mode;/* calculate motor mode */
+ if (dcm==3) dcm3_mode=mode;/* calculate motor mode */
+ if (dcm==4) dcm4_mode=mode;/* calculate motor mode */
+ //initialization of port
+ if(mode==0){//L293
+ if (dcm==1) analogWrite(dcm1_pin2,0); /* DUTY CYCLE */
+ if (dcm==2) analogWrite(dcm2_pin2,0); /* DUTY CYCLE */
+ if (dcm==3) analogWrite(dcm3_pin2,0); /* DUTY CYCLE */
+ if (dcm==4) analogWrite(dcm4_pin2,0); /* DUTY CYCLE */
+ } else if (mode==1) {//L297
+ if (dcm==1) digitalWrite(dcm1_pin2, LOW); /* DIRECTION */
+ if (dcm==2) digitalWrite(dcm2_pin2, LOW); /* DIRECTION */
+ if (dcm==3) digitalWrite(dcm3_pin2, LOW); /* DIRECTION */
+ if (dcm==4) digitalWrite(dcm4_pin2, LOW); /* DIRECTION */
+ }
+ Serial.print("OK"); // tell Scilab that motor s initialization finished
+ // Cette commande sert à rien dans la toolbox de base,
+ // sauf si on prévoit d'ajouter des actions à l'init des moteurs
+ // par exemple chercher la position d'origine !
+ }
+ }
+ }
+ }
+ val=-1;
+
+ }
+
+ //case M -> DC motor
+ else if(val==77){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the second received value indicates the motor number
+ from abs('1')=49, motor1, to abs('4')=52, motor4 */
+ if (val>48 && val<53) {
+ dcm=val-48; /* calculate motor number */
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read();
+ /* the third received value indicates the sens direction or release*/
+ if (val==48 || val ==49){
+ int direction=val-48;
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = 0..255
+ if (dcm==1){
+ if(dcm1_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm1_pin1,val);
+ analogWrite(dcm1_pin2,0);
+ } else {
+ analogWrite(dcm1_pin2,val);
+ analogWrite(dcm1_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm1_pin2,LOW);
+ if (direction==1) digitalWrite(dcm1_pin2,HIGH);
+ analogWrite(dcm1_pin1,val);
+ }
+ }
+ if (dcm==2){
+ if(dcm2_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm2_pin1,val);
+ analogWrite(dcm2_pin2,0);
+ } else {
+ analogWrite(dcm2_pin2,val);
+ analogWrite(dcm2_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm2_pin2,LOW);
+ if (direction==1) digitalWrite(dcm2_pin2,HIGH);
+ analogWrite(dcm2_pin1,val);
+ }
+ }
+ if (dcm==3){
+ if(dcm3_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm3_pin1,val);
+ analogWrite(dcm3_pin2,0);
+ } else {
+ analogWrite(dcm3_pin2,val);
+ analogWrite(dcm3_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm3_pin2,LOW);
+ if (direction==1) digitalWrite(dcm3_pin2,HIGH);
+ analogWrite(dcm3_pin1,val);
+ }
+ }
+ if (dcm==4){
+ if(dcm4_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm4_pin1,val);
+ analogWrite(dcm4_pin2,0);
+ } else {
+ analogWrite(dcm4_pin2,val);
+ analogWrite(dcm4_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm4_pin2,LOW);
+ if (direction==1) digitalWrite(dcm4_pin2,HIGH);
+ analogWrite(dcm4_pin1,val);
+ }
+ }
+ }
+ if (val==114){//release motor
+ if(dcm==1) {
+ analogWrite(dcm1_pin1,0);
+ if(dcm1_mode==0) analogWrite(dcm1_pin2,0);
+ }
+ if(dcm==2) {
+ analogWrite(dcm2_pin1,0);
+ if(dcm2_mode==0) analogWrite(dcm2_pin2,0);
+ }
+ if(dcm==3) {
+ analogWrite(dcm3_pin1,0);
+ if(dcm3_mode==0) analogWrite(dcm3_pin2,0);
+ }
+ if(dcm==4) {
+ analogWrite(dcm4_pin1,0);
+ if(dcm4_mode==0) analogWrite(dcm4_pin2,0);
+ }
+ }
+
+ }
+ val=-1;
+
+ }
+
+
+ //case R -> Analog reference
+ if(val==82){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ if (val==48) analogReference(DEFAULT);
+ if (val==49) analogReference(INTERNAL);
+ if (val==50) analogReference(EXTERNAL);
+ if (val==51) Serial.print("v3");
+ val=-1;
+ }
+
+} /* end loop statement */
+
+
+/**************************************/
+// Generic interrupt encoder functions//
+/**************************************/
+//Encoder on INT0
+void encoder_0_change_m1() { //encoder0 mode 1x
+ int chB=digitalRead(encoder_0_int2);
+ if (!chB) { encoder_0_position++;}
+ else { encoder_0_position--; }
+}
+void encoder_0_change_m2() { //encoder0 mode 2x
+ int chB=digitalRead(encoder_0_int2);
+ int chA=digitalRead(corresp[0]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+void encoder_change_m4_A0(){//encoder0 mode 4x chA
+ int chA=digitalRead(corresp[0]);
+ int chB=digitalRead(encoder_0_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+void encoder_change_m4_B0(){//encoder0 mode 4x chB
+ int chA=digitalRead(corresp[0]);
+ int chB=digitalRead(encoder_0_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+//Encoder on INT1
+void encoder_1_change_m1() { //encoder1 mode 1x
+ int chB=digitalRead(encoder_1_int2);
+ if (!chB) { encoder_1_position++;}
+ else { encoder_1_position--; }
+}
+void encoder_1_change_m2() { //encoder1 mode 2x
+ int chB=digitalRead(encoder_1_int2);
+ int chA=digitalRead(corresp[1]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+void encoder_change_m4_A1(){//encoder1 mode 4x chA
+ int chA=digitalRead(corresp[1]);
+ int chB=digitalRead(encoder_1_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+void encoder_change_m4_B1(){//encoder1 mode 4x chB
+ int chA=digitalRead(corresp[1]);
+ int chB=digitalRead(encoder_1_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+//Encoder on INT2
+void encoder_2_change_m1() { //encoder2 mode 1x
+ int chB=digitalRead(encoder_2_int2);
+ if (!chB) { encoder_2_position++;}
+ else { encoder_2_position--; }
+}
+void encoder_2_change_m2() { //encoder2 mode 2x
+ int chB=digitalRead(encoder_2_int2);
+ int chA=digitalRead(corresp[2]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+void encoder_change_m4_A2(){//encoder2 mode 4x chA
+ int chA=digitalRead(corresp[2]);
+ int chB=digitalRead(encoder_2_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+void encoder_change_m4_B2(){//encoder2 mode 4x chB
+ int chA=digitalRead(corresp[2]);
+ int chB=digitalRead(encoder_2_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+//Encoder on INT3
+void encoder_3_change_m1() { //encoder3 mode 1x
+ int chB=digitalRead(encoder_3_int2);
+ if (!chB) { encoder_3_position++;}
+ else { encoder_3_position--; }
+}
+void encoder_3_change_m2() { //encoder3 mode 2x
+ int chB=digitalRead(encoder_3_int2);
+ int chA=digitalRead(corresp[3]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+void encoder_change_m4_A3(){//encoder3 mode 4x chA
+ int chA=digitalRead(corresp[3]);
+ int chB=digitalRead(encoder_3_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+void encoder_change_m4_B3(){//encoder3 mode 4x chB
+ int chA=digitalRead(corresp[3]);
+ int chB=digitalRead(encoder_3_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+//Encoder on INT4
+void encoder_4_change_m1() { //encoder4 mode 1x
+ int chB=digitalRead(encoder_4_int2);
+ if (!chB) { encoder_4_position++;}
+ else { encoder_4_position--; }
+}
+void encoder_4_change_m2() { //encoder4 mode 2x
+ int chB=digitalRead(encoder_4_int2);
+ int chA=digitalRead(corresp[4]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+void encoder_change_m4_A4(){//encoder4 mode 4x chA
+ int chA=digitalRead(corresp[4]);
+ int chB=digitalRead(encoder_4_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+void encoder_change_m4_B4(){//encoder4 mode 4x chB
+ int chA=digitalRead(corresp[4]);
+ int chB=digitalRead(encoder_4_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+//Encoder on INT5
+void encoder_5_change_m1() { //encoder5 mode 1x
+ int chB=digitalRead(encoder_5_int2);
+ if (!chB) { encoder_5_position++;}
+ else { encoder_5_position--; }
+}
+void encoder_5_change_m2() { //encoder5 mode 2x
+ int chB=digitalRead(encoder_5_int2);
+ int chA=digitalRead(corresp[5]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+void encoder_change_m4_A5(){//encoder5 mode 4x chA
+ int chA=digitalRead(corresp[5]);
+ int chB=digitalRead(encoder_5_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+void encoder_change_m4_B5(){//encoder5 mode 4x chB
+ int chA=digitalRead(corresp[5]);
+ int chB=digitalRead(encoder_5_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+
+/**************************************/
+// Generic interrupt counter functions//
+/**************************************/
+//Counter on INT0
+void counter_0_change() { //counter 0
+ counter_0++;
+}
+//Counter on INT1
+void counter_1_change() { //counter 1
+ counter_1++;
+}
+//Counter on INT2
+void counter_2_change() { //counter 2
+ counter_2++;
+}
+//Counter on INT3
+void counter_3_change() { //counter 3
+ counter_3++;
+}
+//Counter on INT4
+void counter_4_change() { //counter 4
+ counter_4++;
+}
+//Counter on INT5
+void counter_5_change() { //counter 5
+ counter_5++;
+}
+
+
diff --git a/julia-arduino-master/arduinofirmware/arduinofirmware.ino~ b/julia-arduino-master/arduinofirmware/arduinofirmware.ino~
new file mode 100644
index 0000000..555ac36
--- /dev/null
+++ b/julia-arduino-master/arduinofirmware/arduinofirmware.ino~
@@ -0,0 +1,794 @@
+/* This file is meant to be used with the SCILAB arduino
+ toolbox, however, it can be used from the IDE environment
+ (or any other serial terminal) by typing commands like:
+
+ Conversion ascii -> number
+ 48->'0' ... 57->'9' 58->':' 59->';' 60->'<' 61->'=' 62->'>' 63->'?' 64->'@'
+ 65->'A' ... 90->'Z' 91->'[' 92->'\' 93->']' 94->'^' 95->'_' 96->'`'
+ 97->'a' ... 122->'z'
+
+ Dan0 or Dan1 : attach digital pin n (ascii from 2 to b) to input (0) or output (1)
+ Drn : read digital value (0 or 1) on pin n (ascii from 2 to b)
+ Dwn0 or Dwn1 : write 1 or 0 on pin n
+ An : reads analog pin n (ascii from 0 to 19)
+ Wnm : write analog value m (ascii from 0 to 255) on pin n (ascii from 0 to 19)
+ Sa1 or Sa2 : Attach servo 1 (digital pin 9) or 2 (digital pin 10)
+ Sw1n or Sw2n : moves servo 1 or servo 2 to position n (from ascii(0) to ascii(180))
+ Sd1 or Sd2 : Detach servo 1 or 2
+
+ Generic DC_Motor
+ Cijkl : setup for generic DCmotor number i (1 to 4), PW1 on pin number j, PWM2 or direction on pin number k, mode=l
+ l=0 for L293 (2 PWM) and l=1 for L298 (1PWM + 1 bit for direction)
+ Mijk : sets speed for generic DCmotor number i, j=0/1 for direction, k=ascii(0) .. ascii(255)
+ Mir : releases motor i (r=release)
+
+ Generic Interrupt counter
+ Iai : activate counter on INT number i (i=ascii(2 or 3 or 18 or 19 or 20 or 21)
+ Iri : release counter on INT number i
+ Ipi : read counter on INT number i
+ Izi : reset counter on INT number i
+
+ Generic Encoder
+ Eajkl: activate encoder on channelA on INT number j (j=ascii(2 or 3 or 18 or 19 or 20 or 21) et channelB on pin k or INT number k (k=ascii(0)..ascii(53))
+ and l=1 or 2 or 4 for 1x mode (count every rising of chA) or 2x mode (count every change statement of chA)
+ or 4x mode (every change statement of chA et chB)
+ Eri : release encoder on INTi
+ Epi : read position of encoder on INTi
+ Ezi : reset value of encoder on INTi position
+
+ R0 : sets analog reference to DEFAULT
+ R1 : sets analog reference to INTERNAL
+ R2 : sets analog reference to EXTERNAL
+
+ */
+
+#include <Servo.h>
+
+/* define internal for the MEGA as 1.1V (as as for the 328) */
+#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
+#define INTERNAL INTERNAL1V1
+#endif
+
+/* create and initialize servos */
+Servo servo1;
+Servo servo2;
+
+/* Generic motors */
+int dcm1_pin1,dcm1_pin2,dcm1_mode;
+int dcm2_pin1,dcm2_pin2,dcm2_mode;
+int dcm3_pin1,dcm3_pin2,dcm3_mode;
+int dcm4_pin1,dcm4_pin2,dcm4_mode;
+
+// Generic encoder
+/* Encoders initialisation */
+// volatile declare as those variables will change in interrupts
+volatile long int encoder_0_position = 0,encoder_1_position = 0, encoder_2_position = 0, encoder_3_position = 0, encoder_4_position = 0, encoder_5_position = 0;
+int encoder_0_int2 ; // Pin used for encoder0 chanel B : define from scilab
+int encoder_1_int2 ; // Pin used for encoder1 chanel B : define from scilab
+int encoder_2_int2 ; // Pin used for encoder2 chanel B : define from scilab
+int encoder_3_int2 ; // Pin used for encoder3 chanel B : define from scilab
+int encoder_4_int2 ; // Pin used for encoder4 chanel B : define from scilab
+int encoder_5_int2 ; // Pin used for encoder5 chanel B : define from scilab
+int encoder_num, encoder_int2;
+int corresp[6]={2,3,21,20,19,18}; //Correspondance beetween interrupt number and pin number
+
+//Generic counter
+volatile long int counter_0=0,counter_1=0,counter_2=0,counter_3=0,counter_4=0,counter_5=0;
+
+int initiat=1;
+
+void setup() {
+ /* initialize serial */
+ Serial.begin(115200);
+
+}
+void loop() {
+
+
+
+ /* variables declaration and initialization */
+
+ static int s = -1; /* state */
+ static int pin = 13; /* generic pin number */
+ static int dcm = 4; /* generic dc motor number */
+
+ int val = 0; /* generic value read from serial */
+ int agv = 0; /* generic analog value */
+ int dgv = 0; /* generic digital value */
+ static int enc = 1; /* encoder number 1 (or 2 for Arduino mega) */
+
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read();
+
+ //Checking for availability of firmware
+ if(val==118)
+ {
+ delay(10);
+ Serial.write("ok");
+ }
+
+// if (val==0){// version
+// Serial.print('v3');
+// val=-1;
+// }
+ //case A -> Analog
+ else if (val==65){//A -> Analog read
+ while (Serial.available()==0) {}; // Waiting char
+// val=Serial.read();
+// if (val==114){ //'r'-> read pin
+// while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>47 && val<67) { //from pin 0, to pin 19
+ pin=val-48; //number of the pin
+ agv=analogRead(pin);
+ //Serial.println(agv);
+ Serial.print(agv); /* changed from Serial.write to Serial.print for julia-arduino interface */
+ }
+ val=-1;
+ }
+ else if (val==87){//W -> Analog write
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>47 && val<67) { //from pin 0 to pin 19
+ pin=val-48; //number of the pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ analogWrite(pin,val);
+ }
+ val=-1;
+ }
+ //}
+
+ //case D -> Digital
+ else if (val==68){//D -> Digital pins
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97){ //'a'-> declare pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48;
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==48 || val==49) {
+ if (val==48){//'0' -> input
+ pinMode(pin,INPUT);
+ }
+ else if (val==49){//'1' -> output
+ pinMode(pin,OUTPUT);
+ }
+ }
+ }
+ }
+ if (val==114){ //'r'-> read pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48; //number of the digital pin
+ dgv=digitalRead(pin);
+// Serial.println(dgv);
+ Serial.print(dgv);
+ }
+ }
+ if (val==119){ //'w'-> write pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48; //number of the digital pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==48 || val==49) { // 0 or 1
+ dgv=val-48;
+ digitalWrite(pin,dgv);
+// Serial.println(dgv);
+ }
+ }
+ }
+ val=-1;
+
+ }
+ //case S -> servomotor
+ else if (val==83){
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97){ //'a'-> declare servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ if (pin==1) {
+ servo1.attach(9);
+ servo1.write(0);
+// agv=servo1.read();
+// Serial.println(agv);
+ }
+ if (pin==2) {
+ servo2.attach(10);
+ servo2.write(0);
+// agv=servo2.read();
+// Serial.println(agv);
+ }
+
+ }
+ }
+ if (val==100){ //'d'-> detach servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ if (pin==1) {servo1.detach(); }
+ if (pin==2) {servo2.detach(); }
+ }
+ }
+ if (val==119){ //'w'-> write pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>=0 && val<=180){
+ if (pin==1) {
+ servo1.write(val);
+// agv=servo1.read();
+// Serial.println(agv);
+ }
+ if (pin==2) {
+ servo2.write(val);
+// agv=servo2.read();
+// Serial.println(agv);
+ }
+ }
+ }
+ }
+ val=-1;
+
+ }
+
+ //case I -> Interrupt
+ else if (val==73){
+ /* ASKING ACTIVATION OF AN COUNTER */
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97) { //a = activation
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read(); // Read int_number (must be 0 or 1 on UNO / 1 to 5 on MEGA) : int_number set to encoder number
+ pinMode(corresp[val],INPUT); // set interrupt pin as input
+ if (val == 0) {attachInterrupt(val, counter_0_change, RISING);counter_0=0;} //counter INT0
+ else if (val == 1) {attachInterrupt(val, counter_1_change, RISING);counter_1=0;} //counter INT1
+ else if (val == 2) {attachInterrupt(val, counter_2_change, RISING);counter_2=0;} //counter INT2
+ else if (val == 3) {attachInterrupt(val, counter_3_change, RISING);counter_3=0;} //counter INT3
+ else if (val == 4) {attachInterrupt(val, counter_4_change, RISING);counter_4=0;} //counter INT4
+ else if (val == 5) {attachInterrupt(val, counter_5_change, RISING);counter_5=0;} //counter INT5
+ }
+ /* ASKING POSITION OF A COUNTER */
+ if (val==112) { //p = sending counting value
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read() ; //reading next value = counter number
+ if (val==0){ Serial.write((uint8_t*)&counter_0,4); }// asking counter 0
+ else if (val==1){ Serial.write((uint8_t*)&counter_1,4); }// asking counter 1
+ else if (val==2){ Serial.write((uint8_t*)&counter_2,4); }// asking counter 2
+ else if (val==3){ Serial.write((uint8_t*)&counter_3,4); }// asking counter 3
+ else if (val==4){ Serial.write((uint8_t*)&counter_4,4); }// asking counter 4
+ else if (val==5){ Serial.write((uint8_t*)&counter_5,4); }// asking counter 5
+ }
+ /* ASKING RELEASE OF AN INTERRUPT */
+ if (val==114) { //r = release counter
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = counter number
+ detachInterrupt(val); // Detach interrupt on chanel A of counter num=val
+ if (val==0) { counter_0=0;} // Reset counter
+ else if (val==1) { counter_1=0;} // Reset counter
+ else if (val==2) { counter_2=0;} // Reset counter
+ else if (val==3) { counter_3=0;} // Reset counter
+ else if (val==4) { counter_4=0;} // Reset counter
+ else if (val==5) { counter_5=0;} // Reset counter
+ }
+ /* ASKING RESET VALUE OF AN COUNTER */
+ if (val==122) { //z set to zero
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = counter number
+ if (val==0) { counter_0=0;} // Reset counter
+ else if (val==1) { counter_1=0;} // Reset counter
+ else if (val==2) { counter_2=0;} // Reset counter
+ else if (val==3) { counter_3=0;} // Reset counter
+ else if (val==4) { counter_4=0;} // Reset counter
+ else if (val==5) { counter_5=0;} // Reset counter
+ }
+ val=-1;
+
+ }
+
+ //case E -> Encoder
+ else if (val==69){
+ /*Generic encoder functions */
+ while (Serial.available()==0) {};
+ val=Serial.read();
+ /* ASKING ACTIVATION OF AN ENCODER */
+ if (val==97) { //activation
+ while (Serial.available()==0) {}; // Waiting char
+ encoder_num=Serial.read(); // Read int_number (must be 0 or 1 on UNO / 1 to 5 on MEGA) : int_number set to encoer number
+ pinMode(corresp[encoder_num],INPUT); // set interrupt pin as input
+ while (Serial.available()==0) {}; // Waiting char
+ encoder_int2=Serial.read(); // Read int2 (must be a digital PIN with interrupt or not : depends on mode)
+ // no declaration for the moment : wait for encoder mode
+ while (Serial.available()==0) {}; // Waiting char
+ int mode = Serial.read()-48; // Read mode 1 ou 2 (1 counting only rising of chA, 2 counting rising and falling)
+ if (mode == 4) { // mode 4x : 2 cases : chA=pin2 / chB=pin3 or chA=pin3/chB=pin2 [Uno retriction]
+ pinMode(corresp[encoder_int2],INPUT); // set interrupt number as input
+ } else {
+ pinMode(encoder_int2,INPUT); // set pin as input
+ }
+
+ if (encoder_num == 0) { //encoder INT0
+ encoder_0_position=0; // Reset position
+ if (mode==4) {
+ encoder_0_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A0, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B0, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_0_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_0_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_0_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_0_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 1) { //encoder INT1
+ encoder_1_position=0; // Reset position
+ if (mode==4) {
+ encoder_1_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A1, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B1, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_1_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_1_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_1_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_1_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 2) { //encoder INT2
+ encoder_2_position=0; // Reset position
+ if (mode==4) {
+ encoder_2_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A2, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B2, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_2_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_2_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_2_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_2_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 3) { //encoder INT3
+ encoder_3_position=0; // Reset position
+ if (mode==4) {
+ encoder_3_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A3, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B3, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_3_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_3_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_3_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_3_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 4) { //encoder INT4
+ encoder_4_position=0; // Reset position
+ if (mode==4) {
+ encoder_4_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A4, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B4, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_4_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_4_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_4_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_4_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 5) { //encoder INT5
+ encoder_5_position=0; // Reset position
+ if (mode==4) {
+ encoder_5_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A5, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B5, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_5_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_5_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_5_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_5_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ }
+ }
+ /* ASKING POSITION OF AN ENCODER */
+ if (val==112) { //p = sending encoder position
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read() ; //reading next value = encoder number
+ if (val==0){ Serial.write((uint8_t*)&encoder_0_position,4); }// asking encoder 0 position
+ else if (val==1){ Serial.write((uint8_t*)&encoder_1_position,4); }// asking encoder 1 position
+ else if (val==2){ Serial.write((uint8_t*)&encoder_2_position,4); }// asking encoder 2 position
+ else if (val==3){ Serial.write((uint8_t*)&encoder_3_position,4); }// asking encoder 3 position
+ else if (val==4){ Serial.write((uint8_t*)&encoder_4_position,4); }// asking encoder 4 position
+ else if (val==5){ Serial.write((uint8_t*)&encoder_5_position,4); }// asking encoder 5 position
+ }
+ /* ASKING RELEASE OF AN ENCODER */
+ if (val==114) { //r = release encoder
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = encoder number
+ detachInterrupt(val); // Detach interrupt on chanel A of encoder num=val
+ if (val==0) { encoder_0_position=0;encoder_0_int2=-1;} // Reset position
+ else if (val==1) { encoder_1_position=0;encoder_1_int2=-1;} // Reset position
+ else if (val==2) { encoder_2_position=0;encoder_2_int2=-1;} // Reset position
+ else if (val==3) { encoder_3_position=0;encoder_3_int2=-1;} // Reset position
+ else if (val==4) { encoder_4_position=0;encoder_4_int2=-1;} // Reset position
+ else if (val==5) { encoder_5_position=0;encoder_5_int2=-1;} // Reset position
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); // reading next value = encoder number
+ detachInterrupt(val); // Detach interrupt on chanel B of encoder num=val (may be the same if mode=1 or 2)
+ }
+ /* ASKING RESET POSITION OF AN ENCODER */
+ if (val==122) { // z = encoder position to zero
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = encoder number
+ if (val==0) { encoder_0_position=0;} // Reset position
+ else if (val==1) { encoder_1_position=0;} // Reset position
+ else if (val==2) { encoder_2_position=0;} // Reset position
+ else if (val==3) { encoder_3_position=0;} // Reset position
+ else if (val==4) { encoder_4_position=0;} // Reset position
+ else if (val==5) { encoder_5_position=0;} // Reset position
+ }
+ val=-1;
+
+ }
+
+ //case C -> DCmotor init
+ else if(val==67){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* 2nd char = motor number */
+ if (val>48 && val<53) {
+ dcm=val-48;
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the third received value indicates the pin1 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>49 && val<102) {
+ if (dcm==1) dcm1_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==2) dcm2_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==3) dcm3_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==4) dcm4_pin1=val-48;/* calculate motor pin1 */
+ pinMode(val-48, OUTPUT); //set pin as output
+ analogWrite(val-48,0); /* DUTY CYCLE */
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the fourth received value indicates the pin2 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>49 && val<102) {
+ if (dcm==1) dcm1_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==2) dcm2_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==3) dcm3_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==4) dcm4_pin2=val-48;/* calculate motor pin2 */
+ pinMode(val-48, OUTPUT); //set pin as output
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the fifth received value indicates the pin2 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>47 && val<50) {
+ int mode = val-48;
+ if (dcm==1) dcm1_mode=mode;/* calculate motor mode */
+ if (dcm==2) dcm2_mode=mode;/* calculate motor mode */
+ if (dcm==3) dcm3_mode=mode;/* calculate motor mode */
+ if (dcm==4) dcm4_mode=mode;/* calculate motor mode */
+ //initialization of port
+ if(mode==0){//L293
+ if (dcm==1) analogWrite(dcm1_pin2,0); /* DUTY CYCLE */
+ if (dcm==2) analogWrite(dcm2_pin2,0); /* DUTY CYCLE */
+ if (dcm==3) analogWrite(dcm3_pin2,0); /* DUTY CYCLE */
+ if (dcm==4) analogWrite(dcm4_pin2,0); /* DUTY CYCLE */
+ } else if (mode==1) {//L297
+ if (dcm==1) digitalWrite(dcm1_pin2, LOW); /* DIRECTION */
+ if (dcm==2) digitalWrite(dcm2_pin2, LOW); /* DIRECTION */
+ if (dcm==3) digitalWrite(dcm3_pin2, LOW); /* DIRECTION */
+ if (dcm==4) digitalWrite(dcm4_pin2, LOW); /* DIRECTION */
+ }
+ Serial.print("OK"); // tell Scilab that motor s initialization finished
+ // Cette commande sert à rien dans la toolbox de base,
+ // sauf si on prévoit d'ajouter des actions à l'init des moteurs
+ // par exemple chercher la position d'origine !
+ }
+ }
+ }
+ }
+ val=-1;
+
+ }
+
+ //case M -> DC motor
+ else if(val==77){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the second received value indicates the motor number
+ from abs('1')=49, motor1, to abs('4')=52, motor4 */
+ if (val>48 && val<53) {
+ dcm=val-48; /* calculate motor number */
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read();
+ /* the third received value indicates the sens direction or release*/
+ if (val==48 || val ==49){
+ int direction=val-48;
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = 0..255
+ if (dcm==1){
+ if(dcm1_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm1_pin1,val);
+ analogWrite(dcm1_pin2,0);
+ } else {
+ analogWrite(dcm1_pin2,val);
+ analogWrite(dcm1_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm1_pin2,LOW);
+ if (direction==1) digitalWrite(dcm1_pin2,HIGH);
+ analogWrite(dcm1_pin1,val);
+ }
+ }
+ if (dcm==2){
+ if(dcm2_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm2_pin1,val);
+ analogWrite(dcm2_pin2,0);
+ } else {
+ analogWrite(dcm2_pin2,val);
+ analogWrite(dcm2_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm2_pin2,LOW);
+ if (direction==1) digitalWrite(dcm2_pin2,HIGH);
+ analogWrite(dcm2_pin1,val);
+ }
+ }
+ if (dcm==3){
+ if(dcm3_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm3_pin1,val);
+ analogWrite(dcm3_pin2,0);
+ } else {
+ analogWrite(dcm3_pin2,val);
+ analogWrite(dcm3_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm3_pin2,LOW);
+ if (direction==1) digitalWrite(dcm3_pin2,HIGH);
+ analogWrite(dcm3_pin1,val);
+ }
+ }
+ if (dcm==4){
+ if(dcm4_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm4_pin1,val);
+ analogWrite(dcm4_pin2,0);
+ } else {
+ analogWrite(dcm4_pin2,val);
+ analogWrite(dcm4_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm4_pin2,LOW);
+ if (direction==1) digitalWrite(dcm4_pin2,HIGH);
+ analogWrite(dcm4_pin1,val);
+ }
+ }
+ }
+ if (val==114){//release motor
+ if(dcm==1) {
+ analogWrite(dcm1_pin1,0);
+ if(dcm1_mode==0) analogWrite(dcm1_pin2,0);
+ }
+ if(dcm==2) {
+ analogWrite(dcm2_pin1,0);
+ if(dcm2_mode==0) analogWrite(dcm2_pin2,0);
+ }
+ if(dcm==3) {
+ analogWrite(dcm3_pin1,0);
+ if(dcm3_mode==0) analogWrite(dcm3_pin2,0);
+ }
+ if(dcm==4) {
+ analogWrite(dcm4_pin1,0);
+ if(dcm4_mode==0) analogWrite(dcm4_pin2,0);
+ }
+ }
+
+ }
+ val=-1;
+
+ }
+
+
+ //case R -> Analog reference
+ if(val==82){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ if (val==48) analogReference(DEFAULT);
+ if (val==49) analogReference(INTERNAL);
+ if (val==50) analogReference(EXTERNAL);
+ if (val==51) Serial.print("v3");
+ val=-1;
+ }
+
+} /* end loop statement */
+
+
+/**************************************/
+// Generic interrupt encoder functions//
+/**************************************/
+//Encoder on INT0
+void encoder_0_change_m1() { //encoder0 mode 1x
+ int chB=digitalRead(encoder_0_int2);
+ if (!chB) { encoder_0_position++;}
+ else { encoder_0_position--; }
+}
+void encoder_0_change_m2() { //encoder0 mode 2x
+ int chB=digitalRead(encoder_0_int2);
+ int chA=digitalRead(corresp[0]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+void encoder_change_m4_A0(){//encoder0 mode 4x chA
+ int chA=digitalRead(corresp[0]);
+ int chB=digitalRead(encoder_0_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+void encoder_change_m4_B0(){//encoder0 mode 4x chB
+ int chA=digitalRead(corresp[0]);
+ int chB=digitalRead(encoder_0_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+//Encoder on INT1
+void encoder_1_change_m1() { //encoder1 mode 1x
+ int chB=digitalRead(encoder_1_int2);
+ if (!chB) { encoder_1_position++;}
+ else { encoder_1_position--; }
+}
+void encoder_1_change_m2() { //encoder1 mode 2x
+ int chB=digitalRead(encoder_1_int2);
+ int chA=digitalRead(corresp[1]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+void encoder_change_m4_A1(){//encoder1 mode 4x chA
+ int chA=digitalRead(corresp[1]);
+ int chB=digitalRead(encoder_1_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+void encoder_change_m4_B1(){//encoder1 mode 4x chB
+ int chA=digitalRead(corresp[1]);
+ int chB=digitalRead(encoder_1_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+//Encoder on INT2
+void encoder_2_change_m1() { //encoder2 mode 1x
+ int chB=digitalRead(encoder_2_int2);
+ if (!chB) { encoder_2_position++;}
+ else { encoder_2_position--; }
+}
+void encoder_2_change_m2() { //encoder2 mode 2x
+ int chB=digitalRead(encoder_2_int2);
+ int chA=digitalRead(corresp[2]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+void encoder_change_m4_A2(){//encoder2 mode 4x chA
+ int chA=digitalRead(corresp[2]);
+ int chB=digitalRead(encoder_2_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+void encoder_change_m4_B2(){//encoder2 mode 4x chB
+ int chA=digitalRead(corresp[2]);
+ int chB=digitalRead(encoder_2_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+//Encoder on INT3
+void encoder_3_change_m1() { //encoder3 mode 1x
+ int chB=digitalRead(encoder_3_int2);
+ if (!chB) { encoder_3_position++;}
+ else { encoder_3_position--; }
+}
+void encoder_3_change_m2() { //encoder3 mode 2x
+ int chB=digitalRead(encoder_3_int2);
+ int chA=digitalRead(corresp[3]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+void encoder_change_m4_A3(){//encoder3 mode 4x chA
+ int chA=digitalRead(corresp[3]);
+ int chB=digitalRead(encoder_3_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+void encoder_change_m4_B3(){//encoder3 mode 4x chB
+ int chA=digitalRead(corresp[3]);
+ int chB=digitalRead(encoder_3_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+//Encoder on INT4
+void encoder_4_change_m1() { //encoder4 mode 1x
+ int chB=digitalRead(encoder_4_int2);
+ if (!chB) { encoder_4_position++;}
+ else { encoder_4_position--; }
+}
+void encoder_4_change_m2() { //encoder4 mode 2x
+ int chB=digitalRead(encoder_4_int2);
+ int chA=digitalRead(corresp[4]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+void encoder_change_m4_A4(){//encoder4 mode 4x chA
+ int chA=digitalRead(corresp[4]);
+ int chB=digitalRead(encoder_4_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+void encoder_change_m4_B4(){//encoder4 mode 4x chB
+ int chA=digitalRead(corresp[4]);
+ int chB=digitalRead(encoder_4_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+//Encoder on INT5
+void encoder_5_change_m1() { //encoder5 mode 1x
+ int chB=digitalRead(encoder_5_int2);
+ if (!chB) { encoder_5_position++;}
+ else { encoder_5_position--; }
+}
+void encoder_5_change_m2() { //encoder5 mode 2x
+ int chB=digitalRead(encoder_5_int2);
+ int chA=digitalRead(corresp[5]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+void encoder_change_m4_A5(){//encoder5 mode 4x chA
+ int chA=digitalRead(corresp[5]);
+ int chB=digitalRead(encoder_5_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+void encoder_change_m4_B5(){//encoder5 mode 4x chB
+ int chA=digitalRead(corresp[5]);
+ int chB=digitalRead(encoder_5_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+
+/**************************************/
+// Generic interrupt counter functions//
+/**************************************/
+//Counter on INT0
+void counter_0_change() { //counter 0
+ counter_0++;
+}
+//Counter on INT1
+void counter_1_change() { //counter 1
+ counter_1++;
+}
+//Counter on INT2
+void counter_2_change() { //counter 2
+ counter_2++;
+}
+//Counter on INT3
+void counter_3_change() { //counter 3
+ counter_3++;
+}
+//Counter on INT4
+void counter_4_change() { //counter 4
+ counter_4++;
+}
+//Counter on INT5
+void counter_5_change() { //counter 5
+ counter_5++;
+}
+
+
diff --git a/julia-arduino-master/enegymeter_firmware/sendpacket/sendpacket.ino b/julia-arduino-master/enegymeter_firmware/sendpacket/sendpacket.ino
new file mode 100644
index 0000000..dbfe0b2
--- /dev/null
+++ b/julia-arduino-master/enegymeter_firmware/sendpacket/sendpacket.ino
@@ -0,0 +1,97 @@
+/* YourDuino SoftwareSerialExample1
+ - Connect to another Arduino running "YD_SoftwareSerialExampleRS485_1Remote"
+ - Connect this unit Pins 10, 11, Gnd
+ - Pin 3 used for RS485 direction control
+ - To other unit Pins 11,10, Gnd (Cross over)
+ - Open Serial Monitor, type in top window.
+ - Should see same characters echoed back from remote Arduino
+
+ Questions: terry@yourduino.com
+*/
+
+/*-----( Import needed libraries )-----*/
+#include <SoftwareSerial.h>
+/*-----( Declare Constants and Pin Numbers )-----*/
+#define SSerialRX 10 //Serial Receive pin
+#define SSerialTX 11 //Serial Transmit pin
+
+#define SSerialTxControl 3 //RS485 Direction control
+
+#define RS485Transmit HIGH
+#define RS485Receive LOW
+
+#define Pin13LED 13
+
+/*-----( Declare objects )-----*/
+SoftwareSerial RS485Serial(SSerialRX, SSerialTX); // RX, TX
+
+/*-----( Declare Variables )-----*/
+int i;
+uint8_t byteReceived[8];
+uint8_t byteSend[8];
+//uint8_t byteReceivedold;
+uint8_t byteReceived1=5;
+
+void setup() /****** SETUP: RUNS ONCE ******/
+{ i=0;
+ // Start the built-in serial port, probably to Serial Monitor
+ Serial.begin(9600);
+ //Serial.println("YourDuino.com SoftwareSerial remote loop example");
+ //Serial.println("Use Serial Monitor, type in upper window, ENTER");
+
+ pinMode(Pin13LED, OUTPUT);
+ pinMode(SSerialTxControl, OUTPUT);
+
+ digitalWrite(SSerialTxControl, RS485Receive); // Init Transceiver
+
+ // Start the software serial port, to another device
+ RS485Serial.begin(9600); // set the data rate
+
+}//--(end setup )---
+
+
+void loop() /****** LOOP: RUNS CONSTANTLY ******/
+{
+ digitalWrite(Pin13LED, HIGH); // Show activity
+ while(Serial.available()>0)
+ {
+ byteReceived[i++]= Serial.read();
+ //byteReceived=Serial.readBytesUntil('1',byteReceivedold,7);
+ if(i==8)
+ {
+ digitalWrite(SSerialTxControl, RS485Transmit); // Enable RS485 Transmit
+
+ RS485Serial.write(byteReceived[0]); // Send byte to Remote Arduino
+ RS485Serial.write(byteReceived[1]);
+ RS485Serial.write(byteReceived[2]);
+ RS485Serial.write(byteReceived[3]);
+ RS485Serial.write(byteReceived[4]);
+ RS485Serial.write(byteReceived[5]);
+ RS485Serial.write(byteReceived[6]);
+ RS485Serial.write(byteReceived[7]);
+ i=0;
+ }
+
+ digitalWrite(Pin13LED, LOW); // Show activity
+ //delay(10);
+ digitalWrite(SSerialTxControl, RS485Receive); // Disable RS485 Transmit
+ }
+
+ if (RS485Serial.available()) //Look for data from other Arduino
+ {
+ digitalWrite(Pin13LED, HIGH); // Show activity
+ byteReceived1 = RS485Serial.read(); // Read received byte
+ String str = String(byteReceived1,HEX); // newly added for julia-arduino interface
+ if (str.length()==1)
+ Serial.print("0");
+ Serial.print(str); // changed from Serial.write to Serial.print for julia-arduino interface
+ //delay(10);
+ digitalWrite(Pin13LED, LOW); // Show activity
+ }
+
+}//--(end main loop )---
+
+/*-----( Declare User-written Functions )-----*/
+
+//NONE
+//*********( THE END )***********
diff --git a/julia-arduino-master/enegymeter_firmware/sendpacket/sendpacket.ino~ b/julia-arduino-master/enegymeter_firmware/sendpacket/sendpacket.ino~
new file mode 100644
index 0000000..dbfe0b2
--- /dev/null
+++ b/julia-arduino-master/enegymeter_firmware/sendpacket/sendpacket.ino~
@@ -0,0 +1,97 @@
+/* YourDuino SoftwareSerialExample1
+ - Connect to another Arduino running "YD_SoftwareSerialExampleRS485_1Remote"
+ - Connect this unit Pins 10, 11, Gnd
+ - Pin 3 used for RS485 direction control
+ - To other unit Pins 11,10, Gnd (Cross over)
+ - Open Serial Monitor, type in top window.
+ - Should see same characters echoed back from remote Arduino
+
+ Questions: terry@yourduino.com
+*/
+
+/*-----( Import needed libraries )-----*/
+#include <SoftwareSerial.h>
+/*-----( Declare Constants and Pin Numbers )-----*/
+#define SSerialRX 10 //Serial Receive pin
+#define SSerialTX 11 //Serial Transmit pin
+
+#define SSerialTxControl 3 //RS485 Direction control
+
+#define RS485Transmit HIGH
+#define RS485Receive LOW
+
+#define Pin13LED 13
+
+/*-----( Declare objects )-----*/
+SoftwareSerial RS485Serial(SSerialRX, SSerialTX); // RX, TX
+
+/*-----( Declare Variables )-----*/
+int i;
+uint8_t byteReceived[8];
+uint8_t byteSend[8];
+//uint8_t byteReceivedold;
+uint8_t byteReceived1=5;
+
+void setup() /****** SETUP: RUNS ONCE ******/
+{ i=0;
+ // Start the built-in serial port, probably to Serial Monitor
+ Serial.begin(9600);
+ //Serial.println("YourDuino.com SoftwareSerial remote loop example");
+ //Serial.println("Use Serial Monitor, type in upper window, ENTER");
+
+ pinMode(Pin13LED, OUTPUT);
+ pinMode(SSerialTxControl, OUTPUT);
+
+ digitalWrite(SSerialTxControl, RS485Receive); // Init Transceiver
+
+ // Start the software serial port, to another device
+ RS485Serial.begin(9600); // set the data rate
+
+}//--(end setup )---
+
+
+void loop() /****** LOOP: RUNS CONSTANTLY ******/
+{
+ digitalWrite(Pin13LED, HIGH); // Show activity
+ while(Serial.available()>0)
+ {
+ byteReceived[i++]= Serial.read();
+ //byteReceived=Serial.readBytesUntil('1',byteReceivedold,7);
+ if(i==8)
+ {
+ digitalWrite(SSerialTxControl, RS485Transmit); // Enable RS485 Transmit
+
+ RS485Serial.write(byteReceived[0]); // Send byte to Remote Arduino
+ RS485Serial.write(byteReceived[1]);
+ RS485Serial.write(byteReceived[2]);
+ RS485Serial.write(byteReceived[3]);
+ RS485Serial.write(byteReceived[4]);
+ RS485Serial.write(byteReceived[5]);
+ RS485Serial.write(byteReceived[6]);
+ RS485Serial.write(byteReceived[7]);
+ i=0;
+ }
+
+ digitalWrite(Pin13LED, LOW); // Show activity
+ //delay(10);
+ digitalWrite(SSerialTxControl, RS485Receive); // Disable RS485 Transmit
+ }
+
+ if (RS485Serial.available()) //Look for data from other Arduino
+ {
+ digitalWrite(Pin13LED, HIGH); // Show activity
+ byteReceived1 = RS485Serial.read(); // Read received byte
+ String str = String(byteReceived1,HEX); // newly added for julia-arduino interface
+ if (str.length()==1)
+ Serial.print("0");
+ Serial.print(str); // changed from Serial.write to Serial.print for julia-arduino interface
+ //delay(10);
+ digitalWrite(Pin13LED, LOW); // Show activity
+ }
+
+}//--(end main loop )---
+
+/*-----( Declare User-written Functions )-----*/
+
+//NONE
+//*********( THE END )***********
diff --git a/julia-arduino-master/energy meter/readCurrent.jl b/julia-arduino-master/energy meter/readCurrent.jl
new file mode 100644
index 0000000..965bc29
--- /dev/null
+++ b/julia-arduino-master/energy meter/readCurrent.jl
@@ -0,0 +1,17 @@
+using SerialPorts
+using ArduinoTools
+
+function readCurrent()
+ str = string(Char(1))*string(Char(3))*string(Char(15))*string(Char(88))*string(Char(0))*string(Char(2))*string(Char(70))*string(Char(204))
+ ser = connectBoard(9600)
+ write(ser,str)
+ sleep(0.1)
+ s = readavailable(ser)
+ close(ser)
+ s = s[end-7:end]
+ current = hex2num(s)
+ println("The Current in A is:")
+ println(current)
+end
+
+readCurrent()
diff --git a/julia-arduino-master/energy meter/readPower.jl b/julia-arduino-master/energy meter/readPower.jl
new file mode 100644
index 0000000..d965955
--- /dev/null
+++ b/julia-arduino-master/energy meter/readPower.jl
@@ -0,0 +1,17 @@
+using SerialPorts
+using ArduinoTools
+
+function readPower()
+ str = string(Char(1))*string(Char(3))*string(Char(15))*string(Char(78))*string(Char(0))*string(Char(2))*string(Char(167))*string(Char(8))
+ ser = connectBoard(9600)
+ write(ser,str)
+ sleep(0.1)
+ s = readavailable(ser)
+ close(ser)
+ s = s[end-7:end]
+ power = hex2num(s)
+ println("The Power in W is:")
+ println(power)
+end
+
+readPower()
diff --git a/julia-arduino-master/energy meter/readVoltage.jl b/julia-arduino-master/energy meter/readVoltage.jl
new file mode 100644
index 0000000..f609ddd
--- /dev/null
+++ b/julia-arduino-master/energy meter/readVoltage.jl
@@ -0,0 +1,17 @@
+using SerialPorts
+using ArduinoTools
+
+function readVoltage()
+ str = string(Char(1))*string(Char(3))*string(Char(15))*string(Char(86))*string(Char(0))*string(Char(2))*string(Char(39))*string(Char(15))
+ ser = connectBoard(9600)
+ write(ser,str)
+ sleep(0.1)
+ s = readavailable(ser)
+ close(ser)
+ s = s[end-7:end]
+ voltage = hex2num(s)
+ println("The Voltage in V is:")
+ println(voltage)
+end
+
+readVoltage()
diff --git a/julia-arduino-master/examples/DC motor/dcmotor-both.jl b/julia-arduino-master/examples/DC motor/dcmotor-both.jl
new file mode 100644
index 0000000..b6c235e
--- /dev/null
+++ b/julia-arduino-master/examples/DC motor/dcmotor-both.jl
@@ -0,0 +1,11 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+DCMotorSetup(ser,3,1,9,10)
+DCMotorRun(ser,1,100)
+sleep(3)
+DCMotorRun(ser,1,-100)
+sleep(3)
+DCMotorRelease(ser,1)
+close(ser)
diff --git a/julia-arduino-master/examples/DC motor/dcmotor-clock.jl b/julia-arduino-master/examples/DC motor/dcmotor-clock.jl
new file mode 100644
index 0000000..260d2e1
--- /dev/null
+++ b/julia-arduino-master/examples/DC motor/dcmotor-clock.jl
@@ -0,0 +1,9 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+DCMotorSetup(ser,3,1,9,10)
+DCMotorRun(ser,1,100)
+sleep(3)
+DCMotorRelease(ser,1)
+close(ser)
diff --git a/julia-arduino-master/examples/DC motor/dcmotor-loop.jl b/julia-arduino-master/examples/DC motor/dcmotor-loop.jl
new file mode 100644
index 0000000..ab3608b
--- /dev/null
+++ b/julia-arduino-master/examples/DC motor/dcmotor-loop.jl
@@ -0,0 +1,15 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+DCMotorSetup(ser,3,1,9,10)
+for i = 1:4
+ DCMotorRun(ser,1,100)
+ sleep(3)
+ DCMotorRun(ser,1,0)
+ sleep(2)
+ DCMotorRun(ser,1,-100)
+ sleep(2)
+end
+DCMotorRelease(ser,1)
+close(ser)
diff --git a/julia-arduino-master/examples/LDR/ldr-led.jl b/julia-arduino-master/examples/LDR/ldr-led.jl
new file mode 100644
index 0000000..6957ce2
--- /dev/null
+++ b/julia-arduino-master/examples/LDR/ldr-led.jl
@@ -0,0 +1,12 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+for i = 1:500
+ p = analogRead(ser,5)
+ println(p)
+ if p > 300 digiWrite(ser,9,0)
+ else digiWrite(ser,9,1) end
+end
+close(ser)
diff --git a/julia-arduino-master/examples/LDR/ldr-read.jl b/julia-arduino-master/examples/LDR/ldr-read.jl
new file mode 100644
index 0000000..3264027
--- /dev/null
+++ b/julia-arduino-master/examples/LDR/ldr-read.jl
@@ -0,0 +1,10 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+for i = 1:20
+ p = analogRead(ser,5)
+ println(p)
+ sleep(0.5)
+end
+close(ser)
diff --git a/julia-arduino-master/examples/LED/led-blue-delay.jl b/julia-arduino-master/examples/LED/led-blue-delay.jl
new file mode 100644
index 0000000..3349e99
--- /dev/null
+++ b/julia-arduino-master/examples/LED/led-blue-delay.jl
@@ -0,0 +1,9 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+digiWrite(ser,9,1)
+sleep(2)
+digiWrite(ser,9,0)
+close(ser)
diff --git a/julia-arduino-master/examples/LED/led-blue-red.jl b/julia-arduino-master/examples/LED/led-blue-red.jl
new file mode 100644
index 0000000..350656d
--- /dev/null
+++ b/julia-arduino-master/examples/LED/led-blue-red.jl
@@ -0,0 +1,13 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+pinMode(ser,11,"OUTPUT")
+digiWrite(ser,9,1)
+digiWrite(ser,11,1)
+sleep(5)
+digiWrite(ser,9,0)
+sleep(3)
+digiWrite(ser,11,0)
+close(ser)
diff --git a/julia-arduino-master/examples/LED/led-blue.jl b/julia-arduino-master/examples/LED/led-blue.jl
new file mode 100644
index 0000000..700f219
--- /dev/null
+++ b/julia-arduino-master/examples/LED/led-blue.jl
@@ -0,0 +1,7 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+digiWrite(ser,9,1)
+close(ser)
diff --git a/julia-arduino-master/examples/LED/led-green-blink.jl b/julia-arduino-master/examples/LED/led-green-blink.jl
new file mode 100644
index 0000000..64d1c5b
--- /dev/null
+++ b/julia-arduino-master/examples/LED/led-green-blink.jl
@@ -0,0 +1,12 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+pinMode(ser,10,"OUTPUT")
+for i = 1:5
+ digiWrite(ser,10,1)
+ sleep(1)
+ digiWrite(ser,10,0)
+ sleep(1)
+end
+close(ser)
diff --git a/julia-arduino-master/examples/LED/led-push-button.jl b/julia-arduino-master/examples/LED/led-push-button.jl
new file mode 100644
index 0000000..b332655
--- /dev/null
+++ b/julia-arduino-master/examples/LED/led-push-button.jl
@@ -0,0 +1,15 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+pinMode(ser,12,"INPUT")
+for i = 1:2000
+ p = digiRead(ser,12)
+ if p == 0
+ digiWrite(ser,9,0)
+ else
+ digiWrite(ser,9,1)
+ end
+end
+close(ser)
diff --git a/julia-arduino-master/examples/Servomotor/servo-init.jl b/julia-arduino-master/examples/Servomotor/servo-init.jl
new file mode 100644
index 0000000..ec03623
--- /dev/null
+++ b/julia-arduino-master/examples/Servomotor/servo-init.jl
@@ -0,0 +1,8 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+ServoAttach(ser,1)
+ServoMove(ser,1,30)
+sleep(1)
+close(ser)
diff --git a/julia-arduino-master/examples/Servomotor/servo-loop.jl b/julia-arduino-master/examples/Servomotor/servo-loop.jl
new file mode 100644
index 0000000..afba259
--- /dev/null
+++ b/julia-arduino-master/examples/Servomotor/servo-loop.jl
@@ -0,0 +1,13 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+ServoAttach(ser,1)
+sleep(1)
+angle = 20
+for i = 1:9
+ ServoMove(ser,1,angle*i)
+ sleep(1)
+end
+ServoDetach(ser,1)
+close(ser)
diff --git a/julia-arduino-master/examples/Servomotor/servo-pot.jl b/julia-arduino-master/examples/Servomotor/servo-pot.jl
new file mode 100644
index 0000000..7624a26
--- /dev/null
+++ b/julia-arduino-master/examples/Servomotor/servo-pot.jl
@@ -0,0 +1,14 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+ServoAttach(ser,1)
+for i = 1:500
+ p = analogRead(ser,2)
+ p = p*(180/1023)
+ q = round(Int,floor(p))
+ ServoMove(ser,1,q)
+ sleep(0.5)
+end
+ServoDetach(ser,1)
+close(ser)
diff --git a/julia-arduino-master/examples/Servomotor/servo-reverse.jl b/julia-arduino-master/examples/Servomotor/servo-reverse.jl
new file mode 100644
index 0000000..b75b0cd
--- /dev/null
+++ b/julia-arduino-master/examples/Servomotor/servo-reverse.jl
@@ -0,0 +1,10 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+ServoAttach(ser,1)
+ServoMove(ser,1,90)
+sleep(1)
+ServoMove(ser,1,45)
+sleep(1)
+close(ser)
diff --git a/julia-arduino-master/examples/Solar Tracker/SolarTracker.jl b/julia-arduino-master/examples/Solar Tracker/SolarTracker.jl
new file mode 100644
index 0000000..e1aebe0
--- /dev/null
+++ b/julia-arduino-master/examples/Solar Tracker/SolarTracker.jl
@@ -0,0 +1,31 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+ServoAttach(ser,1)
+sleep(1)
+j = 0
+k = 0
+r = 0
+ServoMove(ser,1,90)
+for i = 1:9
+ p = analogRead(ser,0)
+ println(p)
+ q = analogRead(ser,1)
+ println(q)
+ k = p-q
+ r = q-p
+ if p<q && r>10
+ j = j+1
+ ServoMove(ser,1,90-10j)
+ sleep(0.5)
+ end
+ if p>q && k>10
+ j = j-1
+ ServoMove(ser,1,90-10j)
+ sleep(0.5)
+ end
+ sleep(1)
+end
+ServoDetach(ser,1)
+close(ser)
diff --git a/julia-arduino-master/examples/potentiometer/pot-threshold.jl b/julia-arduino-master/examples/potentiometer/pot-threshold.jl
new file mode 100644
index 0000000..9c8df2b
--- /dev/null
+++ b/julia-arduino-master/examples/potentiometer/pot-threshold.jl
@@ -0,0 +1,24 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+pinMode(ser,10,"OUTPUT")
+pinMode(ser,11,"OUTPUT")
+for i = 1:10
+ p = analogRead(ser,2)
+ if p>=0 && p<320
+ digiWrite(ser,11,1)
+ sleep(1)
+ digiWrite(ser,11,0)
+ elseif p>=320 && p<=900
+ digiWrite(ser,10,1)
+ sleep(1)
+ digiWrite(ser,10,0)
+ elseif p>900 && p<=1023
+ digiWrite(ser,9,1)
+ sleep(1)
+ digiWrite(ser,9,0)
+ end
+end
+close(ser)
diff --git a/julia-arduino-master/examples/test_firmware.jl b/julia-arduino-master/examples/test_firmware.jl
new file mode 100644
index 0000000..7a87e7c
--- /dev/null
+++ b/julia-arduino-master/examples/test_firmware.jl
@@ -0,0 +1,12 @@
+using SerialPorts
+using ArduinoTools
+
+h = connectBoard(115200)
+
+for i = 1:3
+ write(h,"v")
+ s = read(h,2)
+ println(s)
+end
+
+close(h)
diff --git a/julia-arduino-master/tools/ArduinoTools.jl b/julia-arduino-master/tools/ArduinoTools.jl
new file mode 100644
index 0000000..6b63d89
--- /dev/null
+++ b/julia-arduino-master/tools/ArduinoTools.jl
@@ -0,0 +1,178 @@
+module ArduinoTools
+
+using SerialPorts
+
+function connectBoard(baudrate::Int64) # Automatically detects SerialPort and opens it
+ arr = list_serialports() # with given baudrate
+ port = arr[1]
+ ser = SerialPort(port,baudrate) # Caution: works in most cases... If doesn't,
+ sleep(2) # Use the openSerial() function
+ return ser
+end
+
+function openSerial(port::ASCIIString, baudrate::Int64) # starts serial communication
+ ser = SerialPorts.SerialPort(port,baudrate)
+ sleep(2)
+ return ser
+end
+
+function closeSerial(ser::SerialPorts.SerialPort) # closes serial port
+ SerialPorts.close(ser)
+end
+
+function Write(ser::SerialPorts.SerialPort, str::ASCIIString) # writes a string to connected serial device
+ SerialPorts.write(ser,str)
+end
+
+function Write(ser::SerialPorts.SerialPort, str::UTF8String) # writes a string to connected serial device
+ SerialPorts.write(ser,str)
+end
+
+function Read(ser::SerialPorts.SerialPort, bytes::Int64) # reads 'bytes' number of bytes from serial port
+ SerialPorts.read(ser,bytes)
+end
+
+function ReadAvailable(ser::SerialPorts.SerialPort) # reads all available bytes from serial port
+ SerialPorts.readavailable(ser)
+end
+
+function nbAvailable(ser::SerialPorts.SerialPort) # returns number of bytes available for reading
+ SerialPorts.nb_available(ser)
+end
+
+function listSerialPorts() # returns array of serial port names on computer
+ SerialPorts.list_serialports()
+end
+
+function pinMode(file_des::SerialPorts.SerialPort , pin_no::Int64 , mode::ASCIIString)
+ m = uppercase(mode) # Prevent errors due to case differences
+ if m == "INPUT" str = "Da"*string(Char(48+pin_no))*"0" end # Dan0 for INPUT
+ if m == "OUTPUT" str = "Da"*string(Char(48+pin_no))*"1" end # Dan1 for OUTPUT
+ str = ascii(str) # Converts UTF8String to ASCIIString
+ write(file_des,str)
+end
+
+function digiWrite(file_des::SerialPorts.SerialPort , pin_no::Int64 , val::Int64)
+ if val > 0 str = "Dw"*string(Char(48+pin_no))*"1" end # Dwn1 for HIGH
+ if val == 0 str = "Dw"*string(Char(48+pin_no))*"0" end # Dwn0 for LOW
+ str = ascii(str) # Converts UTF8String to ASCIIString
+ write(file_des,str)
+end
+
+function digiRead(file_des::SerialPorts.SerialPort , pin_no::Int64)
+ str = "Dr"*string(Char(48+pin_no)) # Drn to read digital pin n
+ str = ascii(str) # Convert UTF8String to ASCIIString
+ write(file_des,str)
+ sleep(0.01) # Delay the next step by 10 milliseconds
+ c = read(file_des,1) # Read one byte from SerialPort
+ n = parse(Int,c) # Convert the received string into integer
+ return n # Return the integer
+end
+
+function analogWrite(file_des::SerialPorts.SerialPort , pin_no::Int64 , val::Int64)
+ if val > 255 val = 255 end # Make sure val isn't beyond limits
+ if val < 0 val = 0 end
+ c = Char(val) # Conversion of val into character
+ d = string(c) # Converting character to string
+ s = "W"*string(Char(48+pin_no))*d # Wnm for analog value m on pin n
+ write(file_des,s)
+end
+
+function analogRead(file_des::SerialPorts.SerialPort , pin_no::Int64)
+ str = "A"*string(Char(48+pin_no)) #"An" for analog value on pin n
+ write(file_des,str)
+ sleep(0.1) # Delay next step by 100 milliseconds
+ n = nb_available(file_des) # Get number of bytes in input buffer
+ s = read(file_des,n) # Read n bytes from SerialPort
+ k = parse(Int,s) # Convert String to integer
+ return k # Return the integer
+end
+
+function DCMotorSetup(file_des::SerialPorts.SerialPort, driver_type::Int64, motor_no::Int64, pin1::Int64, pin2::Int64)
+ println("Initializing motor")
+ if (driver_type == 1) # adafruit
+ code_sent = "C"*string(motor_no)*string(Char(48+pin1))*string(Char(48+pin2))*"1"
+ elseif (driver_type == 2) # L298
+ code_sent = "C"*string(motor_no)*string(Char(48+pin1))*string(Char(48+pin2))*"1"
+ elseif (driver_type == 3) # L293
+ code_sent = "C"*string(motor_no)*string(Char(48+pin1))*string(Char(48+pin2))*"0"
+ end
+ write(file_des,code_sent)
+ sleep(0.1) # sleep for a tenth of a second
+ s = readavailable(file_des) # read all available bytes from input buffer
+ if s == "OK"
+ println("Motor Setup Successful")
+ else
+ println("Motor Setup unsuccessful")
+ end
+end # end function
+
+function DCMotorRun(file_des::SerialPorts.SerialPort, motor_no::Int64, speed::Int64)
+ sgn = sign(speed) # Checking sign of speed to set direction
+ if sgn >= 0
+ direction = "1"
+ else
+ direction = "0"
+ end
+ speed = abs(speed) # Dropping the sign
+ if speed > 255 speed = 255 end # Make sure speed is not beyond limit
+ code_sent = "M"*string(motor_no)*direction*string(Char(speed))
+ write(file_des,code_sent)
+end # end function
+
+function DCMotorRelease(file_des::SerialPorts.SerialPort, motor_no::Int64)
+ code_sent = "M"*string(motor_no)*"1"string(Char(0))
+ write(file_des,code_sent) # Stops the motor first
+ sleep(0.1) # Delay of 0.1 second
+ code_sent = "M"*string(motor_no)*"r"
+ write(file_des,code_sent) # Releases the motor
+end
+
+function ServoAttach(file_des::SerialPorts.SerialPort, servo_no::Int64)
+ println("Initializing servo")
+ if servo_no == 1
+ pin = "Sa1"
+ write(file_des,pin)
+ elseif servo_no == 2
+ pin = "Sa2"
+ write(file_des,pin)
+ else
+ println("Error")
+ end
+end
+
+function ServoMove(file_des::SerialPorts.SerialPort, servo_no::Int64, val::Int64)
+ if val < 0 val = 0 end
+ if val >180 val = 180 end
+ pin = "Sw"*string(servo_no)*string(Char(val))
+ write(file_des,pin)
+end
+
+function ServoDetach(file_des::SerialPorts.SerialPort, servo_no::Int64)
+ if servo_no == 1
+ pin = "Sa1"
+ write(file_des,pin)
+ elseif servo_no == 2
+ pin = "Sa2"
+ write(file_des,pin)
+ else
+ println("Error")
+ end
+end
+
+function MPUReadin(file_des::SerialPorts.SerialPort)
+ cmd = "F"
+ write(file_des,cmd)
+ analog_times = []
+ sleep(0.03)
+ s = readavailable(file_des)
+ sarr = split(s,"/")
+ for i in 1:length(sarr)
+ push!(analog_times,parse(Int,sarr[i]))
+ end
+ return analog_times
+end
+
+export connectBoard,openSerial,closeSerial,Write,Read,ReadAvailable,nbAvailable,listSerialPorts,pinMode,digiWrite,digiRead,analogWrite,analogRead,DCMotorSetup,DCMotorRun,DCMotorRelease,ServoAttach,ServoMove,ServoDetach,MPUReadin
+
+end # module
diff --git a/julia-arduino-master/tools/functions/DCMotorRelease.jl b/julia-arduino-master/tools/functions/DCMotorRelease.jl
new file mode 100644
index 0000000..f34dfc8
--- /dev/null
+++ b/julia-arduino-master/tools/functions/DCMotorRelease.jl
@@ -0,0 +1,9 @@
+using SerialPorts
+
+function DCMotorRelease(file_des::SerialPorts.SerialPort, motor_no::Int64)
+ code_sent = "M"*string(motor_no)*"1"string(Char(0)) # Stops the motor first
+ write(file_des,code_sent)
+ sleep(0.1) # Delay of 0.1 second
+ code_sent = "M"*string(motor_no)*"r" # Releases the motor
+ write(file_des,code_sent)
+end
diff --git a/julia-arduino-master/tools/functions/DCMotorRun.jl b/julia-arduino-master/tools/functions/DCMotorRun.jl
new file mode 100644
index 0000000..bb74590
--- /dev/null
+++ b/julia-arduino-master/tools/functions/DCMotorRun.jl
@@ -0,0 +1,18 @@
+using SerialPorts
+
+function DCMotorRun(file_des::SerialPorts.SerialPort, motor_no::Int64, speed::Int64)
+
+ sgn = sign(speed) # Checking sign of speed to set direction
+ if sgn >= 0
+ direction = "1"
+ else
+ direction = "0"
+ end
+
+ speed = abs(speed) # Dropping the sign
+ if speed > 255 speed = 255 end # Make sure speed is not beyond limit
+
+ code_sent = "M"*string(motor_no)*direction*string(Char(speed))
+ write(file_des,code_sent)
+
+end # end function
diff --git a/julia-arduino-master/tools/functions/DCMotorSetup.jl b/julia-arduino-master/tools/functions/DCMotorSetup.jl
new file mode 100644
index 0000000..44fdc64
--- /dev/null
+++ b/julia-arduino-master/tools/functions/DCMotorSetup.jl
@@ -0,0 +1,23 @@
+using SerialPorts
+
+function DCMotorSetup(file_des::SerialPorts.SerialPort, driver_type::Int64, motor_no::Int64, pin1::Int64, pin2::Int64)
+ println("Initializing motor")
+
+ if (driver_type == 1)
+ code_sent = "C"*string(motor_no)*string(Char(48+pin1))*string(Char(48+pin2))*"1" # adafruit
+ elseif (driver_type == 2)
+ code_sent = "C"*string(motor_no)*string(Char(48+pin1))*string(Char(48+pin2))*"1" # L298
+ elseif (driver_type == 3)
+ code_sent = "C"*string(motor_no)*string(Char(48+pin1))*string(Char(48+pin2))*"0" # L293
+ end
+
+ write(file_des,code_sent)
+ sleep(0.1) # sleep for a tenth of a second
+ s = readavailable(file_des) # read all available bytes from input buffer
+
+ if s == "OK"
+ println("Motor Setup Successful")
+ else
+ println("Motor Setup unsuccessful")
+ end
+end # end function
diff --git a/julia-arduino-master/tools/functions/ServoAttach.jl b/julia-arduino-master/tools/functions/ServoAttach.jl
new file mode 100644
index 0000000..a61194f
--- /dev/null
+++ b/julia-arduino-master/tools/functions/ServoAttach.jl
@@ -0,0 +1,14 @@
+using SerialPorts
+
+function ServoAttach(file_des::SerialPorts.SerialPort, servo_no::Int64)
+ println("Initializing servo")
+ if servo_no == 1 # for servomotor attached to digital pin 9
+ pin = "Sa1"
+ write(file_des,pin)
+ elseif servo_no == 2 # for servomotor attached to digital pin 10
+ pin = "Sa2"
+ write(file_des,pin)
+ else
+ println("Error")
+ end
+end # end function
diff --git a/julia-arduino-master/tools/functions/ServoDetach.jl b/julia-arduino-master/tools/functions/ServoDetach.jl
new file mode 100644
index 0000000..830471c
--- /dev/null
+++ b/julia-arduino-master/tools/functions/ServoDetach.jl
@@ -0,0 +1,13 @@
+using SerialPorts
+
+function ServoDetach(file_des::SerialPorts.SerialPort, servo_no::Int64)
+ if servo_no == 1
+ pin = "Sd1"
+ write(file_des,pin)
+ elseif servo_no == 2
+ pin = "Sd2"
+ write(file_des,pin)
+ else
+ println("Error")
+ end
+end
diff --git a/julia-arduino-master/tools/functions/ServoMove.jl b/julia-arduino-master/tools/functions/ServoMove.jl
new file mode 100644
index 0000000..8bb3267
--- /dev/null
+++ b/julia-arduino-master/tools/functions/ServoMove.jl
@@ -0,0 +1,9 @@
+using SerialPorts
+
+function ServoMove(file_des::SerialPorts.SerialPort, servo_no::Int64, val::Int64)
+ if val < 0 val = 0 end # checking for validity of angle
+ if val >180 val = 180 end
+
+ pin = "Sw"*string(servo_no)*string(Char(val))
+ write(file_des,pin)
+end
diff --git a/julia-arduino-master/tools/functions/analogRead.jl b/julia-arduino-master/tools/functions/analogRead.jl
new file mode 100644
index 0000000..e6e3183
--- /dev/null
+++ b/julia-arduino-master/tools/functions/analogRead.jl
@@ -0,0 +1,11 @@
+using SerialPorts
+
+function analogRead(file_des::SerialPorts.SerialPort , pin_no::Int64)
+ str = "A"*string(Char(48+pin_no)) # "An" for analog value on pin n
+ write(file_des,str)
+ sleep(0.01) # Delay next step by 10 milliseconds
+ n = nb_available(file_des) # Get number of bytes in input buffer
+ s = read(file_des,n) # Read n bytes from SerialPort
+ k = parse(Int,s) # Convert String to integer
+ return k # Return the integer
+end
diff --git a/julia-arduino-master/tools/functions/analogWrite.jl b/julia-arduino-master/tools/functions/analogWrite.jl
new file mode 100644
index 0000000..62da87c
--- /dev/null
+++ b/julia-arduino-master/tools/functions/analogWrite.jl
@@ -0,0 +1,10 @@
+using SerialPorts
+
+function analogWrite(file_des::SerialPorts.SerialPort , pin_no::Int64 , val::Int64)
+ if val > 255 val = 255 end # Make sure val isn't beyond limits
+ if val < 0 val = 0 end
+ c = Char(val) # Conversion of val into character
+ d = string(c) # Converting character to string
+ s = "W"*string(Char(48+pin_no))*d # Wnm for analog value m on pin n
+ write(file_des,s)
+end
diff --git a/julia-arduino-master/tools/functions/connectBoard.jl b/julia-arduino-master/tools/functions/connectBoard.jl
new file mode 100644
index 0000000..9f76b34
--- /dev/null
+++ b/julia-arduino-master/tools/functions/connectBoard.jl
@@ -0,0 +1,9 @@
+using SerialPorts
+
+function connectBoard(baudrate::Int64)
+ arr = list_serialports()
+ port = arr[1]
+ ser = SerialPort(port,baudrate)
+ sleep(2)
+ return ser
+end
diff --git a/julia-arduino-master/tools/functions/digiRead.jl b/julia-arduino-master/tools/functions/digiRead.jl
new file mode 100644
index 0000000..fb3bbae
--- /dev/null
+++ b/julia-arduino-master/tools/functions/digiRead.jl
@@ -0,0 +1,11 @@
+using SerialPorts
+
+function digiRead(file_des::SerialPorts.SerialPort , pin_no::Int64)
+ str = "Dr"*string(Char(48+pin_no)) # Drn to read digital pin n
+ str = ascii(str) # Convert UTF8String to ASCIIString
+ write(file_des,str)
+ sleep(0.01) # Delay the next step by 10 milliseconds
+ c = read(file_des,1) # Read one byte from SerialPort
+ n = parse(Int,c) # Convert the received string into integer
+ return n # Return the integer
+end
diff --git a/julia-arduino-master/tools/functions/digiWrite.jl b/julia-arduino-master/tools/functions/digiWrite.jl
new file mode 100644
index 0000000..aad24e0
--- /dev/null
+++ b/julia-arduino-master/tools/functions/digiWrite.jl
@@ -0,0 +1,8 @@
+using SerialPorts
+
+function digiWrite(file_des::SerialPorts.SerialPort , pin_no::Int64 , val::Int64)
+ if val > 0 str = "Dw"*string(Char(48+pin_no))*"1" end # Dwn1 for HIGH
+ if val == 0 str = "Dw"*string(Char(48+pin_no))*"0" end # Dwn0 for LOW
+ str = ascii(str) # Converts UTF8String to ASCIIString
+ write(file_des,str)
+end
diff --git a/julia-arduino-master/tools/functions/pinMode.jl b/julia-arduino-master/tools/functions/pinMode.jl
new file mode 100644
index 0000000..b4db4f8
--- /dev/null
+++ b/julia-arduino-master/tools/functions/pinMode.jl
@@ -0,0 +1,9 @@
+using SerialPorts
+
+function pinMode(file_des::SerialPorts.SerialPort , pin_no::Int64 , mode::ASCIIString)
+ m = uppercase(mode) # Prevent errors due to case differences
+ if m == "INPUT" str = "Da"*string(Char(48+pin_no))*"0" end # Dan0 for INPUT
+ if m == "OUTPUT" str = "Da"*string(Char(48+pin_no))*"1" end # Dan1 for OUTPUT
+ str = ascii(str) # Converts UTF8String to ASCIIString
+ write(file_des,str)
+end
diff --git a/scilab-arduino/Arduino-Scilab-Cover.pdf b/scilab-arduino/Arduino-Scilab-Cover.pdf
new file mode 100644
index 0000000..3fce8b1
--- /dev/null
+++ b/scilab-arduino/Arduino-Scilab-Cover.pdf
Binary files differ
diff --git a/scilab-arduino/Commentsonscilab-arduinobook-rupak.odt b/scilab-arduino/Commentsonscilab-arduinobook-rupak.odt
new file mode 100644
index 0000000..4fdfbe1
--- /dev/null
+++ b/scilab-arduino/Commentsonscilab-arduinobook-rupak.odt
Binary files differ
diff --git a/scilab-arduino/Proof-reading-manas.odt b/scilab-arduino/Proof-reading-manas.odt
new file mode 100644
index 0000000..59d5a52
--- /dev/null
+++ b/scilab-arduino/Proof-reading-manas.odt
Binary files differ
diff --git a/scilab-arduino/auto/arduino-sci.el b/scilab-arduino/auto/arduino-sci.el
new file mode 100644
index 0000000..c7b0221
--- /dev/null
+++ b/scilab-arduino/auto/arduino-sci.el
@@ -0,0 +1,47 @@
+(TeX-add-style-hook "arduino-sci"
+ (lambda ()
+ (TeX-add-symbols
+ '("fnref" 1)
+ '("mypageref" 1)
+ '("coderef" 1)
+ '("secref" 1)
+ '("chapref" 1)
+ '("tabref" 1)
+ '("figref" 1)
+ '("ourname" 1)
+ '("redcolor" 1)
+ "Home"
+ "codclr"
+ "scilab"
+ "arduino"
+ "python"
+ "ie"
+ "tnfig"
+ "smfig"
+ "smfigp"
+ "lgfig"
+ "hgfig")
+ (TeX-run-style-hooks
+ "listings"
+ "subfig"
+ "cite"
+ "url"
+ "fancybox"
+ "makeidx"
+ "graphicx"
+ "amsmath"
+ "fancyhdr"
+ "chngcntr"
+ "paralist"
+ "morefloats"
+ "cclicenses"
+ "layouts"
+ "color"
+ "latex2e"
+ "bk11"
+ "book"
+ "a4paper"
+ "11pt"
+ "suppl/dedicate"
+ "user-code/dcmotor/dcmotor")))
+
diff --git a/scilab-arduino/auto/contents-ex.el b/scilab-arduino/auto/contents-ex.el
new file mode 100644
index 0000000..e84738a
--- /dev/null
+++ b/scilab-arduino/auto/contents-ex.el
@@ -0,0 +1,8 @@
+(TeX-add-style-hook "contents-ex"
+ (lambda ()
+ (TeX-run-style-hooks
+ "pdfpages"
+ "latex2e"
+ "art10"
+ "article")))
+
diff --git a/scilab-arduino/auto/scilab-arduino.el b/scilab-arduino/auto/scilab-arduino.el
new file mode 100644
index 0000000..de10dcd
--- /dev/null
+++ b/scilab-arduino/auto/scilab-arduino.el
@@ -0,0 +1,72 @@
+(TeX-add-style-hook "scilab-arduino"
+ (lambda ()
+ (LaTeX-add-bibliographies
+ "bibliography.bib")
+ (TeX-add-symbols
+ '("fnrefp" 1)
+ '("fnref" 1)
+ '("mypageref" 1)
+ '("ardref" 1)
+ '("sciref" 1)
+ '("pyref" 1)
+ '("secref" 1)
+ '("chapref" 1)
+ '("tabrefp" 1)
+ '("tabref" 1)
+ '("figrefp" 1)
+ '("figref" 1)
+ '("ourname" 1)
+ '("redcolor" 1)
+ '("bluecolor" 1)
+ "Origin"
+ "Home"
+ "portcmd"
+ "codclr"
+ "scilab"
+ "arduino"
+ "python"
+ "ie"
+ "tnfig"
+ "smfig"
+ "smfigp"
+ "lgfig"
+ "hgfig")
+ (TeX-run-style-hooks
+ "seqsplit"
+ "beramono"
+ "fontenc"
+ "T1"
+ "varioref"
+ "listings"
+ "subfig"
+ "cite"
+ "url"
+ "fancybox"
+ "makeidx"
+ "graphicx"
+ "amsmath"
+ "fancyhdr"
+ "chngcntr"
+ "paralist"
+ "morefloats"
+ "cclicenses"
+ "layouts"
+ "color"
+ "latex2e"
+ "bk11"
+ "book"
+ "a4paper"
+ "11pt"
+ "suppl/acr"
+ "suppl/intro"
+ "user-code/hw-env/hw-env"
+ "user-code/sw-env/sw-env"
+ "user-code/led/led"
+ "user-code/push/push"
+ "user-code/ldr/ldr"
+ "user-code/dcmotor/dcmotor"
+ "user-code/pot/pot"
+ "user-code/thermistor/thermistor"
+ "user-code/servo/servo"
+ "user-code/modbus/modbus")))
+
diff --git a/scilab-arduino/bibliography.bib b/scilab-arduino/bibliography.bib
new file mode 100644
index 0000000..22bdb36
--- /dev/null
+++ b/scilab-arduino/bibliography.bib
@@ -0,0 +1,165 @@
+@Misc{scilab-ref,
+OPTkey = {},
+author = {},
+title = {scilab.org},
+howpublished = {http://www.scilab.org/scilab/about},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{xcos-ref,
+OPTkey = {},
+author = {},
+title = {scilab.org},
+howpublished = {http://www.scilab.org/scilab/features/xcos},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{scilab-interop,
+OPTkey = {},
+author = {},
+title = {scilab.org},
+howpublished = {http://www.scilab.org/scilab/interoperability},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{oshw-ref,
+OPTkey = {},
+author = {},
+title = {oshwa.org},
+howpublished = {http://www.oshwa.org/definition},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{oshw-logo-ref,
+OPTkey = {},
+author = {Mateo Zlatar},
+title = {Open source hardware logo},
+howpublished = {http://www.oshwa.org/open-source-hardware-logo},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{uno-ref,
+OPTkey = {},
+author = {},
+title = {Arduino Uno},
+howpublished = {https://www.arduino.cc/en/uploads/Main/ArduinoUnoFront240.jpg},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{mega-ref,
+OPTkey = {},
+author = {},
+title = {Arduino Mega},
+howpublished = {https://www.arduino.cc/en/uploads/Main/ArduinoMega2560\_R3 \_Fronte.jpg},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{lily-ref,
+OPTkey = {},
+author = {},
+title = {LilyPod Arduino},
+howpublished = {https://www.arduino.cc/en/uploads/Main/LilyPad\_5.jpg},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{phone-ref,
+OPTkey = {},
+author = {},
+title = {Arduino Phone},
+howpublished = {http://www.instructables.com/id/ArduinoPhone/},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{candy-ref,
+OPTkey = {},
+author = {},
+title = {Candy sorting machine},
+howpublished = {http://beta.ivc.no/wiki/index.php/Skittles\_M\%26M\%27s \_Sorting\_Machine},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{3d-printer-ref,
+OPTkey = {},
+author = {},
+title = {3D Printer},
+howpublished = {http://www.instructables.com/id/Arduino-Controlled-CNC-3D-Printer/},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{shield-ref,
+OPTkey = {},
+author = {},
+title = {Shield},
+howpublished = { http://codeshield.diyode.com/about/schematics/},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{CNES-Scilab,
+OPTkey = {},
+author = {T. Martin},
+title = {Use of Scilab for space mission analysis},
+howpublished = {https://www.scilab.org/community/scilabtec/2009/Use-of-Scilab-for-space-mission-analysis},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{scilab-arduino,
+OPTkey = {},
+author = {B. Jofret},
+title = {Scilab Arduino Toolbox},
+howpublished = {http://atoms.scilab.org/},
+OPTmonth = {},
+year = {},
+note = {Seen on 28 June 2015},
+OPTannote = {}
+}
+
+@Misc{python-ref,
+OPTkey = {},
+author = {},
+title = {python.org},
+howpublished = {https://www.python.org/doc/essays/blurb/},
+OPTmonth = {},
+year = {},
+note = {Seen on 24 February 2021},
+OPTannote = {}
+}
+
diff --git a/scilab-arduino/corr.odt b/scilab-arduino/corr.odt
new file mode 100644
index 0000000..6d2c3ef
--- /dev/null
+++ b/scilab-arduino/corr.odt
Binary files differ
diff --git a/scilab-arduino/scilab-arduino.ard b/scilab-arduino/scilab-arduino.ard
new file mode 100644
index 0000000..2e54d2f
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.ard
@@ -0,0 +1,29 @@
+\addvspace {10pt}
+\contentsline {section}{\numberline {3.{1}}First 10 lines of the Arduino firmware}{47}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {4.{1}}Turning on the blue LED}{67}%
+\contentsline {section}{\numberline {4.{2}}Turning on the blue LED and turning it off after two seconds}{67}%
+\contentsline {section}{\numberline {4.{3}}Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{67}%
+\contentsline {section}{\numberline {4.{4}}Blinking the green LED}{67}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {5.{1}}Read the status of the pushbutton and displaying on the serial monitor}{86}%
+\contentsline {section}{\numberline {5.{2}}Turning the LED on or off depending on the pushbutton}{86}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {6.{1}}Read and display the LDR values}{102}%
+\contentsline {section}{\numberline {6.{2}}Turning the blue LED on and off}{102}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {7.{1}}Rotating the DC motor}{121}%
+\contentsline {section}{\numberline {7.{2}}Rotating the DC motor in both directions}{122}%
+\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions in a loop}{122}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {8.{1}}Turning on LEDs depending on the potentiometer threshold}{137}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {9.{1}}Read and display the thermistor values}{153}%
+\contentsline {section}{\numberline {9.{2}}Turning the buzzer on and off using thermistor values}{153}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {10.{1}}Rotating the servomotor to a specified degree}{172}%
+\contentsline {section}{\numberline {10.{2}}Rotating the servomotor to a specified degree and reversing}{172}%
+\contentsline {section}{\numberline {10.{3}}Rotating the servomotor in increments}{173}%
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor through the potentiometer}{173}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {11.{1}}First 10 lines of the firmware for Modbus Energy Meter experiment}{199}%
diff --git a/scilab-arduino/scilab-arduino.aux b/scilab-arduino/scilab-arduino.aux
new file mode 100644
index 0000000..81850c2
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.aux
@@ -0,0 +1,1425 @@
+\relax
+\bibstyle{unsrt}
+\@writefile{toc}{\contentsline {chapter}{\numberline {List of Figures}}{vii}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {List of Tables}}{xi}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {List of Arduino \ Code}}{xiii}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {List of Scilab, Python, Julia \& OpenModelica Code}}{xv}\protected@file@percent }
+\@writefile{toc}{\thispagestyle {empty}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {List of Acronyms}}{xix}\protected@file@percent }
+\citation{CNES-Scilab}
+\citation{scilab-arduino}
+\@writefile{toc}{\contentsline {chapter}{\numberline {1}Introduction}{1}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{sec:intro}{{1}{1}}
+\newlabel{fn:file-loc}{{2}{2}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {2}Hardware Environment}{3}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{sec:hw-env}{{2}{3}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.1}Microcontroller}{3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.1}Organization of a Microcontroller}{3}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {2.1}{\ignorespaces Functional block diagram of a microcontroller\relax }}{4}\protected@file@percent }
+\providecommand*\caption@xref[2]{\@setref\relax\@undefined{#1}}
+\newlabel{micro-arch}{{2.1}{4}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.1.2}Microcontroller Peripherals}{5}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {2.2}{\ignorespaces ADC resolution\relax }}{6}\protected@file@percent }
+\newlabel{resolution}{{2.2}{6}}
+\citation{oshw-ref}
+\citation{oshw-ref}
+\citation{OSHW-logo-ref}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.3}{\ignorespaces The logo of Open Source Hardware\relax }}{7}\protected@file@percent }
+\newlabel{fig:OSHW-logo}{{2.3}{7}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.2}Open Source Hardware (OSHW)}{7}\protected@file@percent }
+\newlabel{sec:oshw}{{2.2}{7}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.3}Arduino}{8}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Brief History}{8}\protected@file@percent }
+\citation{uno-ref}
+\citation{mega-ref}
+\citation{lily-ref}
+\citation{phone-ref}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.4}{\ignorespaces Arduino Uno Board\relax }}{9}\protected@file@percent }
+\newlabel{arduino}{{2.4}{9}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Arduino Uno Board}{9}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.3}Popular Arduino Projects}{9}\protected@file@percent }
+\citation{candy-ref}
+\@writefile{lot}{\contentsline {table}{\numberline {2.1}{\ignorespaces Arduino Uno hardware specifications\relax }}{10}\protected@file@percent }
+\newlabel{micro-table}{{2.1}{10}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.5}{\ignorespaces Arduino Mega Board\relax }}{10}\protected@file@percent }
+\newlabel{mega}{{2.5}{10}}
+\@writefile{toc}{\contentsline {paragraph}{Arduino phone:}{10}\protected@file@percent }
+\citation{3d-printer-ref}
+\citation{shield-ref}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.6}{\ignorespaces LilyPad Arduino Board\relax }}{11}\protected@file@percent }
+\newlabel{lily}{{2.6}{11}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.7}{\ignorespaces Arduino Phone\relax }}{11}\protected@file@percent }
+\newlabel{arduino-phone}{{2.7}{11}}
+\@writefile{toc}{\contentsline {paragraph}{Candy sorting machine:}{11}\protected@file@percent }
+\@writefile{toc}{\contentsline {paragraph}{3D printers:}{11}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {2.4}Shield}{11}\protected@file@percent }
+\citation{shield-ref}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.8}{\ignorespaces 3D printer\relax }}{12}\protected@file@percent }
+\newlabel{3dprinter}{{2.8}{12}}
+\newlabel{1@xvr}{{}{12}}
+\newlabel{1@vr}{{}{12}}
+\@writefile{toc}{\contentsline {section}{\numberline {2.5}Experimental Test Bed}{12}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {2.9}{\ignorespaces PCB image of the shield}}{13}\protected@file@percent }
+\newlabel{3@xvr}{{}{13}}
+\newlabel{3@vr}{{}{13}}
+\newlabel{fig:PCB-image}{{2.9}{13}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.10}{\ignorespaces Pictorial representation of the schematic of the shield}}{14}\protected@file@percent }
+\newlabel{5@xvr}{{}{14}}
+\newlabel{5@vr}{{}{14}}
+\newlabel{fig:sch-shield}{{2.10}{14}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.11}{\ignorespaces PCB of the shield}}{15}\protected@file@percent }
+\newlabel{7@xvr}{{}{15}}
+\newlabel{7@vr}{{}{15}}
+\newlabel{fig:shield-photo}{{2.11}{15}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2.12}{\ignorespaces Picture of the shield with all components\relax }}{15}\protected@file@percent }
+\newlabel{shield}{{2.12}{15}}
+\@writefile{lot}{\contentsline {table}{\numberline {2.2}{\ignorespaces Values of components used in the shield\relax }}{16}\protected@file@percent }
+\newlabel{tab:shield-values}{{2.2}{16}}
+\@writefile{lot}{\contentsline {table}{\numberline {2.3}{\ignorespaces Information on sensors and pin numbers\relax }}{16}\protected@file@percent }
+\newlabel{shield-table}{{2.3}{16}}
+\@writefile{toc}{\contentsline {chapter}{\numberline {3}Communcation between Software and Arduino}{17}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{sec:sw-env}{{3}{17}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.1}Arduino IDE}{17}\protected@file@percent }
+\newlabel{arduino-ide}{{3.1}{17}}
+\newlabel{sec:ard-start}{{3.1}{17}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.1}Downloading and installing on Windows}{18}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}Downloading and installing on GNU/Linux Ubuntu}{18}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Windows device manager\relax }}{19}\protected@file@percent }
+\newlabel{win-device-manager}{{3.1}{19}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Windows update driver option\relax }}{20}\protected@file@percent }
+\newlabel{win-dri-update}{{3.2}{20}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.3}{\ignorespaces Confirmation for executing Arduino script\relax }}{21}\protected@file@percent }
+\newlabel{ard-lin-run}{{3.3}{21}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.3}Arduino Development Environment}{21}\protected@file@percent }
+\newlabel{sec:Arduino-IDE}{{3.1.3}{21}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.4}{\ignorespaces Arduino IDE\relax }}{22}\protected@file@percent }
+\newlabel{ard-ide}{{3.4}{22}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1.4}Testing Arduino with a sample program}{23}\protected@file@percent }
+\newlabel{sec:testing-arduino}{{3.1.4}{23}}
+\citation{scilab-ref}
+\citation{scilab-interop}
+\@writefile{toc}{\contentsline {section}{\numberline {3.2}Scilab}{24}\protected@file@percent }
+\newlabel{sec:sci-start}{{3.2}{24}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Downloading and installing Scilab}{24}\protected@file@percent }
+\newlabel{scilab-installation}{{3.2.1}{24}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.5}{\ignorespaces Linux terminal to launch Scilab\relax }}{25}\protected@file@percent }
+\newlabel{linux-cd}{{3.5}{25}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Scilab Arduino toolbox}{25}\protected@file@percent }
+\newlabel{8@xvr}{{}{25}}
+\newlabel{8@vr}{{}{25}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.6}{\ignorespaces Changing scilab directory\relax }}{26}\protected@file@percent }
+\newlabel{scilab-cd}{{3.6}{26}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.7}{\ignorespaces Browsing toolbox directory\relax }}{27}\protected@file@percent }
+\newlabel{scilab-browse}{{3.7}{27}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.8}{\ignorespaces Output of builder.sce\relax }}{28}\protected@file@percent }
+\newlabel{builder}{{3.8}{28}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.3}Identifying Arduino communication port number}{28}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {3.9}{\ignorespaces Output of loader.sce\relax }}{29}\protected@file@percent }
+\newlabel{loader}{{3.9}{29}}
+\newlabel{fn:port}{{4}{29}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.10}{\ignorespaces Device Manager in windows\relax }}{30}\protected@file@percent }
+\newlabel{dev-mgr}{{3.10}{30}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2.4}Testing Scilab-Arduino toolbox}{30}\protected@file@percent }
+\newlabel{sec:testing-scilab-arduino}{{3.2.4}{30}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.11}{\ignorespaces COM port properties window\relax }}{31}\protected@file@percent }
+\newlabel{com}{{3.11}{31}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.12}{\ignorespaces Port number on Linux terminal\relax }}{31}\protected@file@percent }
+\newlabel{linux-port}{{3.12}{31}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.13}{\ignorespaces Scilab test code output\relax }}{32}\protected@file@percent }
+\newlabel{test-console}{{3.13}{32}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/test\textunderscore firmware.sce}{32}\protected@file@percent }
+\newlabel{fn:firmware}{{5}{32}}
+\citation{xcos-ref}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.14}{\ignorespaces Arduino toolbox functions used in this book\relax }}{33}\protected@file@percent }
+\newlabel{func}{{3.14}{33}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.3}Xcos}{33}\protected@file@percent }
+\newlabel{sec:xcos-start}{{3.3}{33}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Downloading, installing and testing}{33}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {3.15}{\ignorespaces Sine generator in palette browser\relax }}{34}\protected@file@percent }
+\newlabel{sine-blk}{{3.15}{34}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.16}{\ignorespaces CSCOPE block in xcos\relax }}{35}\protected@file@percent }
+\newlabel{plot-blk}{{3.16}{35}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Use case}{35}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {3.17}{\ignorespaces CLOCK\_c block in xcos\relax }}{36}\protected@file@percent }
+\newlabel{clk-blk}{{3.17}{36}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.18}{\ignorespaces Sine generator in Xcos\relax }}{36}\protected@file@percent }
+\newlabel{sine-gen}{{3.18}{36}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.19}{\ignorespaces Sine generator Xcos output\relax }}{37}\protected@file@percent }
+\newlabel{sine-output}{{3.19}{37}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.20}{\ignorespaces CSCOPE configuration window\relax }}{37}\protected@file@percent }
+\newlabel{cscope-config}{{3.20}{37}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.21}{\ignorespaces Simulation setup window\relax }}{38}\protected@file@percent }
+\newlabel{sim-setup}{{3.21}{38}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.3}Xcos-Arduino}{38}\protected@file@percent }
+\citation{python-ref}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.22}{\ignorespaces Palette browser showing Arduino blocks\relax }}{39}\protected@file@percent }
+\newlabel{arduino-palette}{{3.22}{39}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.23}{\ignorespaces Xcos block help\relax }}{39}\protected@file@percent }
+\newlabel{blk-help}{{3.23}{39}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.4}Python}{39}\protected@file@percent }
+\newlabel{sec:python-start}{{3.4}{39}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}Downloading and installing Python}{40}\protected@file@percent }
+\newlabel{python-installation}{{3.4.1}{40}}
+\@writefile{toc}{\contentsline {section}{\numberline {3.5}Julia}{40}\protected@file@percent }
+\newlabel{sec:julia-start}{{3.5}{40}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.1}Downloading and installing Julia}{40}\protected@file@percent }
+\newlabel{julia-installation}{{3.5.1}{40}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.2}Downloading and installing Juno IDE}{42}\protected@file@percent }
+\newlabel{juno-ide-installation}{{3.5.2}{42}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.24}{\ignorespaces Linux terminal to launch Julia\relax }}{43}\protected@file@percent }
+\newlabel{julia-terminal}{{3.24}{43}}
+\@writefile{lof}{\contentsline {figure}{\numberline {3.25}{\ignorespaces Linux Atom Text Editor\relax }}{43}\protected@file@percent }
+\newlabel{atom-lunch}{{3.25}{43}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.3}Julia Arduino toolbox}{44}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.5.4}Using the serial port package}{44}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {3.6}OpenModelica}{45}\protected@file@percent }
+\newlabel{sec:OpenModelica-start}{{3.6}{45}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.6.1}Downloading and installing OpenModelica}{45}\protected@file@percent }
+\newlabel{OpenModelica-installation}{{3.6.1}{45}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.6.2}Executing OpenModelica}{46}\protected@file@percent }
+\newlabel{OpenModelica-code-execution}{{3.6.2}{46}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.6.3}OpenModelica Arduino toolbox}{46}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {3.7}Code}{46}\protected@file@percent }
+\newlabel{sec:hw-arduino}{{3.7}{46}}
+\@writefile{ard}{\addvspace {10pt}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.1}Arduino Code}{47}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{3.{1}}{}}{47}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {3.{1}}First 10 lines of the Arduino firmware}{47}\protected@file@percent }
+\newlabel{9@xvr}{{}{47}}
+\newlabel{9@vr}{{}{47}}
+\newlabel{ard:firmware}{{3.{1}}{47}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/arduino-firmware/arduino\textendash firmware.ino}{47}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.2}Scilab Code}{47}\protected@file@percent }
+\newlabel{sec:test-firmware-scilab}{{3.7.2}{47}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{3.{1}}{}}{47}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {3.{1}}A code to check whether the firmware is properly installed or not}{47}\protected@file@percent }
+\newlabel{10@xvr}{{}{47}}
+\newlabel{10@vr}{{}{47}}
+\newlabel{sci:test-firmware}{{3.{1}}{47}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/test\textunderscore firmware.sce}{47}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.3}Python Code}{47}\protected@file@percent }
+\newlabel{sec:test-firmware-python}{{3.7.3}{47}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{3.{1}}{}}{47}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {3.{1}}A code to check whether the firmware is properly installed or not}{47}\protected@file@percent }
+\newlabel{11@xvr}{{}{47}}
+\newlabel{11@vr}{{}{47}}
+\newlabel{py:test-firmware}{{3.{1}}{47}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led\textendash blue.py}{47}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.4}Julia Code}{48}\protected@file@percent }
+\newlabel{sec:test-firmware-julia}{{3.7.4}{48}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{3.{1}}{}}{48}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {3.{1}}A code to check whether the firmware is properly installed or not}{48}\protected@file@percent }
+\newlabel{12@xvr}{{}{48}}
+\newlabel{12@vr}{{}{48}}
+\newlabel{julia:test-firmware}{{3.{1}}{48}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/test\textunderscore firmware.jl}{48}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.7.5}OpenModelica Code}{48}\protected@file@percent }
+\newlabel{sec:test-firmware-OpenModelica}{{3.7.5}{48}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{3.{1}}{}}{48}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {3.{1}}A code to check whether the firmware is properly installed or not}{48}\protected@file@percent }
+\newlabel{13@xvr}{{}{49}}
+\newlabel{13@vr}{{}{49}}
+\newlabel{OpenModelica:test-firmware}{{3.{1}}{49}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenModelica/test\textunderscore firmware.mo}{49}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {4}Interfacing a Light Emitting Diode}{51}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{led}{{4}{51}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.1}Preliminaries}{51}\protected@file@percent }
+\newlabel{sec:led-pril}{{4.1}{51}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces Light Emitting Diode\relax }}{51}\protected@file@percent }
+\newlabel{fig:ledsym}{{4.1}{51}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces Internal connection diagram for LED on the shield\relax }}{52}\protected@file@percent }
+\newlabel{fig:ledblock}{{4.2}{52}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces Connecting Arduino and Shield\relax }}{52}\protected@file@percent }
+\newlabel{fig:uno-shield-connect}{{4.3}{52}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.2}Lighting the LED from the Arduino IDE}{53}\protected@file@percent }
+\newlabel{sec:light-ard}{{4.2}{53}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led\textendash blue/led\textendash blue.ino}{53}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led\textendash blue/led\textendash blue.ino}{53}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led\textendash blue\textendash delay/led\textendash blue\textendash delay.ino}{53}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led\textendash blue\textendash delay/led\textendash blue\textendash delay.ino}{53}\protected@file@percent }
+\@writefile{toc}{\contentsline {paragraph}{Note:}{54}\protected@file@percent }
+\@writefile{toc}{\contentsline {paragraph}{Note:}{54}\protected@file@percent }
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{4.{1}}{}}{54}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {4.4}{\ignorespaces LED experiments directly on Arduino Uno\ board, without the shield\relax }}{55}\protected@file@percent }
+\newlabel{fig:led-uno}{{4.4}{55}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.3}Lighting the LED from Scilab Scripts}{55}\protected@file@percent }
+\newlabel{sec:light-sci}{{4.3}{55}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led\textendash blue.sce}{55}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led\textendash blue.sce}{56}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led\textendash blue.sce}{56}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led\textendash blue\textendash delay.sce}{56}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led\textendash blue\textendash delay.sce}{56}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces Turning the blue LED on through Xcos}}{57}\protected@file@percent }
+\newlabel{15@xvr}{{}{57}}
+\newlabel{15@vr}{{}{57}}
+\newlabel{fig:led-blue}{{4.5}{57}}
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{4.{2}}{}}{57}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {4.4}Lighting the LED from Scilab Xcos}{57}\protected@file@percent }
+\newlabel{sec:light-xcos}{{4.4}{57}}
+\@writefile{lot}{\contentsline {table}{\numberline {4.1}{\ignorespaces Parameters to light the blue LED in Xcos\relax }}{58}\protected@file@percent }
+\newlabel{tab:led-blue}{{4.1}{58}}
+\newlabel{16@xvr}{{}{58}}
+\newlabel{16@vr}{{}{58}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces Turning the blue LED on through Xcos for two seconds}}{58}\protected@file@percent }
+\newlabel{18@xvr}{{}{58}}
+\newlabel{18@vr}{{}{58}}
+\newlabel{fig:led-blue-delay}{{4.6}{58}}
+\@writefile{lot}{\contentsline {table}{\numberline {4.2}{\ignorespaces Parameters to light the blue LED in Xcos for two seconds\relax }}{59}\protected@file@percent }
+\newlabel{tab:led-blue-delay}{{4.2}{59}}
+\newlabel{19@xvr}{{}{59}}
+\newlabel{19@vr}{{}{59}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.7}{\ignorespaces Turning the blue and red LEDs on through Xcos and turning them off one by one}}{59}\protected@file@percent }
+\newlabel{21@xvr}{{}{59}}
+\newlabel{21@vr}{{}{59}}
+\newlabel{fig:led-blue-red}{{4.7}{59}}
+\@writefile{lot}{\contentsline {table}{\numberline {4.3}{\ignorespaces Parameters to turn the blue and red LEDs on and then turn them off one by one\relax }}{60}\protected@file@percent }
+\newlabel{tab:led-blue-red}{{4.3}{60}}
+\newlabel{22@xvr}{{}{60}}
+\newlabel{22@vr}{{}{60}}
+\@writefile{lot}{\contentsline {table}{\numberline {4.4}{\ignorespaces Parameters to make the green LED blink every second\relax }}{60}\protected@file@percent }
+\newlabel{tab:led-green-blink}{{4.4}{60}}
+\newlabel{25@xvr}{{}{60}}
+\newlabel{25@vr}{{}{60}}
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{4.{3}}{}}{60}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {4.8}{\ignorespaces Blinking the green LED every second through Xcos}}{61}\protected@file@percent }
+\newlabel{24@xvr}{{}{61}}
+\newlabel{24@vr}{{}{61}}
+\newlabel{fig:led-green-blink}{{4.8}{61}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.5}Lighting the LED from Python Scripts}{61}\protected@file@percent }
+\newlabel{sec:light-py}{{4.5}{61}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.6}Lighting the LED from Julia Scripts}{64}\protected@file@percent }
+\newlabel{sec:light-julia}{{4.6}{64}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.7}Lighting the LED from OpenModelica Scripts}{65}\protected@file@percent }
+\newlabel{sec:light-OpenModelica}{{4.7}{65}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.8}Arduino Code}{67}\protected@file@percent }
+\newlabel{sec:led-arduino-code}{{4.8}{67}}
+\@writefile{ard}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{4.{1}}{}}{67}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {4.{1}}Turning on the blue LED}{67}\protected@file@percent }
+\newlabel{26@xvr}{{}{67}}
+\newlabel{26@vr}{{}{67}}
+\newlabel{ard:led-blue}{{4.{1}}{67}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led\textendash blue/led\textendash blue.ino}{67}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{4.{2}}{}}{67}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {4.{2}}Turning on the blue LED and turning it off after two seconds}{67}\protected@file@percent }
+\newlabel{27@xvr}{{}{67}}
+\newlabel{27@vr}{{}{67}}
+\newlabel{ard:led-blue-delay}{{4.{2}}{67}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led\textendash blue\textendash delay/led\textendash blue\textendash delay.ino}{67}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{4.{3}}{}}{67}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {4.{3}}Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{67}\protected@file@percent }
+\newlabel{28@xvr}{{}{67}}
+\newlabel{28@vr}{{}{67}}
+\newlabel{ard:led-blue-red}{{4.{3}}{67}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led\textendash blue\textendash red/led\textendash blue\textendash red.ino}{67}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{4.{4}}{}}{67}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {4.{4}}Blinking the green LED}{67}\protected@file@percent }
+\newlabel{29@xvr}{{}{67}}
+\newlabel{29@vr}{{}{67}}
+\newlabel{ard:led-blink}{{4.{4}}{67}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led\textendash blink/led\textendash blink.ino}{68}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {4.9}Scilab Code}{68}\protected@file@percent }
+\newlabel{sec:led-scilab-code}{{4.9}{68}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{4.{1}}{}}{68}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{1}}Turning on the LED}{68}\protected@file@percent }
+\newlabel{30@xvr}{{}{68}}
+\newlabel{30@vr}{{}{68}}
+\newlabel{sci:led-blue}{{4.{1}}{68}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led\textendash blue.sce}{68}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{4.{2}}{}}{68}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{2}}Turning on the blue LED and turning it off after two seconds}{68}\protected@file@percent }
+\newlabel{31@xvr}{{}{68}}
+\newlabel{31@vr}{{}{68}}
+\newlabel{sci:led-blue-delay}{{4.{2}}{68}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led\textendash blue\textendash delay.sce}{68}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{4.{3}}{}}{68}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{3}}Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{68}\protected@file@percent }
+\newlabel{32@xvr}{{}{68}}
+\newlabel{32@vr}{{}{68}}
+\newlabel{sci:led-blue-red}{{4.{3}}{68}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led\textendash blue\textendash red.sce}{68}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{4.{4}}{}}{69}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Blinking the green LED}{69}\protected@file@percent }
+\newlabel{33@xvr}{{}{69}}
+\newlabel{33@vr}{{}{69}}
+\newlabel{sci:led-green-blink}{{4.{4}}{69}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led\textendash green\textendash blink.sce}{69}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {4.10}Python Code}{69}\protected@file@percent }
+\newlabel{sec:led-python-code}{{4.10}{69}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{4.{1}}{}}{69}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Turning on the LED}{69}\protected@file@percent }
+\newlabel{34@xvr}{{}{69}}
+\newlabel{34@vr}{{}{69}}
+\newlabel{py:led-blue1}{{4.{1}}{69}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led\textendash blue.py}{69}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{4.{2}}{}}{70}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Turning on the blue LED and turning it off after two seconds}{70}\protected@file@percent }
+\newlabel{35@xvr}{{}{70}}
+\newlabel{35@vr}{{}{70}}
+\newlabel{py:led-blue-delay}{{4.{2}}{70}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led\textendash blue\textendash delay.py}{70}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{4.{3}}{}}{71}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{71}\protected@file@percent }
+\newlabel{36@xvr}{{}{71}}
+\newlabel{36@vr}{{}{71}}
+\newlabel{py:led-blue-red}{{4.{3}}{71}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led\textendash blue\textendash red.py}{71}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{4.{4}}{}}{72}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Blinking the green LED}{72}\protected@file@percent }
+\newlabel{37@xvr}{{}{72}}
+\newlabel{37@vr}{{}{72}}
+\newlabel{py:led-green-blink}{{4.{4}}{72}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led\textendash green\textendash blink.py}{72}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {4.11}Julia Code}{73}\protected@file@percent }
+\newlabel{sec:led-julia-code}{{4.11}{73}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{4.{1}}{}}{73}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Turning on the LED}{73}\protected@file@percent }
+\newlabel{38@xvr}{{}{73}}
+\newlabel{38@vr}{{}{73}}
+\newlabel{julia:led-blue}{{4.{1}}{73}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/led\textendash blue.jl}{73}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{4.{2}}{}}{73}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Turning on the blue LED and turning it off after two seconds}{73}\protected@file@percent }
+\newlabel{39@xvr}{{}{73}}
+\newlabel{39@vr}{{}{73}}
+\newlabel{julia:led-blue-delay}{{4.{2}}{73}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/led\textendash blue\textendash delay.jl}{73}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{4.{3}}{}}{73}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{73}\protected@file@percent }
+\newlabel{40@xvr}{{}{73}}
+\newlabel{40@vr}{{}{73}}
+\newlabel{juila:led-bmoe-red}{{4.{3}}{73}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/led\textendash blue\textendash red.jl}{73}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{4.{4}}{}}{73}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Blinking the green LED}{73}\protected@file@percent }
+\newlabel{41@xvr}{{}{73}}
+\newlabel{41@vr}{{}{73}}
+\newlabel{julia:lemogreen-blink}{{4.{4}}{73}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/led\textendash green\textendash blink.jl}{74}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {4.12}OpenModelica Code}{74}\protected@file@percent }
+\newlabel{sec:led-OpenModelica-code}{{4.12}{74}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{4.{1}}{}}{74}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Turning on the LED}{74}\protected@file@percent }
+\newlabel{42@xvr}{{}{74}}
+\newlabel{42@vr}{{}{74}}
+\newlabel{OpenModelica:led-blue}{{4.{1}}{74}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenModelica/led\textendash blue.mo}{74}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{4.{2}}{}}{74}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Turning on the blue LED and turning it off after two seconds}{74}\protected@file@percent }
+\newlabel{43@xvr}{{}{74}}
+\newlabel{43@vr}{{}{74}}
+\newlabel{OpenModelica:led-blue-delay}{{4.{2}}{74}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenModelica/led\textendash blue\textendash delay.mo}{75}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{4.{3}}{}}{75}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{75}\protected@file@percent }
+\newlabel{44@xvr}{{}{75}}
+\newlabel{44@vr}{{}{75}}
+\newlabel{OpenModelica:led-blue-red}{{4.{3}}{75}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenModelica/led\textendash blue\textendash red.mo}{75}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{4.{4}}{}}{76}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {4.{4}}Blinking the green LED}{76}\protected@file@percent }
+\newlabel{45@xvr}{{}{76}}
+\newlabel{45@vr}{{}{76}}
+\newlabel{OpenModelica:led-green-blink}{{4.{4}}{76}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenModelica/led\textendash green\textendash blink.mo}{76}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {5}Interfacing a Pushbutton}{79}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{pushbutton}{{5}{79}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.1}Preliminaries}{79}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.2}Reading the Pushbutton status from the Arduino IDE}{79}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {5.1}{\ignorespaces Connection Diagram\relax }}{80}\protected@file@percent }
+\newlabel{fig:pushbuttonconn}{{5.1}{80}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/arduino/push\textendash button\textendash status/push\textendash button\textendash status.ino}{80}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/arduino/push\textendash button\textendash status/push\textendash button\textendash status.ino}{80}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/arduino/led\textendash push\textendash button/led\textendash push\textendash button.ino}{81}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.3}Reading the Pushbutton status from Scilab Scripts}{81}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/scilab/push\textendash button\textendash status.sce}{81}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/scilab/push\textendash button\textendash status.sce}{81}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/scilab/led\textendash push\textendash button.sce}{81}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {5.2}{\ignorespaces Printing the push button status on the display block}}{82}\protected@file@percent }
+\newlabel{47@xvr}{{}{82}}
+\newlabel{47@vr}{{}{82}}
+\newlabel{fig:push-button-status}{{5.2}{82}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.4}Accessing the Pushbutton from Xcos}{82}\protected@file@percent }
+\newlabel{sec:push-xcos}{{5.4}{82}}
+\@writefile{lot}{\contentsline {table}{\numberline {5.1}{\ignorespaces Parameters to print the push button status on the display block\relax }}{83}\protected@file@percent }
+\newlabel{tab:push-button-status}{{5.1}{83}}
+\newlabel{48@xvr}{{}{83}}
+\newlabel{48@vr}{{}{83}}
+\@writefile{lof}{\contentsline {figure}{\numberline {5.3}{\ignorespaces Turning the LED on or off, depending on the pushbutton}}{83}\protected@file@percent }
+\newlabel{50@xvr}{{}{83}}
+\newlabel{50@vr}{{}{83}}
+\newlabel{fig:led-push-button}{{5.3}{83}}
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{5.{1}}{}}{83}\protected@file@percent }
+\@writefile{lot}{\contentsline {table}{\numberline {5.2}{\ignorespaces Xcos parameters to turn the LED on through the pushbutton\relax }}{84}\protected@file@percent }
+\newlabel{tab:led-push-button}{{5.2}{84}}
+\newlabel{51@xvr}{{}{84}}
+\newlabel{51@vr}{{}{84}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.5}Reading the Pushbutton status from Python Scripts}{84}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/python/push\textendash button\textendash status.py}{84}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/python/push\textendash button\textendash status.py}{84}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/python/led\textendash push\textendash button.py}{85}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.6}Reading the Pushbutton status from julia Scripts}{85}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/julia/push\textendash button\textendash status.jl}{85}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/julia/led\textendash push\textendash button.jl}{85}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.7}Reading the Pushbutton status from OpenModelica Scripts}{86}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/OpenModelica/push\textendash button\textendash status.mo}{86}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.8}Arduino Code}{86}\protected@file@percent }
+\newlabel{sec:push-arduino-code}{{5.8}{86}}
+\@writefile{ard}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{5.{1}}{}}{86}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {5.{1}}Read the status of the pushbutton and displaying on the serial monitor}{86}\protected@file@percent }
+\newlabel{52@xvr}{{}{86}}
+\newlabel{52@vr}{{}{86}}
+\newlabel{ard:push-100}{{5.{1}}{86}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/arduino/push\textendash button\textendash status/push\textendash button\textendash status.ino}{86}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{5.{2}}{}}{86}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {5.{2}}Turning the LED on or off depending on the pushbutton}{86}\protected@file@percent }
+\newlabel{53@xvr}{{}{86}}
+\newlabel{53@vr}{{}{86}}
+\newlabel{ard:push-200}{{5.{2}}{86}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/arduino/led\textendash push\textendash button/led\textendash push\textendash button.ino}{86}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.9}Scilab Code}{87}\protected@file@percent }
+\newlabel{sec:push-scilab-code}{{5.9}{87}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{5.{1}}{}}{87}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {5.{1}}Read the status of the pushbutton and displaying on the serial monitor}{87}\protected@file@percent }
+\newlabel{54@xvr}{{}{87}}
+\newlabel{54@vr}{{}{87}}
+\newlabel{sci:push-100}{{5.{1}}{87}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/scilab/push\textendash button\textendash status.sce}{87}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{5.{2}}{}}{87}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {5.{2}}Turning the LED on or off depending on the pushbutton}{87}\protected@file@percent }
+\newlabel{55@xvr}{{}{87}}
+\newlabel{55@vr}{{}{87}}
+\newlabel{sci:push-200}{{5.{2}}{87}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/scilab/led\textendash push\textendash button.sce}{87}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.10}Python Code}{88}\protected@file@percent }
+\newlabel{sec:push-python-code}{{5.10}{88}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{5.{1}}{}}{88}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {5.{1}}Read the status of the pushbutton and displaying on the serial monitor}{88}\protected@file@percent }
+\newlabel{56@xvr}{{}{88}}
+\newlabel{56@vr}{{}{88}}
+\newlabel{py:push-100}{{5.{1}}{88}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/python/push\textendash button\textendash status.py}{88}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{5.{2}}{}}{88}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {5.{2}}Turning the LED on or off depending on the pushbutton}{88}\protected@file@percent }
+\newlabel{57@xvr}{{}{88}}
+\newlabel{57@vr}{{}{88}}
+\newlabel{py:push-200}{{5.{2}}{88}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/python/led\textendash push\textendash button.py}{89}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.11}Julia Code}{89}\protected@file@percent }
+\newlabel{sec:push-julia-code}{{5.11}{89}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{5.{1}}{}}{89}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {5.{2}}Read the status of the pushbutton and displaying on the serial monitor}{89}\protected@file@percent }
+\newlabel{58@xvr}{{}{90}}
+\newlabel{58@vr}{{}{90}}
+\newlabel{julia:push-100}{{5.{1}}{90}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/julia/push\textendash button\textendash status.jl}{90}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{5.{2}}{}}{90}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {5.{2}}Turning the LED on or off depending on the pushbutton}{90}\protected@file@percent }
+\newlabel{59@xvr}{{}{90}}
+\newlabel{59@vr}{{}{90}}
+\newlabel{julia:push-200}{{5.{2}}{90}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/julia/led\textendash push\textendash button.jl}{90}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5.12}OpenModelica Code}{90}\protected@file@percent }
+\newlabel{sec:led-OpenModelica-code}{{5.12}{90}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{5.{1}}{}}{90}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {5.{2}}Read the status of the pushbutton and displaying on the serial monitor}{90}\protected@file@percent }
+\newlabel{60@xvr}{{}{90}}
+\newlabel{60@vr}{{}{90}}
+\newlabel{OpenModelica:push-100}{{5.{1}}{90}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/OpenModelica/push\textendash button\textendash status.mo}{90}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{5.{2}}{}}{91}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {5.{2}}Turning the LED on or off depending on the pushbutton}{91}\protected@file@percent }
+\newlabel{61@xvr}{{}{91}}
+\newlabel{61@vr}{{}{91}}
+\newlabel{OpenModelica:push-200}{{5.{2}}{91}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/OpenModelica/led\textendash push\textendash button.mo}{91}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {6}Interfacing a Light Dependent Resistor}{93}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{ldr}{{6}{93}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.1}Preliminaries}{93}\protected@file@percent }
+\newlabel{fig:ldr}{{6.1a}{94}}
+\newlabel{sub@fig:ldr}{{(a)}{a}}
+\newlabel{fig:ldrsym}{{6.1b}{94}}
+\newlabel{sub@fig:ldrsym}{{(b)}{b}}
+\@writefile{lof}{\contentsline {figure}{\numberline {6.1}{\ignorespaces Light Dependent Resistor\relax }}{94}\protected@file@percent }
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Pictorial representation of an LDR}}}{94}\protected@file@percent }
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Symbolic representation of an LDR}}}{94}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {6.2}{\ignorespaces Internal connection diagram for the LDR on the shield\relax }}{94}\protected@file@percent }
+\newlabel{fig:ldrconn}{{6.2}{94}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.2}Arduino Experiments}{95}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/arduino/ldr\textendash read/ldr\textendash read.ino}{95}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/arduino/ldr\textendash read/ldr\textendash read.ino}{95}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/arduino/ldr\textendash read/ldr\textendash read.ino}{95}\protected@file@percent }
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{6.{1}}{}}{95}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {6.3}Scilab Experiments}{96}\protected@file@percent }
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{6.{2}}{}}{96}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {6.3}{\ignorespaces Xcos diagram to read LDR values}}{97}\protected@file@percent }
+\newlabel{63@xvr}{{}{97}}
+\newlabel{63@vr}{{}{97}}
+\newlabel{fig:ldr-read}{{6.3}{97}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.4}LDR experiments through Xcos}{97}\protected@file@percent }
+\@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces Xcos parameters to read LDR\relax }}{98}\protected@file@percent }
+\newlabel{tab:ldr-read}{{6.1}{98}}
+\newlabel{64@xvr}{{}{98}}
+\newlabel{64@vr}{{}{98}}
+\@writefile{toc}{\contentsline {section}{\numberline {6.5}Python Experiments}{98}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {6.4}{\ignorespaces Xcos diagram to read the value of the LDR, which is used to turn the blue LED on or off}}{99}\protected@file@percent }
+\newlabel{66@xvr}{{}{99}}
+\newlabel{66@vr}{{}{99}}
+\newlabel{fig:ldr-led}{{6.4}{99}}
+\@writefile{lot}{\contentsline {table}{\numberline {6.2}{\ignorespaces Xcos parameters to read LDR and regulate blue LED\relax }}{100}\protected@file@percent }
+\newlabel{tab:ldr-led}{{6.2}{100}}
+\newlabel{67@xvr}{{}{100}}
+\newlabel{67@vr}{{}{100}}
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{6.{3}}{}}{100}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {6.6}Julia Experiments}{101}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/julia/led\textendash push\textendash button.jl}{101}\protected@file@percent }
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{6.{4}}{}}{101}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {6.7}OpenModelica Experiments}{101}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/OpenModelica/led\textendash push\textendash button.mo}{102}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {6.8}Arduino Code}{102}\protected@file@percent }
+\newlabel{sec:ldr-arduino-code}{{6.8}{102}}
+\@writefile{ard}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{6.{1}}{}}{102}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {6.{1}}Read and display the LDR values}{102}\protected@file@percent }
+\newlabel{68@xvr}{{}{102}}
+\newlabel{68@vr}{{}{102}}
+\newlabel{ard:ldr-read}{{6.{1}}{102}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/arduino/ldr\textendash read/ldr\textendash read.ino}{102}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{6.{2}}{}}{102}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {6.{2}}Turning the blue LED on and off}{102}\protected@file@percent }
+\newlabel{69@xvr}{{}{102}}
+\newlabel{69@vr}{{}{102}}
+\newlabel{ard:ldr-led}{{6.{2}}{102}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/arduino/ldr\textendash led/ldr\textendash led.ino}{102}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {6.9}Scilab Code}{103}\protected@file@percent }
+\newlabel{sec:ldr-scilab-code}{{6.9}{103}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{6.{1}}{}}{103}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {6.{1}}Read and display the LDR values}{103}\protected@file@percent }
+\newlabel{70@xvr}{{}{103}}
+\newlabel{70@vr}{{}{103}}
+\newlabel{sci:ldr-read}{{6.{1}}{103}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/scilab/ldr\textendash read.sce}{103}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{6.{2}}{}}{103}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {6.{2}}Turning the blue LED on and off}{103}\protected@file@percent }
+\newlabel{71@xvr}{{}{103}}
+\newlabel{71@vr}{{}{103}}
+\newlabel{sci:ldr-led}{{6.{2}}{103}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/scilab/ldr\textendash led.sce}{103}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {6.10}Python Code}{104}\protected@file@percent }
+\newlabel{sec:ldr-python-code}{{6.10}{104}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{6.{1}}{}}{104}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {6.{2}}Read and display the LDR values}{104}\protected@file@percent }
+\newlabel{72@xvr}{{}{104}}
+\newlabel{72@vr}{{}{104}}
+\newlabel{py:ldr-read}{{6.{1}}{104}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/python/ldr\textendash read.py}{104}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{6.{2}}{}}{104}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {6.{2}}Turning the blue LED on and off}{104}\protected@file@percent }
+\newlabel{73@xvr}{{}{104}}
+\newlabel{73@vr}{{}{104}}
+\newlabel{py:ldr-led}{{6.{2}}{104}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/python/ldr\textendash led.py}{104}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {6.11}Julia Code}{105}\protected@file@percent }
+\newlabel{sec:ldr-julia-code}{{6.11}{105}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{6.{1}}{}}{105}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {6.{2}}Read and display the LDR values}{105}\protected@file@percent }
+\newlabel{74@xvr}{{}{105}}
+\newlabel{74@vr}{{}{105}}
+\newlabel{julia:ldr-read}{{6.{1}}{105}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/julia/ldr\textendash read.jl}{105}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{6.{2}}{}}{106}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {6.{2}}Turning the blue LED on and off}{106}\protected@file@percent }
+\newlabel{75@xvr}{{}{106}}
+\newlabel{75@vr}{{}{106}}
+\newlabel{julia:ldr-led}{{6.{2}}{106}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/julia/ldr\textendash led.jl}{106}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {6.12}OpenModelica Code}{106}\protected@file@percent }
+\newlabel{sec:ldr-OpenModelica-code}{{6.12}{106}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{6.{1}}{}}{106}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {6.{2}}Read and display the LDR values}{106}\protected@file@percent }
+\newlabel{76@xvr}{{}{106}}
+\newlabel{76@vr}{{}{106}}
+\newlabel{OpenModelica:ldr-read}{{6.{1}}{106}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/OpenModelica/ldr\textendash read.mo}{106}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{6.{2}}{}}{107}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {6.{2}}Turning the blue LED on and off}{107}\protected@file@percent }
+\newlabel{77@xvr}{{}{107}}
+\newlabel{77@vr}{{}{107}}
+\newlabel{OpenModelica:ldr-led}{{6.{2}}{107}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/OpenModelica/ldr\textendash led.mo}{107}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {7}Interfacing a DC motor}{109}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{dcmotor}{{7}{109}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.1}Preliminaries}{109}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {7.1}{\ignorespaces L293D motor driver board\relax }}{110}\protected@file@percent }
+\newlabel{fig:motordriverboard}{{7.1}{110}}
+\@writefile{lof}{\contentsline {figure}{\numberline {7.2}{\ignorespaces A schematic of DC motor connections\relax }}{111}\protected@file@percent }
+\newlabel{fig:dcm-schematic}{{7.2}{111}}
+\@writefile{lof}{\contentsline {figure}{\numberline {7.3}{\ignorespaces How to connect the DC motor to the Arduino Uno\ board\relax }}{111}\protected@file@percent }
+\newlabel{fig:dcmotorconn}{{7.3}{111}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.2}Controlling the DC motor from Arduino}{111}\protected@file@percent }
+\newlabel{sec:dcm-ard}{{7.2}{111}}
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{7.{1}}{}}{112}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7.3}Controlling the DC motor from Scilab}{113}\protected@file@percent }
+\newlabel{sec:dcm-sci}{{7.3}{113}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.1}Initialization}{113}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{113}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.2}Rotation for a specified time}{113}\protected@file@percent }
+\newlabel{sec:dc-both}{{7.3.2}{113}}
+\@writefile{lot}{\contentsline {table}{\numberline {7.1}{\ignorespaces A numbering convention used in the DC motor breakout board\relax }}{114}\protected@file@percent }
+\newlabel{table:convention}{{7.1}{114}}
+\@writefile{lot}{\contentsline {table}{\numberline {7.2}{\ignorespaces Parameters for DC motor initialization\relax }}{114}\protected@file@percent }
+\newlabel{tab:dcmotor-init}{{7.2}{114}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{114}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{114}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{114}\protected@file@percent }
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{7.{2}}{}}{115}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3.3}Using the capabilities of Scilab}{115}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7.4}Driving the DC motor from Xcos}{115}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {7.4}{\ignorespaces Control of DC motor for a specified time from Xcos}}{116}\protected@file@percent }
+\newlabel{79@xvr}{{}{116}}
+\newlabel{79@vr}{{}{116}}
+\newlabel{fig:dcmotor-clock}{{7.4}{116}}
+\@writefile{lot}{\contentsline {table}{\numberline {7.3}{\ignorespaces Xcos parameters to drive the DC motor for a specified time\relax }}{117}\protected@file@percent }
+\newlabel{tab:dcmotor-clock}{{7.3}{117}}
+\newlabel{80@xvr}{{}{117}}
+\newlabel{80@vr}{{}{117}}
+\@writefile{lof}{\contentsline {figure}{\numberline {7.5}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{117}\protected@file@percent }
+\newlabel{82@xvr}{{}{117}}
+\newlabel{82@vr}{{}{117}}
+\newlabel{fig:dcmotor-both}{{7.5}{117}}
+\@writefile{lot}{\contentsline {table}{\numberline {7.4}{\ignorespaces Xcos parameters to drive the DC motor in forward and reverse directions\relax }}{118}\protected@file@percent }
+\newlabel{tab:dcmotor-both}{{7.4}{118}}
+\newlabel{83@xvr}{{}{118}}
+\newlabel{83@vr}{{}{118}}
+\@writefile{lof}{\contentsline {figure}{\numberline {7.6}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{118}\protected@file@percent }
+\newlabel{85@xvr}{{}{118}}
+\newlabel{85@vr}{{}{118}}
+\newlabel{fig:dcmotor-loop}{{7.6}{118}}
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{7.{3}}{}}{118}\protected@file@percent }
+\@writefile{lot}{\contentsline {table}{\numberline {7.5}{\ignorespaces Xcos parameters to drive the DC motor in a loop\relax }}{119}\protected@file@percent }
+\newlabel{tab:dcmotor-loop}{{7.5}{119}}
+\newlabel{86@xvr}{{}{119}}
+\newlabel{86@vr}{{}{119}}
+\@writefile{toc}{\contentsline {section}{\numberline {7.5}Controlling the DC motor from Python}{119}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7.6}Controlling the DC motor from Julia}{120}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7.7}Controlling the DC motor from OpenModelica}{121}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7.8}Arduino Code}{121}\protected@file@percent }
+\newlabel{sec:dcmotor-arduino-code}{{7.8}{121}}
+\@writefile{ard}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{7.{1}}{}}{121}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {7.{1}}Rotating the DC motor}{121}\protected@file@percent }
+\newlabel{87@xvr}{{}{121}}
+\newlabel{87@vr}{{}{121}}
+\newlabel{ard:dcmotor-clock}{{7.{1}}{121}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash clock/dcmotor\textendash clock.ino}{121}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{7.{2}}{}}{122}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {7.{2}}Rotating the DC motor in both directions}{122}\protected@file@percent }
+\newlabel{88@xvr}{{}{122}}
+\newlabel{88@vr}{{}{122}}
+\newlabel{ard:dcmotor-both}{{7.{2}}{122}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash both/dcmotor\textendash both.ino}{122}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{7.{3}}{}}{122}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions in a loop}{122}\protected@file@percent }
+\newlabel{89@xvr}{{}{122}}
+\newlabel{89@vr}{{}{122}}
+\newlabel{ard:dcmotor-loop}{{7.{3}}{122}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/arduino/dcmotor\textendash loop/dcmotor\textendash loop.ino}{122}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7.9}Scilab Code}{123}\protected@file@percent }
+\newlabel{sec:dcmotor-scilab-code}{{7.9}{123}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{7.{1}}{}}{123}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{1}}Rotating the DC motor}{123}\protected@file@percent }
+\newlabel{90@xvr}{{}{123}}
+\newlabel{90@vr}{{}{123}}
+\newlabel{sci:dcmotor-clock}{{7.{1}}{123}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash clock.sce}{123}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{7.{2}}{}}{123}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{2}}Rotating the DC motor in both directions}{123}\protected@file@percent }
+\newlabel{91@xvr}{{}{123}}
+\newlabel{91@vr}{{}{123}}
+\newlabel{sci:dcmotor-both}{{7.{2}}{123}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash both.sce}{123}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{7.{3}}{}}{123}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions in a loop}{123}\protected@file@percent }
+\newlabel{92@xvr}{{}{123}}
+\newlabel{92@vr}{{}{123}}
+\newlabel{sci:dcmotor-loop}{{7.{3}}{123}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/scilab/dcmotor\textendash loop.sce}{123}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7.10}Python Code}{124}\protected@file@percent }
+\newlabel{sec:dcmotor-python-code}{{7.10}{124}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{7.{1}}{}}{124}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{1}}Rotating the DC motor}{124}\protected@file@percent }
+\newlabel{93@xvr}{{}{124}}
+\newlabel{93@vr}{{}{124}}
+\newlabel{py:dcmotor-clock}{{7.{1}}{124}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/python/dcmotor\textendash clock.py}{124}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{7.{2}}{}}{125}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{2}}Rotating the DC motor in both directions}{125}\protected@file@percent }
+\newlabel{94@xvr}{{}{125}}
+\newlabel{94@vr}{{}{125}}
+\newlabel{py:dcmotor-both}{{7.{2}}{125}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/python/dcmotor\textendash both.py}{125}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{7.{3}}{}}{126}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions in a loop}{126}\protected@file@percent }
+\newlabel{95@xvr}{{}{126}}
+\newlabel{95@vr}{{}{126}}
+\newlabel{py:dcmotor-loop}{{7.{3}}{126}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/python/dcmotor\textendash loop.py}{126}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7.11}Julia Code}{127}\protected@file@percent }
+\newlabel{sec:dcmotor-julia-code}{{7.11}{127}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{7.{1}}{}}{127}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{3}}Rotating the DC motor}{127}\protected@file@percent }
+\newlabel{96@xvr}{{}{127}}
+\newlabel{96@vr}{{}{127}}
+\newlabel{julia:dcmotor-clock}{{7.{1}}{127}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash clock.jl}{127}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{7.{2}}{}}{127}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions}{127}\protected@file@percent }
+\newlabel{97@xvr}{{}{127}}
+\newlabel{97@vr}{{}{127}}
+\newlabel{julia:dcmotor-both}{{7.{2}}{127}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash both.jl}{127}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{7.{3}}{}}{127}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions in a loop}{127}\protected@file@percent }
+\newlabel{98@xvr}{{}{127}}
+\newlabel{98@vr}{{}{127}}
+\newlabel{julia:dcmotor-loop}{{7.{3}}{127}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/julia/dcmotor\textendash loop.jl}{127}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7.12}OpenModelica Code}{128}\protected@file@percent }
+\newlabel{sec:dcmotor-OpenModelica-code}{{7.12}{128}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{7.{1}}{}}{128}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{3}}Rotating the DC motor}{128}\protected@file@percent }
+\newlabel{99@xvr}{{}{128}}
+\newlabel{99@vr}{{}{128}}
+\newlabel{OpenModelica:dcmotor-clock}{{7.{1}}{128}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash clock.mo}{128}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{7.{2}}{}}{128}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions}{128}\protected@file@percent }
+\newlabel{100@xvr}{{}{128}}
+\newlabel{100@vr}{{}{128}}
+\newlabel{OpenModelica:dcmotor-both}{{7.{2}}{128}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash both.mo}{128}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{7.{3}}{}}{129}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions in a loop}{129}\protected@file@percent }
+\newlabel{101@xvr}{{}{129}}
+\newlabel{101@vr}{{}{129}}
+\newlabel{OpenModelica:dcmotor-loop}{{7.{3}}{129}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor\textendash loop.mo}{129}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {8}Interfacing a Potentiometer}{131}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{potmeter}{{8}{131}}
+\@writefile{toc}{\contentsline {section}{\numberline {8.1}Preliminaries}{131}\protected@file@percent }
+\newlabel{102@xvr}{{}{131}}
+\newlabel{102@vr}{{}{131}}
+\newlabel{fig:pot}{{8.1a}{132}}
+\newlabel{sub@fig:pot}{{(a)}{a}}
+\newlabel{fig:potsch}{{8.1b}{132}}
+\newlabel{sub@fig:potsch}{{(b)}{b}}
+\@writefile{lof}{\contentsline {figure}{\numberline {8.1}{\ignorespaces Potentiometer's schematic on the shield\relax }}{132}\protected@file@percent }
+\newlabel{fig:potmeterconn}{{8.1}{132}}
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Pictorial representation of a potentiometer}}}{132}\protected@file@percent }
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Schematic representation of the potentiometer}}}{132}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8.2}Reading the potentiometer from the Arduino IDE}{132}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/arduino/pot\textendash threshold/pot\textendash threshold.ino}{132}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/arduino/pot\textendash threshold/pot\textendash threshold.ino}{133}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8.3}Reading the potentiometer from Scilab Script}{133}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/scilab/pot\textendash threshold.sce}{133}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/scilab/pot\textendash threshold.sce}{133}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {8.2}{\ignorespaces Turning LEDs on through Xcos depending on the potentiometer threshold}}{134}\protected@file@percent }
+\newlabel{104@xvr}{{}{134}}
+\newlabel{104@vr}{{}{134}}
+\newlabel{fig:pot-threshold}{{8.2}{134}}
+\@writefile{toc}{\contentsline {section}{\numberline {8.4}Reading the potentiometer from Scilab Xcos}{134}\protected@file@percent }
+\@writefile{lot}{\contentsline {table}{\numberline {8.1}{\ignorespaces Xcos parameters to turn on different LEDs depending on the potentiometer value\relax }}{135}\protected@file@percent }
+\newlabel{tab:pot-threshold}{{8.1}{135}}
+\newlabel{105@xvr}{{}{135}}
+\newlabel{105@vr}{{}{135}}
+\@writefile{toc}{\contentsline {section}{\numberline {8.5}Exercise}{136}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8.6}Reading the potentiometer from Python Script}{136}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/python/pot\textendash threshold.py}{136}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/python/pot\textendash threshold.py}{136}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8.7}Reading the potentiometer from Julia Script}{136}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/julia/pot\textendash threshold.jl}{136}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/julia/pot\textendash threshold.jl}{137}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8.8}Reading the potentiometer from OpenModelica Script}{137}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/OpenModelica/pot\textendash threshold.mo}{137}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/OpenModelica/pot\textendash threshold.mo}{137}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8.9}Arduino Code}{137}\protected@file@percent }
+\newlabel{sec:pot-arduino-code}{{8.9}{137}}
+\@writefile{ard}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{8.{1}}{}}{137}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {8.{1}}Turning on LEDs depending on the potentiometer threshold}{137}\protected@file@percent }
+\newlabel{106@xvr}{{}{137}}
+\newlabel{106@vr}{{}{137}}
+\newlabel{ard:pot-100}{{8.{1}}{137}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/arduino/pot\textendash threshold/pot\textendash threshold.ino}{138}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8.10}Scilab Code}{138}\protected@file@percent }
+\newlabel{sec:pot-scilab-code}{{8.10}{138}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{8.{1}}{}}{138}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {8.{1}}Turning on LEDs depending on the potentiometer threshold}{138}\protected@file@percent }
+\newlabel{107@xvr}{{}{138}}
+\newlabel{107@vr}{{}{138}}
+\newlabel{sci:pot-100}{{8.{1}}{138}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/scilab/pot\textendash threshold.sce}{138}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8.11}Python Code}{139}\protected@file@percent }
+\newlabel{sec:pot-python-code}{{8.11}{139}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{8.{1}}{}}{139}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {8.{1}}Turning on LEDs depending on the potentiometer threshold}{139}\protected@file@percent }
+\newlabel{108@xvr}{{}{139}}
+\newlabel{108@vr}{{}{139}}
+\newlabel{py:pot-100}{{8.{1}}{139}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/python/pot\textendash threshold.py}{139}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8.12}Julia Code}{140}\protected@file@percent }
+\newlabel{sec:pot-julia-code}{{8.12}{140}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{8.{1}}{}}{140}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {8.{1}}Turning on LEDs depending on the potentiometer threshold}{140}\protected@file@percent }
+\newlabel{109@xvr}{{}{140}}
+\newlabel{109@vr}{{}{140}}
+\newlabel{julia:pot-100}{{8.{1}}{140}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/julia/pot\textendash threshold.jl}{140}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8.13}OpenModelica Code}{141}\protected@file@percent }
+\newlabel{sec:pot-OpenModelica-code}{{8.13}{141}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{8.{1}}{}}{141}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {8.{1}}Turning on LEDs depending on the potentiometer threshold}{141}\protected@file@percent }
+\newlabel{110@xvr}{{}{141}}
+\newlabel{110@vr}{{}{141}}
+\newlabel{OpenModelica:pot-100}{{8.{1}}{141}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/OpenModelica/pot\textendash threshold.mo}{141}\protected@file@percent }
+\citation{therm-wiki}
+\citation{therm-wiki}
+\@writefile{toc}{\contentsline {chapter}{\numberline {9}Interfacing a Thermistor}{143}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{thermistor}{{9}{143}}
+\@writefile{toc}{\contentsline {section}{\numberline {9.1}Preliminaries}{143}\protected@file@percent }
+\newlabel{fig:therm}{{9.1a}{144}}
+\newlabel{sub@fig:therm}{{(a)}{a}}
+\newlabel{fig:thermsym}{{9.1b}{144}}
+\newlabel{sub@fig:thermsym}{{(b)}{b}}
+\@writefile{lof}{\contentsline {figure}{\numberline {9.1}{\ignorespaces Pictorial and symbolic representation of a thermistor\relax }}{144}\protected@file@percent }
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Pictorial representation of a thermistor\cite {therm-wiki}}}}{144}\protected@file@percent }
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Symbolic representation of a thermistor}}}{144}\protected@file@percent }
+\newlabel{fig:therm-conn}{{9.2a}{144}}
+\newlabel{sub@fig:therm-conn}{{(a)}{a}}
+\newlabel{fig:buzzer-conn}{{9.2b}{144}}
+\newlabel{sub@fig:buzzer-conn}{{(b)}{b}}
+\@writefile{lof}{\contentsline {figure}{\numberline {9.2}{\ignorespaces Thermistor and buzzer connection diagrams\relax }}{144}\protected@file@percent }
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(a)}{\ignorespaces {Thermistor connection diagram}}}{144}\protected@file@percent }
+\@writefile{lof}{\contentsline {subfigure}{\numberline{(b)}{\ignorespaces {Buzzer connection diagram}}}{144}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {9.2}Reading thermistor from Arduino IDE}{144}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/arduino/therm\textendash read/therm\textendash read.ino}{145}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/arduino/therm\textendash read/therm\textendash read.ino}{145}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/arduino/therm\textendash read/therm\textendash read.ino}{145}\protected@file@percent }
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{9.{1}}{}}{145}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {9.3}Reading thermistor from Scilab\ scripts}{146}\protected@file@percent }
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{9.{2}}{}}{146}\protected@file@percent }
+\newlabel{therm-abc}{{9.1}{146}}
+\newlabel{therm-beta}{{9.2}{147}}
+\@writefile{toc}{\contentsline {section}{\numberline {9.4}Reading thermistor from Xcos}{147}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {9.3}{\ignorespaces Xcos diagram to read thermistor values}}{148}\protected@file@percent }
+\newlabel{112@xvr}{{}{148}}
+\newlabel{112@vr}{{}{148}}
+\newlabel{fig:therm-read}{{9.3}{148}}
+\@writefile{lot}{\contentsline {table}{\numberline {9.1}{\ignorespaces Xcos parameters to read thermistor\relax }}{148}\protected@file@percent }
+\newlabel{tab:therm-read}{{9.1}{148}}
+\newlabel{113@xvr}{{}{148}}
+\newlabel{113@vr}{{}{148}}
+\@writefile{lof}{\contentsline {figure}{\numberline {9.4}{\ignorespaces Output of Xcos diagram to read thermistor values}}{149}\protected@file@percent }
+\newlabel{115@xvr}{{}{149}}
+\newlabel{115@vr}{{}{149}}
+\newlabel{fig:therm-read-output}{{9.4}{149}}
+\@writefile{lof}{\contentsline {figure}{\numberline {9.5}{\ignorespaces Xcos diagram to read the value of thermistor, which is used to turn the buzzer on or off}}{149}\protected@file@percent }
+\newlabel{117@xvr}{{}{149}}
+\newlabel{117@vr}{{}{149}}
+\newlabel{fig:therm-buzzer}{{9.5}{149}}
+\@writefile{toc}{\contentsline {section}{\numberline {9.5}Reading thermistor from Python scripts}{149}\protected@file@percent }
+\@writefile{lot}{\contentsline {table}{\numberline {9.2}{\ignorespaces Xcos parameters to read thermistor and switch the buzzer\relax }}{150}\protected@file@percent }
+\newlabel{tab:ldr-led}{{9.2}{150}}
+\newlabel{118@xvr}{{}{150}}
+\newlabel{118@vr}{{}{150}}
+\@writefile{lof}{\contentsline {figure}{\numberline {9.6}{\ignorespaces Output of Xcos diagram to switch buzzer through thermistor values}}{150}\protected@file@percent }
+\newlabel{120@xvr}{{}{150}}
+\newlabel{120@vr}{{}{150}}
+\newlabel{fig:therm-buzzer-output}{{9.6}{150}}
+\@writefile{toc}{\contentsline {section}{\numberline {9.6}Reading thermistor from Julia scripts}{151}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {9.7}Reading thermistor from OpenModelica scripts}{152}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {9.8}Arduino Code}{153}\protected@file@percent }
+\newlabel{sec:therm-arduino-code}{{9.8}{153}}
+\@writefile{ard}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{9.{1}}{}}{153}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {9.{1}}Read and display the thermistor values}{153}\protected@file@percent }
+\newlabel{121@xvr}{{}{153}}
+\newlabel{121@vr}{{}{153}}
+\newlabel{ard:therm-read}{{9.{1}}{153}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/arduino/therm\textendash read/therm\textendash read.ino}{153}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{9.{2}}{}}{153}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {9.{2}}Turning the buzzer on and off using thermistor values}{153}\protected@file@percent }
+\newlabel{122@xvr}{{}{153}}
+\newlabel{122@vr}{{}{153}}
+\newlabel{ard:therm-buzzer}{{9.{2}}{153}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/arduino/therm\textendash buzzer/therm\textendash buzzer.ino}{153}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {9.9}Scilab Code}{154}\protected@file@percent }
+\newlabel{sec:therm-scilab-code}{{9.9}{154}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{9.{1}}{}}{154}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {9.{1}}Read and display the thermistor values}{154}\protected@file@percent }
+\newlabel{123@xvr}{{}{154}}
+\newlabel{123@vr}{{}{154}}
+\newlabel{sci:therm-read}{{9.{1}}{154}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/scilab/therm\textendash read.sce}{154}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{9.{2}}{}}{154}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {9.{2}}Turning the buzzer on and off using thermistor values}{154}\protected@file@percent }
+\newlabel{124@xvr}{{}{154}}
+\newlabel{124@vr}{{}{154}}
+\newlabel{sci:therm-buzzer}{{9.{2}}{154}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/scilab/therm\textendash buzzer.sce}{154}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {9.10}Python Code}{155}\protected@file@percent }
+\newlabel{sec:therm-pyhton-code}{{9.10}{155}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{9.{1}}{}}{155}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {9.{1}}Read and display the thermistor values}{155}\protected@file@percent }
+\newlabel{125@xvr}{{}{155}}
+\newlabel{125@vr}{{}{155}}
+\newlabel{py:therm-read}{{9.{1}}{155}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/python/therm\textendash read.py}{155}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{9.{2}}{}}{155}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {9.{2}}Turning the buzzer on and off using thermistor values}{155}\protected@file@percent }
+\newlabel{126@xvr}{{}{156}}
+\newlabel{126@vr}{{}{156}}
+\newlabel{py:therm-buzzer}{{9.{2}}{156}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/python/therm\textendash buzzer.py}{156}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {9.11}Julia Code}{157}\protected@file@percent }
+\newlabel{sec:therm-julia-code}{{9.11}{157}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{9.{1}}{}}{157}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {9.{2}}Read and display the thermistor values}{157}\protected@file@percent }
+\newlabel{127@xvr}{{}{157}}
+\newlabel{127@vr}{{}{157}}
+\newlabel{julia:therm-read}{{9.{1}}{157}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/julia/therm\textendash read.jl}{157}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{9.{2}}{}}{157}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {9.{2}}Turning the buzzer on and off using thermistor values}{157}\protected@file@percent }
+\newlabel{128@xvr}{{}{157}}
+\newlabel{128@vr}{{}{157}}
+\newlabel{julia:therm-buzzer}{{9.{2}}{157}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/julia/therm\textendash buzzer.jl}{157}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {9.12}OpenModelica Code}{157}\protected@file@percent }
+\newlabel{sec:therm-OpenModelica-code}{{9.12}{157}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{1}}{}}{157}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {9.{2}}Read and display the thermistor values}{157}\protected@file@percent }
+\newlabel{129@xvr}{{}{157}}
+\newlabel{129@vr}{{}{157}}
+\newlabel{OpenModelica:therm-read}{{9.{1}}{157}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/OpenModelica/therm\textendash read.mo}{157}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{2}}{}}{158}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {9.{2}}Turning the buzzer on and off using thermistor values}{158}\protected@file@percent }
+\newlabel{130@xvr}{{}{158}}
+\newlabel{130@vr}{{}{158}}
+\newlabel{OpenModelica:therm-buzzer}{{9.{2}}{158}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/OpenModelica/therm\textendash buzzer.mo}{158}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {10}Interfacing a Servomotor}{161}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{sec:servo}{{10}{161}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.1}Preliminaries}{161}\protected@file@percent }
+\@writefile{lot}{\contentsline {table}{\numberline {10.1}{\ignorespaces Connecting a typical servomotor to Arduino Uno\ board\relax }}{162}\protected@file@percent }
+\newlabel{tab:servo-connect}{{10.1}{162}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.2}Control through Arduino IDE}{162}\protected@file@percent }
+\newlabel{sec:servo-ard}{{10.2}{162}}
+\@writefile{thm}{\contentsline {egmass}{{Exercise}{10.{1}}{}}{163}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {10.3}Control through Scilab Scripts}{163}\protected@file@percent }
+\newlabel{sec:servo-sci}{{10.3}{163}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scilab/servo\textendash init.sce}{164}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scilab/servo\textendash pot.sce}{164}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scilab/servo\textendash pot.sce}{164}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {10.4}Control through Xcos code}{164}\protected@file@percent }
+\newlabel{sec:servo-xcos}{{10.4}{164}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.1}{\ignorespaces Rotating the servomotor by a fixed angle}}{165}\protected@file@percent }
+\newlabel{132@xvr}{{}{165}}
+\newlabel{132@vr}{{}{165}}
+\newlabel{fig:servo-init}{{10.1}{165}}
+\@writefile{lot}{\contentsline {table}{\numberline {10.2}{\ignorespaces Parameters to rotate the servomotor by $30^\circ $\relax }}{165}\protected@file@percent }
+\newlabel{tab:servo-init}{{10.2}{165}}
+\newlabel{133@xvr}{{}{165}}
+\newlabel{133@vr}{{}{165}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.2}{\ignorespaces Rotating the servomotor forward and then reverse}}{166}\protected@file@percent }
+\newlabel{135@xvr}{{}{166}}
+\newlabel{135@vr}{{}{166}}
+\newlabel{fig:servo-reverse}{{10.2}{166}}
+\@writefile{lot}{\contentsline {table}{\numberline {10.3}{\ignorespaces Parameters to rotate the servomotor forward and reverse\relax }}{167}\protected@file@percent }
+\newlabel{tab:servo-reverse}{{10.3}{167}}
+\newlabel{136@xvr}{{}{167}}
+\newlabel{136@vr}{{}{167}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.3}{\ignorespaces Rotating the servomotor in increments of $20^\circ $}}{167}\protected@file@percent }
+\newlabel{138@xvr}{{}{167}}
+\newlabel{138@vr}{{}{167}}
+\newlabel{fig:servo-loop}{{10.3}{167}}
+\@writefile{lot}{\contentsline {table}{\numberline {10.4}{\ignorespaces Parameters to make the servomotor to sweep the entire range in increments\relax }}{168}\protected@file@percent }
+\newlabel{tab:servo-loop}{{10.4}{168}}
+\newlabel{139@xvr}{{}{168}}
+\newlabel{139@vr}{{}{168}}
+\@writefile{lof}{\contentsline {figure}{\numberline {10.4}{\ignorespaces Rotating the servomotor as suggested by the potentiometer}}{168}\protected@file@percent }
+\newlabel{141@xvr}{{}{168}}
+\newlabel{141@vr}{{}{168}}
+\newlabel{fig:servo-pot}{{10.4}{168}}
+\@writefile{lot}{\contentsline {table}{\numberline {10.5}{\ignorespaces Parameters to rotate the servomotor based on the input from the potentiometer\relax }}{169}\protected@file@percent }
+\newlabel{tab:servo-pot}{{10.5}{169}}
+\newlabel{142@xvr}{{}{169}}
+\newlabel{142@vr}{{}{169}}
+\@writefile{toc}{\contentsline {section}{\numberline {10.5}Control through Python Scripts}{169}\protected@file@percent }
+\newlabel{sec:servo-py}{{10.5}{169}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/python/servo\textendash init.py}{169}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/python/servo\textendash pot.py}{170}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/python/servo\textendash pot.py}{170}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {10.6}Control through Julia Scripts}{170}\protected@file@percent }
+\newlabel{sec:servo-julia}{{10.6}{170}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia/servo\textendash init.jl}{170}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia/servo\textendash pot.jl}{171}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia/servo\textendash pot.jl}{171}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {10.7}Control through OpenModelica Scripts}{171}\protected@file@percent }
+\newlabel{sec:servo-OpenModelica}{{10.7}{171}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenModelica/servo\textendash init.mo}{171}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenModelica/servo\textunderscore pot.mo}{172}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenModelica/servo\textunderscore pot.mo}{172}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {10.8}Arduino Code}{172}\protected@file@percent }
+\newlabel{sec:servo-arduino-code}{{10.8}{172}}
+\@writefile{ard}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{10.{1}}{}}{172}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {10.{1}}Rotating the servomotor to a specified degree}{172}\protected@file@percent }
+\newlabel{143@xvr}{{}{172}}
+\newlabel{143@vr}{{}{172}}
+\newlabel{ard:servo-init}{{10.{1}}{172}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/arduino/servo\textendash init/servo\textendash init.ino}{172}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{10.{2}}{}}{172}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {10.{2}}Rotating the servomotor to a specified degree and reversing}{172}\protected@file@percent }
+\newlabel{144@xvr}{{}{172}}
+\newlabel{144@vr}{{}{172}}
+\newlabel{ard:servo-reverse}{{10.{2}}{172}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/arduino/servo\textendash reverse/servo\textendash reverse.ino}{172}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{10.{3}}{}}{173}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {10.{3}}Rotating the servomotor in increments}{173}\protected@file@percent }
+\newlabel{145@xvr}{{}{173}}
+\newlabel{145@vr}{{}{173}}
+\newlabel{ard:servo-loop}{{10.{3}}{173}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/arduino/servo\textendash loop/servo\textendash loop.ino}{173}\protected@file@percent }
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{10.{4}}{}}{173}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor through the potentiometer}{173}\protected@file@percent }
+\newlabel{146@xvr}{{}{173}}
+\newlabel{146@vr}{{}{173}}
+\newlabel{ard:servo-pot}{{10.{4}}{173}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/arduino/servo\textendash pot/servo\textendash pot.ino}{173}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {10.9}Scilab Code}{174}\protected@file@percent }
+\newlabel{sec:servo-scilab-code}{{10.9}{174}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{10.{1}}{}}{174}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{1}}Rotating the servomotor to a specified degree}{174}\protected@file@percent }
+\newlabel{147@xvr}{{}{174}}
+\newlabel{147@vr}{{}{174}}
+\newlabel{sci:servo-init}{{10.{1}}{174}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scilab/servo\textendash init.sce}{174}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{10.{2}}{}}{174}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{2}}Rotating the servomotor to a specified degree and reversing}{174}\protected@file@percent }
+\newlabel{148@xvr}{{}{174}}
+\newlabel{148@vr}{{}{174}}
+\newlabel{sci:servo-reverse}{{10.{2}}{174}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scilab/servo\textendash reverse.sce}{174}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{10.{3}}{}}{174}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{3}}Rotating the servomotor in steps of $20^\circ $}{174}\protected@file@percent }
+\newlabel{149@xvr}{{}{174}}
+\newlabel{149@vr}{{}{174}}
+\newlabel{sci:servo-loop}{{10.{3}}{174}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scilab/servo\textendash loop.sce}{174}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{10.{4}}{}}{174}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a degree specified by the potentiometer}{174}\protected@file@percent }
+\newlabel{150@xvr}{{}{174}}
+\newlabel{150@vr}{{}{174}}
+\newlabel{sci:servo-pot}{{10.{4}}{174}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scilab/servo\textendash pot.sce}{174}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {10.10}Python Code}{175}\protected@file@percent }
+\newlabel{sec:servo-python-code}{{10.10}{175}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{10.{1}}{}}{175}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{1}}Rotating the servomotor to a specified degree}{175}\protected@file@percent }
+\newlabel{151@xvr}{{}{175}}
+\newlabel{151@vr}{{}{175}}
+\newlabel{py:servo-init}{{10.{1}}{175}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/python/servo\textendash init.py}{175}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{10.{2}}{}}{176}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{2}}Rotating the servomotor to a specified degree and reversing}{176}\protected@file@percent }
+\newlabel{152@xvr}{{}{176}}
+\newlabel{152@vr}{{}{176}}
+\newlabel{py:servo-reverse}{{10.{2}}{176}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/python/servo\textendash reverse.py}{176}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{10.{3}}{}}{177}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{3}}Rotating the servomotor in steps of $20^\circ $}{177}\protected@file@percent }
+\newlabel{153@xvr}{{}{177}}
+\newlabel{153@vr}{{}{177}}
+\newlabel{sci:servo-loop}{{10.{3}}{177}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/python/servo\textendash loop.py}{177}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{10.{4}}{}}{178}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a degree specified by the potentiometer}{178}\protected@file@percent }
+\newlabel{154@xvr}{{}{178}}
+\newlabel{154@vr}{{}{178}}
+\newlabel{py:servo-pot}{{10.{4}}{178}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/python/servo\textendash pot.py}{178}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {10.11}Julia Code}{179}\protected@file@percent }
+\newlabel{sec:servo-julia-code}{{10.11}{179}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{10.{1}}{}}{179}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a specified degree}{179}\protected@file@percent }
+\newlabel{155@xvr}{{}{179}}
+\newlabel{155@vr}{{}{179}}
+\newlabel{julia:servo-init}{{10.{1}}{179}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia/servo\textendash init.jl}{179}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{10.{2}}{}}{179}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a specified degree and reversing}{179}\protected@file@percent }
+\newlabel{156@xvr}{{}{179}}
+\newlabel{156@vr}{{}{179}}
+\newlabel{julia:servo-reverse}{{10.{2}}{179}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia/servo\textendash reverse.jl}{179}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{10.{3}}{}}{179}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor in steps of $20^\circ $}{179}\protected@file@percent }
+\newlabel{157@xvr}{{}{179}}
+\newlabel{157@vr}{{}{179}}
+\newlabel{julia:servo-loop}{{10.{3}}{179}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia/servo\textendash loop.jl}{179}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{10.{4}}{}}{180}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a degree specified by the potentiometer}{180}\protected@file@percent }
+\newlabel{158@xvr}{{}{180}}
+\newlabel{158@vr}{{}{180}}
+\newlabel{julia:servo-pot}{{10.{4}}{180}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia/servo\textendash pot.jl}{180}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {10.12}OpenModelica Code}{180}\protected@file@percent }
+\newlabel{sec:servo-OpenModelica-code}{{10.12}{180}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{1}}{}}{180}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a specified degree}{180}\protected@file@percent }
+\newlabel{159@xvr}{{}{180}}
+\newlabel{159@vr}{{}{180}}
+\newlabel{OpenModelica:servo-init}{{10.{1}}{180}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenModelica/servo\textendash init.mo}{180}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{2}}{}}{181}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a specified degree and reversing}{181}\protected@file@percent }
+\newlabel{160@xvr}{{}{181}}
+\newlabel{160@vr}{{}{181}}
+\newlabel{OpenModelica:servo-reverse}{{10.{2}}{181}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenModelica/servo\textendash reverse.mo}{181}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{3}}{}}{181}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor in steps of $20^\circ $}{181}\protected@file@percent }
+\newlabel{161@xvr}{{}{182}}
+\newlabel{161@vr}{{}{182}}
+\newlabel{OpenModelica:servo-loop}{{10.{3}}{182}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenModelica/servo\textendash loop.mo}{182}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{4}}{}}{182}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a degree specified by the potentiometer}{182}\protected@file@percent }
+\newlabel{162@xvr}{{}{182}}
+\newlabel{162@vr}{{}{182}}
+\newlabel{OpenModelica:servo-pot}{{10.{4}}{182}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenModelica/servo\textunderscore pot.mo}{182}\protected@file@percent }
+\@writefile{toc}{\contentsline {chapter}{\numberline {11}Implementation of Modbus Protocol}{185}\protected@file@percent }
+\@writefile{lof}{\addvspace {10\p@ }}
+\@writefile{lot}{\addvspace {10\p@ }}
+\newlabel{modbus}{{11}{185}}
+\@writefile{toc}{\contentsline {section}{\numberline {11.1}Preliminaries}{185}\protected@file@percent }
+\newlabel{fig:mod-block}{{\caption@xref {fig:mod-block}{ on input line 49}}{186}}
+\@writefile{lof}{\contentsline {figure}{\numberline {11.1}{\ignorespaces Block diagram representation of the Protocol\relax }}{186}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {11.2}{\ignorespaces Master-Slave Query-Response Cycle\relax }}{186}\protected@file@percent }
+\newlabel{fig:mod-master-slave}{{11.2}{186}}
+\@writefile{lof}{\contentsline {figure}{\numberline {11.3}{\ignorespaces Pins in RS485 module\relax }}{187}\protected@file@percent }
+\newlabel{fig:rs-485}{{11.3}{187}}
+\@writefile{lot}{\contentsline {table}{\numberline {11.1}{\ignorespaces Interpretation of a request packet\relax }}{188}\protected@file@percent }
+\newlabel{tab:request-packet}{{11.1}{188}}
+\@writefile{lot}{\contentsline {table}{\numberline {11.2}{\ignorespaces Interpretation of a response packet\relax }}{188}\protected@file@percent }
+\newlabel{tab:response-packet}{{11.2}{188}}
+\@writefile{lot}{\contentsline {table}{\numberline {11.3}{\ignorespaces Hexadecimal to Decimal\relax }}{189}\protected@file@percent }
+\newlabel{tab:ieee-decimal}{{11.3}{189}}
+\@writefile{lot}{\contentsline {table}{\numberline {11.4}{\ignorespaces Single and Double Precision Representation\relax }}{189}\protected@file@percent }
+\newlabel{tab:single-precision}{{11.4}{189}}
+\@writefile{toc}{\contentsline {section}{\numberline {11.2}Objective}{190}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {11.3}Energy Meter set up for Modbus protocol with Arduino Uno}{190}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {11.4}{\ignorespaces MODBUS Set Up for Energy Meter\relax }}{191}\protected@file@percent }
+\newlabel{fig:full-set-up}{{11.4}{191}}
+\@writefile{toc}{\contentsline {section}{\numberline {11.4}Software}{191}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {11.5}{\ignorespaces Block Diagram for Energy Meter Setup\relax }}{192}\protected@file@percent }
+\newlabel{fig:block-diagram}{{11.5}{192}}
+\@writefile{toc}{\contentsline {section}{\numberline {11.5}Output}{192}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {11.6}{\ignorespaces Flowchart of Arduino firmware\relax }}{193}\protected@file@percent }
+\newlabel{fig:modbus-firmware}{{11.6}{193}}
+\@writefile{lof}{\contentsline {figure}{\numberline {11.7}{\ignorespaces Flow Chart of the Modbus Energy Meter Implementation\relax }}{194}\protected@file@percent }
+\newlabel{fig:flow-chart}{{11.7}{194}}
+\@writefile{toc}{\contentsline {section}{\numberline {11.6}Reading Parameters from Xcos}{194}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {11.6.1}Troubleshooting}{194}\protected@file@percent }
+\@writefile{lof}{\contentsline {figure}{\numberline {11.8}{\ignorespaces Single Phase Current Output on Scilab Console\relax }}{195}\protected@file@percent }
+\newlabel{fig:current-console}{{11.8}{195}}
+\@writefile{lof}{\contentsline {figure}{\numberline {11.9}{\ignorespaces Single Phase Current Output on Energy Meter\relax }}{195}\protected@file@percent }
+\newlabel{fig:current-meter}{{11.9}{195}}
+\@writefile{lof}{\contentsline {figure}{\numberline {11.10}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{196}\protected@file@percent }
+\newlabel{fig:voltage-console}{{11.10}{196}}
+\@writefile{lof}{\contentsline {figure}{\numberline {11.11}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{196}\protected@file@percent }
+\newlabel{fig:voltage-meter}{{11.11}{196}}
+\@writefile{lof}{\contentsline {figure}{\numberline {11.12}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{197}\protected@file@percent }
+\newlabel{fig:power-console}{{11.12}{197}}
+\@writefile{lof}{\contentsline {figure}{\numberline {11.13}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{197}\protected@file@percent }
+\newlabel{fig:power-meter}{{11.13}{197}}
+\@writefile{lof}{\contentsline {figure}{\numberline {11.14}{\ignorespaces Xcos diagram to read Energy Meter values}}{198}\protected@file@percent }
+\newlabel{164@xvr}{{}{198}}
+\newlabel{164@vr}{{}{198}}
+\newlabel{fig:mod-read}{{11.14}{198}}
+\@writefile{lot}{\contentsline {table}{\numberline {11.5}{\ignorespaces Xcos parameters to read Energy Meter\relax }}{198}\protected@file@percent }
+\newlabel{tab:mod-xcos-read}{{11.5}{198}}
+\@writefile{toc}{\contentsline {section}{\numberline {11.7}Arduino Code}{199}\protected@file@percent }
+\newlabel{sec:firmware-modbus}{{11.7}{199}}
+\@writefile{ard}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {ardmass}{{Arduino Code}{11.{1}}{}}{199}\protected@file@percent }
+\@writefile{ard}{\contentsline {section}{\numberline {11.{1}}First 10 lines of the firmware for Modbus Energy Meter experiment}{199}\protected@file@percent }
+\newlabel{165@xvr}{{}{199}}
+\newlabel{165@vr}{{}{199}}
+\newlabel{ard:firmware-modbus}{{11.{1}}{199}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/arduino/send\textunderscore packet.ino}{199}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {11.8}Scilab Code}{199}\protected@file@percent }
+\newlabel{sec:modbus-scilab-code}{{11.8}{199}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{1}}{}}{199}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{1}}First 10 lines of the function for scifunc block}{199}\protected@file@percent }
+\newlabel{166@xvr}{{}{199}}
+\newlabel{166@vr}{{}{199}}
+\newlabel{sci:current-modbus}{{11.{1}}{199}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/scilab/read\textunderscore val.sce}{199}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{2}}{}}{199}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{2}}First 10 lines of the code for Single Phase Current Output}{199}\protected@file@percent }
+\newlabel{167@xvr}{{}{199}}
+\newlabel{167@vr}{{}{199}}
+\newlabel{sci:current-modbus}{{11.{2}}{199}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/scilab/read\textunderscore current.sci}{199}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{3}}{}}{200}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{3}}First 10 lines of the code for Single Phase Voltage Output}{200}\protected@file@percent }
+\newlabel{168@xvr}{{}{200}}
+\newlabel{168@vr}{{}{200}}
+\newlabel{sci:voltage-modbus}{{11.{3}}{200}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/scilab/read\textunderscore voltage.sci}{200}\protected@file@percent }
+\@writefile{thm}{\contentsline {codemass}{{Scilab Code}{11.{4}}{}}{200}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{4}}First 10 lines of the code for Single Phase Active Power Output}{200}\protected@file@percent }
+\newlabel{169@xvr}{{}{200}}
+\newlabel{169@vr}{{}{200}}
+\newlabel{sci:modbus-power}{{11.{4}}{200}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/scilab/read\textunderscore active\textunderscore power.sci}{200}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {11.9}Python Code}{200}\protected@file@percent }
+\newlabel{sec:modbus-python-code}{{11.9}{200}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{11.{1}}{}}{200}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{200}\protected@file@percent }
+\newlabel{170@xvr}{{}{200}}
+\newlabel{170@vr}{{}{200}}
+\newlabel{py:current-modbus}{{11.{1}}{200}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/python/read\textunderscore current.py}{201}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{11.{2}}{}}{201}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{201}\protected@file@percent }
+\newlabel{171@xvr}{{}{201}}
+\newlabel{171@vr}{{}{201}}
+\newlabel{py:voltage-modbus}{{11.{2}}{201}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/python/read\textunderscore voltage.py}{201}\protected@file@percent }
+\@writefile{thm}{\contentsline {pymass}{{Python Code}{11.{3}}{}}{201}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{4}}Code for Single Phase Active Power Output}{201}\protected@file@percent }
+\newlabel{172@xvr}{{}{201}}
+\newlabel{172@vr}{{}{201}}
+\newlabel{py:modbus-power}{{11.{3}}{201}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/python/read\textunderscore active\textunderscore power.py}{201}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {11.10}Julia Code}{201}\protected@file@percent }
+\newlabel{sec:modbus-julia-code}{{11.10}{201}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{11.{1}}{}}{201}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{4}}Code for Single Phase Current Output}{201}\protected@file@percent }
+\newlabel{173@xvr}{{}{201}}
+\newlabel{173@vr}{{}{201}}
+\newlabel{julia:current-modbus}{{11.{1}}{201}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/julia/readCurrent.jl}{201}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{11.{2}}{}}{202}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{4}}Code for Single Phase Voltage Output}{202}\protected@file@percent }
+\newlabel{174@xvr}{{}{202}}
+\newlabel{174@vr}{{}{202}}
+\newlabel{julia:voltage-modbus}{{11.{2}}{202}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/julia/readVoltage.jl}{202}\protected@file@percent }
+\@writefile{thm}{\contentsline {juliamass}{{Julia Code}{11.{3}}{}}{202}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{4}}First 10 lines of the code for Single Phase Active Power Output}{202}\protected@file@percent }
+\newlabel{175@xvr}{{}{202}}
+\newlabel{175@vr}{{}{202}}
+\newlabel{julia:modbus-power}{{11.{3}}{202}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/julia/readPower.jl}{202}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {11.11}OpenModelica Code}{202}\protected@file@percent }
+\newlabel{sec:modbus-OpenModelica-code}{{11.11}{202}}
+\@writefile{cod}{\addvspace {10pt}}
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{1}}{}}{202}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{4}}Code for Single Phase Current Output}{202}\protected@file@percent }
+\newlabel{176@xvr}{{}{202}}
+\newlabel{176@vr}{{}{202}}
+\newlabel{OpenModelica:current-modbus}{{11.{1}}{202}}
+\bibdata{bibliography.bib}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/OpenModelica/readCurrent.mo}{203}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{2}}{}}{203}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{4}}Code for Single Phase Voltage Output}{203}\protected@file@percent }
+\newlabel{177@xvr}{{}{203}}
+\newlabel{177@vr}{{}{203}}
+\newlabel{OpenModelica:voltage-modbus}{{11.{2}}{203}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/OpenModelica/readVoltage.mo}{203}\protected@file@percent }
+\@writefile{thm}{\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{3}}{}}{203}\protected@file@percent }
+\@writefile{cod}{\contentsline {section}{\numberline {11.{4}}Code for Single Phase Active Power Output}{203}\protected@file@percent }
+\newlabel{178@xvr}{{}{203}}
+\newlabel{178@vr}{{}{203}}
+\newlabel{OpenModelica:modbus-power}{{11.{3}}{203}}
+\@writefile{lol}{\contentsline {lstlisting}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/OpenModelica/readPower.mo}{203}\protected@file@percent }
+\bibcite{CNES-Scilab}{1}
+\bibcite{scilab-arduino}{2}
+\bibcite{oshw-ref}{3}
+\bibcite{OSHW-logo-ref}{4}
+\bibcite{uno-ref}{5}
+\bibcite{mega-ref}{6}
+\bibcite{lily-ref}{7}
+\bibcite{phone-ref}{8}
+\bibcite{candy-ref}{9}
+\bibcite{3d-printer-ref}{10}
+\bibcite{shield-ref}{11}
+\bibcite{scilab-ref}{12}
+\bibcite{scilab-interop}{13}
+\bibcite{xcos-ref}{14}
+\@writefile{toc}{\contentsline {chapter}{\numberline {References}}{205}\protected@file@percent }
+\bibcite{python-ref}{15}
diff --git a/scilab-arduino/scilab-arduino.bbl b/scilab-arduino/scilab-arduino.bbl
new file mode 100644
index 0000000..dbafbef
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.bbl
@@ -0,0 +1,84 @@
+\begin{thebibliography}{10}
+
+\bibitem{CNES-Scilab}
+T.~Martin.
+\newblock Use of scilab for space mission analysis.
+\newblock
+ https://www.scilab.org/community/scilabtec/2009/Use-of-Scilab-for-space-mission-analysis.
+\newblock Seen on 28 June 2015.
+
+\bibitem{scilab-arduino}
+B.~Jofret.
+\newblock Scilab arduino toolbox.
+\newblock http://atoms.scilab.org/.
+\newblock Seen on 28 June 2015.
+
+\bibitem{oshw-ref}
+oshwa.org.
+\newblock http://www.oshwa.org/definition.
+\newblock Seen on 28 June 2015.
+
+\bibitem{OSHW-logo-ref}
+Mateo Zlatar.
+\newblock Open source hardware logo.
+\newblock http://www.oshwa.org/open-source-hardware-logo.
+\newblock Seen on 28 June 2015.
+
+\bibitem{uno-ref}
+Arduino uno.
+\newblock https://www.arduino.cc/en/uploads/Main/ArduinoUnoFront240.jpg.
+\newblock Seen on 28 June 2015.
+
+\bibitem{mega-ref}
+Arduino mega.
+\newblock https://www.arduino.cc/en/uploads/Main/ArduinoMega2560\_R3
+ \_Fronte.jpg.
+\newblock Seen on 28 June 2015.
+
+\bibitem{lily-ref}
+Lilypod arduino.
+\newblock https://www.arduino.cc/en/uploads/Main/LilyPad\_5.jpg.
+\newblock Seen on 28 June 2015.
+
+\bibitem{phone-ref}
+Arduino phone.
+\newblock http://www.instructables.com/id/ArduinoPhone/.
+\newblock Seen on 28 June 2015.
+
+\bibitem{candy-ref}
+Candy sorting machine.
+\newblock http://beta.ivc.no/wiki/index.php/Skittles\_M\%26M\%27s
+ \_Sorting\_Machine.
+\newblock Seen on 28 June 2015.
+
+\bibitem{3d-printer-ref}
+3d printer.
+\newblock http://www.instructables.com/id/Arduino-Controlled-CNC-3D-Printer/.
+\newblock Seen on 28 June 2015.
+
+\bibitem{shield-ref}
+Shield.
+\newblock http://codeshield.diyode.com/about/schematics/.
+\newblock Seen on 28 June 2015.
+
+\bibitem{scilab-ref}
+scilab.org.
+\newblock http://www.scilab.org/scilab/about.
+\newblock Seen on 28 June 2015.
+
+\bibitem{scilab-interop}
+scilab.org.
+\newblock http://www.scilab.org/scilab/interoperability.
+\newblock Seen on 28 June 2015.
+
+\bibitem{xcos-ref}
+scilab.org.
+\newblock http://www.scilab.org/scilab/features/xcos.
+\newblock Seen on 28 June 2015.
+
+\bibitem{python-ref}
+python.org.
+\newblock https://www.python.org/doc/essays/blurb/.
+\newblock Seen on 24 February 2021.
+
+\end{thebibliography}
diff --git a/scilab-arduino/scilab-arduino.blg b/scilab-arduino/scilab-arduino.blg
new file mode 100644
index 0000000..f5728ec
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.blg
@@ -0,0 +1,48 @@
+This is BibTeX, Version 0.99d (TeX Live 2019/Debian)
+Capacity: max_strings=200000, hash_size=200000, hash_prime=170003
+The top-level auxiliary file: scilab-arduino.aux
+The style file: unsrt.bst
+Database file #1: bibliography.bib
+Warning--I didn't find a database entry for "therm-wiki"
+You've used 15 entries,
+ 1791 wiz_defined-function locations,
+ 495 strings with 4759 characters,
+and the built_in function-call counts, 1732 in all, are:
+= -- 156
+> -- 24
+< -- 0
++ -- 18
+- -- 3
+* -- 2
+:= -- 206
+add.period$ -- 48
+call.type$ -- 15
+change.case$ -- 15
+chr.to.int$ -- 0
+cite$ -- 15
+duplicate$ -- 75
+empty$ -- 271
+format.name$ -- 3
+if$ -- 445
+int.to.chr$ -- 0
+int.to.str$ -- 15
+missing$ -- 0
+newline$ -- 81
+num.names$ -- 3
+pop$ -- 117
+preamble$ -- 1
+purify$ -- 0
+quote$ -- 0
+skip$ -- 41
+stack$ -- 0
+substring$ -- 0
+swap$ -- 15
+text.length$ -- 0
+text.prefix$ -- 0
+top$ -- 0
+type$ -- 0
+warning$ -- 0
+while$ -- 3
+width$ -- 17
+write$ -- 143
+(There was 1 warning)
diff --git a/scilab-arduino/scilab-arduino.cod b/scilab-arduino/scilab-arduino.cod
new file mode 100644
index 0000000..b238202
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.cod
@@ -0,0 +1,125 @@
+\addvspace {10pt}
+\contentsline {section}{\numberline {3.{1}}A code to check whether the firmware is properly installed or not}{47}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {3.{1}}A code to check whether the firmware is properly installed or not}{47}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {3.{1}}A code to check whether the firmware is properly installed or not}{48}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {3.{1}}A code to check whether the firmware is properly installed or not}{48}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {4.{1}}Turning on the LED}{68}%
+\contentsline {section}{\numberline {4.{2}}Turning on the blue LED and turning it off after two seconds}{68}%
+\contentsline {section}{\numberline {4.{3}}Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{68}%
+\contentsline {section}{\numberline {4.{4}}Blinking the green LED}{69}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {4.{4}}Turning on the LED}{69}%
+\contentsline {section}{\numberline {4.{4}}Turning on the blue LED and turning it off after two seconds}{70}%
+\contentsline {section}{\numberline {4.{4}}Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{71}%
+\contentsline {section}{\numberline {4.{4}}Blinking the green LED}{72}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {4.{4}}Turning on the LED}{73}%
+\contentsline {section}{\numberline {4.{4}}Turning on the blue LED and turning it off after two seconds}{73}%
+\contentsline {section}{\numberline {4.{4}}Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{73}%
+\contentsline {section}{\numberline {4.{4}}Blinking the green LED}{73}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {4.{4}}Turning on the LED}{74}%
+\contentsline {section}{\numberline {4.{4}}Turning on the blue LED and turning it off after two seconds}{74}%
+\contentsline {section}{\numberline {4.{4}}Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{75}%
+\contentsline {section}{\numberline {4.{4}}Blinking the green LED}{76}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {5.{1}}Read the status of the pushbutton and displaying on the serial monitor}{87}%
+\contentsline {section}{\numberline {5.{2}}Turning the LED on or off depending on the pushbutton}{87}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {5.{1}}Read the status of the pushbutton and displaying on the serial monitor}{88}%
+\contentsline {section}{\numberline {5.{2}}Turning the LED on or off depending on the pushbutton}{88}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {5.{2}}Read the status of the pushbutton and displaying on the serial monitor}{89}%
+\contentsline {section}{\numberline {5.{2}}Turning the LED on or off depending on the pushbutton}{90}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {5.{2}}Read the status of the pushbutton and displaying on the serial monitor}{90}%
+\contentsline {section}{\numberline {5.{2}}Turning the LED on or off depending on the pushbutton}{91}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {6.{1}}Read and display the LDR values}{103}%
+\contentsline {section}{\numberline {6.{2}}Turning the blue LED on and off}{103}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {6.{2}}Read and display the LDR values}{104}%
+\contentsline {section}{\numberline {6.{2}}Turning the blue LED on and off}{104}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {6.{2}}Read and display the LDR values}{105}%
+\contentsline {section}{\numberline {6.{2}}Turning the blue LED on and off}{106}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {6.{2}}Read and display the LDR values}{106}%
+\contentsline {section}{\numberline {6.{2}}Turning the blue LED on and off}{107}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {7.{1}}Rotating the DC motor}{123}%
+\contentsline {section}{\numberline {7.{2}}Rotating the DC motor in both directions}{123}%
+\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions in a loop}{123}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {7.{1}}Rotating the DC motor}{124}%
+\contentsline {section}{\numberline {7.{2}}Rotating the DC motor in both directions}{125}%
+\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions in a loop}{126}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {7.{3}}Rotating the DC motor}{127}%
+\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions}{127}%
+\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions in a loop}{127}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {7.{3}}Rotating the DC motor}{128}%
+\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions}{128}%
+\contentsline {section}{\numberline {7.{3}}Rotating the DC motor in both directions in a loop}{129}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {8.{1}}Turning on LEDs depending on the potentiometer threshold}{138}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {8.{1}}Turning on LEDs depending on the potentiometer threshold}{139}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {8.{1}}Turning on LEDs depending on the potentiometer threshold}{140}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {8.{1}}Turning on LEDs depending on the potentiometer threshold}{141}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {9.{1}}Read and display the thermistor values}{154}%
+\contentsline {section}{\numberline {9.{2}}Turning the buzzer on and off using thermistor values}{154}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {9.{1}}Read and display the thermistor values}{155}%
+\contentsline {section}{\numberline {9.{2}}Turning the buzzer on and off using thermistor values}{155}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {9.{2}}Read and display the thermistor values}{157}%
+\contentsline {section}{\numberline {9.{2}}Turning the buzzer on and off using thermistor values}{157}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {9.{2}}Read and display the thermistor values}{157}%
+\contentsline {section}{\numberline {9.{2}}Turning the buzzer on and off using thermistor values}{158}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {10.{1}}Rotating the servomotor to a specified degree}{174}%
+\contentsline {section}{\numberline {10.{2}}Rotating the servomotor to a specified degree and reversing}{174}%
+\contentsline {section}{\numberline {10.{3}}Rotating the servomotor in steps of $20^\circ $}{174}%
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a degree specified by the potentiometer}{174}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {10.{1}}Rotating the servomotor to a specified degree}{175}%
+\contentsline {section}{\numberline {10.{2}}Rotating the servomotor to a specified degree and reversing}{176}%
+\contentsline {section}{\numberline {10.{3}}Rotating the servomotor in steps of $20^\circ $}{177}%
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a degree specified by the potentiometer}{178}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a specified degree}{179}%
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a specified degree and reversing}{179}%
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor in steps of $20^\circ $}{179}%
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a degree specified by the potentiometer}{180}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a specified degree}{180}%
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a specified degree and reversing}{181}%
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor in steps of $20^\circ $}{181}%
+\contentsline {section}{\numberline {10.{4}}Rotating the servomotor to a degree specified by the potentiometer}{182}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {11.{1}}First 10 lines of the function for scifunc block}{199}%
+\contentsline {section}{\numberline {11.{2}}First 10 lines of the code for Single Phase Current Output}{199}%
+\contentsline {section}{\numberline {11.{3}}First 10 lines of the code for Single Phase Voltage Output}{200}%
+\contentsline {section}{\numberline {11.{4}}First 10 lines of the code for Single Phase Active Power Output}{200}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {11.{1}}Code for Single Phase Current Output}{200}%
+\contentsline {section}{\numberline {11.{2}}Code for Single Phase Voltage Output}{201}%
+\contentsline {section}{\numberline {11.{4}}Code for Single Phase Active Power Output}{201}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {11.{4}}Code for Single Phase Current Output}{201}%
+\contentsline {section}{\numberline {11.{4}}Code for Single Phase Voltage Output}{202}%
+\contentsline {section}{\numberline {11.{4}}First 10 lines of the code for Single Phase Active Power Output}{202}%
+\addvspace {10pt}
+\contentsline {section}{\numberline {11.{4}}Code for Single Phase Current Output}{202}%
+\contentsline {section}{\numberline {11.{4}}Code for Single Phase Voltage Output}{203}%
+\contentsline {section}{\numberline {11.{4}}Code for Single Phase Active Power Output}{203}%
diff --git a/scilab-arduino/scilab-arduino.fdb_latexmk b/scilab-arduino/scilab-arduino.fdb_latexmk
new file mode 100644
index 0000000..6068e89
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.fdb_latexmk
@@ -0,0 +1,372 @@
+# Fdb version 3
+["bibtex scilab-arduino"] 1614695904 "scilab-arduino.aux" "scilab-arduino.bbl" "scilab-arduino" 1615101834
+ "/usr/share/texlive/texmf-dist/bibtex/bst/base/unsrt.bst" 1292289607 18030 1376b4b231b50c66211e47e42eda2875 ""
+ "bibliography.bib" 1614157923 3279 e2e78d605bb19352cf7337ce29810b6c ""
+ "scilab-arduino.aux" 1615101600 120128 f820b6b79867a3096e9ef6de8022003a "pdflatex"
+ (generated)
+ "scilab-arduino.bbl"
+ "scilab-arduino.blg"
+["makeindex scilab-arduino.idx"] 1614695485 "scilab-arduino.idx" "scilab-arduino.ind" "scilab-arduino" 1615101834
+ "scilab-arduino.idx" 1615101600 187 e4a8a97084d835ffe6410c93457bd1a4 "pdflatex"
+ (generated)
+ "scilab-arduino.ilg"
+ "scilab-arduino.ind"
+["pdflatex"] 1614696017 "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.tex" "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.pdf" "scilab-arduino" 1615101834
+ "/etc/texmf/web2c/texmf.cnf" 1602253014 475 c0e671620eb5563b2130f56340a5fde8 ""
+ "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.aux" 1615101600 120128 f820b6b79867a3096e9ef6de8022003a ""
+ "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.tex" 1615101832 4105 5d5828a045a7603a7e99bf3de35e346a ""
+ "/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab ""
+ "/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx0900.tfm" 1136768653 3584 1a7de6c99457381c64abc1a7c545505f ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx1095.tfm" 1136768653 3584 21b378cca2e40816b0e6d74a4dc98f04 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx1200.tfm" 1136768653 3584 402da0b29eafbad07963b1224b222f18 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx1440.tfm" 1136768653 3584 13049b61b922a28b158a38aeff75ee9b ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx2074.tfm" 1136768653 3584 7666d038713b9e38abb5c2e0f6972188 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx2488.tfm" 1136768653 3584 0181dbc4d429c3ba4e30feba37b5df96 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm0600.tfm" 1136768653 3584 291a5713401683441e0a8c8f4417b17b ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm0800.tfm" 1136768653 3584 49064b465390a8e316a3c8417a050403 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm0900.tfm" 1136768653 3584 d3d8ac8b25ca19c0a40b86a5db1e8ccc ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm" 1136768653 3584 adb004a0c8e7c46ee66cad73671f37b4 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1095.tfm" 1136768653 3584 929cdff2b7a8c11bd4d49fd68cb0ae70 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm" 1136768653 3584 f80ddd985bd00e29e9a6047ebd9d4781 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1440.tfm" 1136768653 3584 3169d30142b88a27d4ab0e3468e963a2 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm2074.tfm" 1136768653 3584 8e2870ec7aa9776f59654942b0923f51 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm2488.tfm" 1136768653 3584 406ad7b70d9a41f7833f92b6313150c8 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecsi1095.tfm" 1136768653 3584 1a0353d13d3e702865b76e3b1c321b5b ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecsl1095.tfm" 1136768653 3584 91bcd1ec8de84adb306899ddf050f500 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecss1095.tfm" 1136768653 3584 8ece407347b270c252c46fdfaef5a9ef ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecti1095.tfm" 1136768653 3072 b73d2778cc3af44970de4de5e032d7f6 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm0800.tfm" 1136768653 1536 05df9db6aeccc4eea94fec15c9024f79 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm0900.tfm" 1136768653 1536 c4f439db76ef96a9c53bc437f35ffe20 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm1095.tfm" 1136768653 1536 02c06700a42be0f5a28664c7273f82e7 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1246382020 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex9.tfm" 1246382020 996 a18840b13b499c08ac2de96a99eda4bc ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8r.tfm" 1136768653 1292 a0ca2398d40dc5494f22d2fbff33269b ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8t.tfm" 1136768653 1380 bb8d389860f8cf35648da78ba6d79918 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1136768653 992 662f679a0b3d2d53c1b94050fdaa3f50 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm" 1136768653 1528 abec98dbc43e172678c11b3b9031252a ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1136768653 1512 f21f83efb36853c0b70002322c1ab3ad ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm" 1136768653 1520 eccf95517727cb11801f4f1aee3a21b4 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi9.tfm" 1136768653 1524 d89e2d087a9828407a196f428428ef4a ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm" 1136768653 1296 45809c5a464d5f32c8f98ba97c1bb47f ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1136768653 1300 b62933e007d01cfd073f79b963c01526 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1136768653 1292 21c1c5bfeaebccffdb478fd231a0997d ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr9.tfm" 1136768653 1292 6b21b9c2c7bebb38aa2273f7ca0fb3af ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1136768653 1124 6c73e740cf17375f03eec0ee63599741 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1136768653 1116 933a60c408fc0a863a92debe84b2d294 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1136768653 1120 8b7d695260f3cff42e636090a8002094 ""
+ "/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy9.tfm" 1136768653 1116 25a7bf822c58caf309a702ef79f4afbb ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb" 1248133631 30251 6afa5cb1d0204815a708a080681d4674 ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb" 1248133631 36299 5f9df58c2139e7edcf37c8fca4bd384d ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi8.pfb" 1248133631 35469 70d41d2b9ea31d5d813066df7c99281c ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1248133631 35752 024fb6c41858982481f6968b5fc26508 ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb" 1248133631 32726 0a1aea6fcd6468ee2cf64d891f5c43c8 ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb" 1248133631 33993 9b89b85fd2d9df0482bd47194d1d3bf3 ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy6.pfb" 1248133631 32587 1788b0c1c5b39540c96f5e42ccd6dae8 ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb" 1248133631 32626 4f5c1b83753b1dd3a97d1b399a005b4b ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy9.pfb" 1248133631 32442 c975af247b6702f7ca0c299af3616b80 ""
+ "/usr/share/texlive/texmf-dist/fonts/type1/public/bera/fvmr8a.pfb" 1136849748 29228 440002646d60f9d1a0cdf5878b9a308f ""
+ "/usr/share/texlive/texmf-dist/fonts/vf/public/bera/fvmr8t.vf" 1136768653 2156 58631a68efc4afbec92c522ba77a542f ""
+ "/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
+ "/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty" 1576624944 13807 952b0226d4efca026f0e19dd266dcc22 ""
+ "/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty" 1576624883 18552 1e1cc7b75da0dfaacce7cdcb27d306bf ""
+ "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty" 1523134290 2211 ca7ce284ab93c8eecdc6029dc5ccbd73 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty" 1523134290 4161 7f6eb9092061a11f87d08ed13515b48d ""
+ "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty" 1580683321 85660 baee036978c7a91f4e2bba43f05e5945 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty" 1523134290 4116 32e6abd27229755a83a8b7f18e583890 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty" 1523134290 2432 8ff93b1137020e8f21930562a874ae66 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/base/bk11.clo" 1580683321 8301 dcd9ec352700e202dd0ad360f33021e3 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/base/book.cls" 1580683321 23147 87043b6c3ff70b5e5185aee55d462dd7 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty" 1581632200 4947 0c2888dd88121ae675fc6e82213623ba ""
+ "/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty" 1580683321 5159 892429808d9e0e2b3548aaefd9a06ed0 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty" 1580683321 1940 dd4f2aa11c89855a3c47d09758782ba5 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd" 1580683321 2622 2e7b4cea91736cafdafba1c0db58bc1c ""
+ "/usr/share/texlive/texmf-dist/tex/latex/bera/beramono.sty" 1137109926 767 619e175cf21788218aa95de61f93b82f ""
+ "/usr/share/texlive/texmf-dist/tex/latex/bera/t1fvm.fd" 1137109926 819 be55b7e3c5cc7c059be8eb7852d712b5 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty" 1578175482 57350 70b0c251b0022f1db12ad7dd4c1aa547 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty" 1578175482 62012 5e9d40ecd926a6f500919e4c7e1480de ""
+ "/usr/share/texlive/texmf-dist/tex/latex/cclicenses/cclicenses.sty" 1190587491 4225 a1be0bbd8b5d331922d63e0112439580 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/chngcntr/chngcntr.sty" 1525297854 4336 84bc4a8edb126e69abec1a67dc0c36cf ""
+ "/usr/share/texlive/texmf-dist/tex/latex/cite/cite.sty" 1425427964 26218 19edeff8cdc2bcb704e8051dc55eb5a7 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1579991033 13886 d1306dcf79a944f6988e688c1785f9ce ""
+ "/usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty" 1274111957 27261 5ae6156674330dc345adb79b6e5d8966 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty" 1548974385 11128 a53805799bebfed6358fc1658a18e41f ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg" 1459978653 1213 620bba36b25224fa9b7e1ccb4ecb76fd ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg" 1465944070 1224 978390e9c2234eab29404bc21b268d1e ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def" 1515537368 17334 520b9b85ad8a2a48eda3f643e27a5179 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty" 1580683321 7107 12f1c5ba3c6e4a1dde3cb5a3ae4b2cd1 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty" 1580683321 16932 04729abe63b66ec59ea56edcd722b058 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty" 1580683321 9067 1b996612394a52e1efe89c8bfe8a5892 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty" 1580683321 2590 e3b24ff953e5b58d924f163d25380312 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics/rotating.sty" 1580683321 6982 df2e03ed1b101065d688af501de0405d ""
+ "/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty" 1580683321 3976 d7fa7d81d2870d509d25b17d0245e735 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1575152344 22520 c4c2dab203104295e1e618be7e5c0f5b ""
+ "/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def" 1580854751 25404 9d60f463a00d154207ec0048dee27cf0 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg" 1279039959 678 4792914a8f45be57bb98413425e4c7af ""
+ "/usr/share/texlive/texmf-dist/tex/latex/layouts/layouts.sty" 1252025554 103628 f0d6a23a8bf6863780e994d496016c62 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg" 1568236792 1830 bbaba8afaf42cc048ec4d4ff73467521 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty" 1568236792 80511 830f3f1d3ab7448dd84233e9c2f6462c ""
+ "/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty" 1568236792 204271 6a0ce6b8dafb6c4a13b9036ab1717c77 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty" 1568236792 77022 32914f01b528131c47be2a1040d3856d ""
+ "/usr/share/texlive/texmf-dist/tex/latex/morefloats/morefloats.sty" 1437606073 40388 14d2f45ee504fe2bfb67bfbea24e0cee ""
+ "/usr/share/texlive/texmf-dist/tex/latex/ntheorem/ntheorem.sty" 1346969955 43120 799f06af91d8fb275749981ca21a5146 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/paralist/paralist.sty" 1485124581 14857 82c76ebe8f06becf69ab309565b2a0cb ""
+ "/usr/share/texlive/texmf-dist/tex/latex/seqsplit/seqsplit.sty" 1155399262 1346 2729ac6e87ab535b7428c6807dace823 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/subfig/subfig.sty" 1158586182 21369 9ef165ca6df8815c92e693146a376c92 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/tools/theorem.sty" 1580683321 4957 8d2aa52276e059af562970cda848b5b1 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/tools/varioref.sty" 1580683321 36692 fa125469c111046ecdf3717a9ba7ff20 ""
+ "/usr/share/texlive/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
+ "/usr/share/texlive/texmf-dist/web2c/texmf.cnf" 1581979058 38841 ce3692aa899bb693b90b87eaa5d4d84e ""
+ "/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc" 1565080000 2971 def0b6c1f0b107b3b936def894055589 ""
+ "/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc" 1565080000 2900 1537cc8184ad1792082cd229ecc269f4 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfbx0900.pfb" 1604539918 143961 201304b65f97bc643fbd0bcf0685d1fe ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfbx1095.pfb" 1604539918 154600 ea54091d31de803b613ba9e80ca51709 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfbx1200.pfb" 1604539918 140176 d4962f948b4cc0adf4d3dde77a128c95 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfbx1440.pfb" 1604539918 135942 859a90cad7494a1e79c94baf546d7de5 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfbx2074.pfb" 1604539918 140194 627cc7f36c05b80e25d178974ccb3442 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfbx2488.pfb" 1604539918 135938 299ac3a69892db3b7674a8b2543b0a77 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfrm0600.pfb" 1604539918 162624 9dcc92cd3b1dfe2ecc80e6da7f2eb6bd ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfrm0800.pfb" 1604539918 164227 3df942b4ff2124425d8fb1b6d3e01c7a ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfrm0900.pfb" 1604539918 149037 995a6f1e12c1d647b99b1cf55db78699 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfrm1000.pfb" 1565080000 138258 6525c253f16cededa14c7fd0da7f67b2 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfrm1095.pfb" 1604539918 145929 f25e56369a345c4ff583b067cd87ce8e ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfrm1200.pfb" 1604539918 136101 f533469f523533d38317ab5729d00c8a ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfsi1095.pfb" 1604539918 106965 72348192f7f7f7c44b4558f2996b4879 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfss1095.pfb" 1604539918 97272 e31c1319e3ff43b442c57e2c8f2acc52 ""
+ "/usr/share/texmf/fonts/type1/public/cm-super/sfti1095.pfb" 1604539918 196446 8fbbe4b97b83e5182def6d29a44e57fb ""
+ "/usr/share/texmf/web2c/texmf.cnf" 1581979058 38841 ce3692aa899bb693b90b87eaa5d4d84e ""
+ "/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1604540077 4770781 1ed1abab22da9c3e2cc82e4db562318b ""
+ "/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1604540101 8258883 e8330f8aa4fe7c6cdcf08bf0b72237fd ""
+ "scilab-arduino.ard" 1615101600 2100 96cccbbd98514e6912e4639b15cc4bbf "pdflatex"
+ "scilab-arduino.aux" 1615101600 120128 f820b6b79867a3096e9ef6de8022003a "pdflatex"
+ "scilab-arduino.bbl" 1614695905 2140 a4f2f2278da9e2bdb36d4b32d75029c6 "bibtex scilab-arduino"
+ "scilab-arduino.cod" 1615101600 9392 7c369a6277de2877f87c135d333ad5a6 "pdflatex"
+ "scilab-arduino.ind" 1614695485 228 247fff6b881996667ba0567bf828c67f "makeindex scilab-arduino.idx"
+ "scilab-arduino.lof" 1615101600 9981 ef737f5c42c88501d225f15f0698c34c "pdflatex"
+ "scilab-arduino.lot" 1615101600 3699 72a4504b8b3b387a1ba04295b57380d6 "pdflatex"
+ "scilab-arduino.tex" 1615101832 4105 5d5828a045a7603a7e99bf3de35e346a ""
+ "scilab-arduino.toc" 1615101600 11684 28b3b44bdda609270d12289bd048f81a "pdflatex"
+ "suppl/acr.tex" 1447858612 1926 fd6481c4666ee0d60331b7d4cc24b645 ""
+ "suppl/intro.tex" 1614704581 3437 b09628cf9e20fe17fa65b37a5997653c ""
+ "suppl/styles.tex" 1567618058 8192 3ce7baeb05c0137f9efff3f81a9c7677 ""
+ "tools/arduino-firmware/arduino-firmware.ino" 1435657400 34362 dce80fc83f2a12c5a28422b7712bc3ac ""
+ "tools/shield/pcb_board_V1p2.png" 1435579386 39034 e737286dfaa03f083b37af936149ad4d ""
+ "tools/shield/shield-V1p2.jpg" 1432012928 221681 3be329dcc0590284c83508bfc96ede10 ""
+ "tools/shield/shield-V1p2.png" 1435671770 53354 a9da758f55dc80f179f1666876ecf261 ""
+ "tools/test_firmware.sce" 1614019606 117 284faf7c3b9a1a7fc9f34b15adcaa845 ""
+ "user-code/dcmotor/OpenModelica/dcmotor-both.mo" 1504502496 1082 83d6eac8a66d717c6284b6ade0287601 ""
+ "user-code/dcmotor/OpenModelica/dcmotor-clock.mo" 1504502518 973 f17376685d16673954c6ba57f7634e77 ""
+ "user-code/dcmotor/OpenModelica/dcmotor-loop.mo" 1504502554 1212 64682eafa774ce359efdd3d63d27341a ""
+ "user-code/dcmotor/arduino/dcmotor-both/dcmotor-both.ino" 1435072622 504 4e8bd29e191ec535da44c4b3a556fb99 ""
+ "user-code/dcmotor/arduino/dcmotor-clock/dcmotor-clock.ino" 1435071528 423 47dba1db8580ff1cd47e9eb2b5b4dfe9 ""
+ "user-code/dcmotor/arduino/dcmotor-loop/dcmotor-loop.ino" 1435075248 662 b99c2d806386f93ef1c8835fbf9669a7 ""
+ "user-code/dcmotor/dcmotor.tex" 1567597446 35591 a1bb77881ea9161d2b251f42f4bdd1b1 ""
+ "user-code/dcmotor/figures/dc_motor_description.jpg" 1434121794 694440 a424c50ad327bc459a4ab4808f398262 ""
+ "user-code/dcmotor/figures/dcmotor-both.png" 1435131944 32214 a1429a4cc0aee2d50d6c8b886530f9e9 ""
+ "user-code/dcmotor/figures/dcmotor-clock.png" 1435132326 26079 07178ea354fae535528fba334b484540 ""
+ "user-code/dcmotor/figures/dcmotor-loop.png" 1435133446 28069 bc29d801afcbd2b0dcf5f9b69f21a4d9 ""
+ "user-code/dcmotor/figures/dcmotor_board.png" 1434097484 114406 92155ec29d259e5fcda6bce5c6b08004 ""
+ "user-code/dcmotor/figures/schematic.png" 1434808892 29144 971dcba68f6e79a1c3c5777dac2627ea ""
+ "user-code/dcmotor/julia/dcmotor-both.jl" 1475739556 196 92720229fca341a6a12f51dc5c621ef4 ""
+ "user-code/dcmotor/julia/dcmotor-clock.jl" 1467320014 164 8be6cb490bf6f3865bcfad764ffd215e ""
+ "user-code/dcmotor/julia/dcmotor-loop.jl" 1467320014 253 ac7ab3d63d1a4ca614d09d8202f8146e ""
+ "user-code/dcmotor/python/dcmotor-both.py" 1567596616 849 6dc6e246f894e02cd706646d6eafc8bb ""
+ "user-code/dcmotor/python/dcmotor-clock.py" 1567596580 823 f3b729c559cdfaf0120e15462d9d15c3 ""
+ "user-code/dcmotor/python/dcmotor-loop.py" 1567596568 952 cb8bbee7a980a5d3e6eecf7a24740284 ""
+ "user-code/dcmotor/scilab/dcmotor-both.sce" 1435072288 466 f4161dac876a5a4f5ba1e8626b87511f ""
+ "user-code/dcmotor/scilab/dcmotor-clock.sce" 1435070956 347 86ac126bdf94c50ae7fa49b4c85f2aec ""
+ "user-code/dcmotor/scilab/dcmotor-loop.sce" 1435074400 605 ce3f61c8fff2a7db071d5b152d6d238e ""
+ "user-code/hw-env/figures/OSHW-138px.png" 1435565948 8171 62fe0090b5a01299adb7fb7b4d9ac130 ""
+ "user-code/hw-env/figures/arduino-3d-printer.jpg" 1435503128 39052 6dff9ea86aa1541b274437fe913ddd46 ""
+ "user-code/hw-env/figures/arduino-ide.jpg" 1435422906 194767 bfef476ab04769e6b222de9ff24a9623 ""
+ "user-code/hw-env/figures/arduino-phone.jpg" 1435503100 135255 4b4165291b755b12ce897d7a408f2d6d ""
+ "user-code/hw-env/figures/arduino.png" 1435400348 149178 70a98357748236149bf214d5d18b33f6 ""
+ "user-code/hw-env/figures/hw-device-manager.jpg" 1435587446 123199 593d451c63d150854f6e8f091ae0b56b ""
+ "user-code/hw-env/figures/lily.jpg" 1435572932 74607 a5cc307933e091ab5da6b90172f6ddd9 ""
+ "user-code/hw-env/figures/mega.jpg" 1435572198 1075629 4343e24216f3e871b746baab98dc92b5 ""
+ "user-code/hw-env/figures/miccontblk.png" 1435421548 32073 d40dc886413fc19a7f28ed042cb42be3 ""
+ "user-code/hw-env/figures/resolution.png" 1435401026 4945 8c36e13a636f064fe99a32583bd5a09f ""
+ "user-code/hw-env/figures/run.png" 1435401186 7479 2a0408aff85d84cbe8b618edf5924811 ""
+ "user-code/hw-env/figures/shield-crop.jpg" 1435608440 88724 a405ddfd57bdc79018c6674fc399d67f ""
+ "user-code/hw-env/figures/update-driver.png" 1435401084 40170 607a1cd06856f1eecd42ebc14fbe2daf ""
+ "user-code/hw-env/hw-env.tex" 1613904605 19748 d06b5a3ad52f402b3f691d5df6f7e3f9 ""
+ "user-code/ldr/OpenModelica/ldr-led.mo" 1504183380 1246 9c0dc0993bcd21f01e89bcf1b403c8b1 ""
+ "user-code/ldr/OpenModelica/ldr-read.mo" 1504183412 989 9dc1e823b5c929edaae5859675eb0060 ""
+ "user-code/ldr/arduino/ldr-led/ldr-led.ino" 1447291830 330 447a5a22bd1fde20300f0e2fe8306db3 ""
+ "user-code/ldr/arduino/ldr-read/ldr-read.ino" 1448790690 223 428416ae1ca1ac683e7cc49bc07972c3 ""
+ "user-code/ldr/figures/ldr-conn.png" 1434557030 27006 651850b554b0e5f042da89db408bd75e ""
+ "user-code/ldr/figures/ldr-led.png" 1434176578 75341 98a4b1e9dd0f7ee83ee41500716ce940 ""
+ "user-code/ldr/figures/ldr-read-xcos.PNG" 1435165624 34063 b0eeeea9642553ea0bb2889cb52cfa60 ""
+ "user-code/ldr/figures/ldr.jpg" 1434481614 4060 da1140b101edcf75176b3dfbb765dd42 ""
+ "user-code/ldr/figures/ldr_sym.png" 1433833440 29267 73b70e220429569a98caa86348349aa1 ""
+ "user-code/ldr/julia/ldr-led.jl" 1467320008 226 06e515a8f72e1bd422164e137e169ccd ""
+ "user-code/ldr/julia/ldr-read.jl" 1467320010 172 3c22e807b98d0e14c9ed24c63191387a ""
+ "user-code/ldr/ldr.tex" 1506498402 22954 7531c9ec7fd9840f445b035e45035453 ""
+ "user-code/ldr/python/ldr-led.py" 1567596716 866 b724a956c314292b215cf655d7751fc2 ""
+ "user-code/ldr/python/ldr-read.py" 1567596692 686 16e0ee2162e2f212ba41d2c9d491f534 ""
+ "user-code/ldr/scilab/ldr-led.sce" 1435157332 444 0895e89b3e22312736acf271c6315dea ""
+ "user-code/ldr/scilab/ldr-read.sce" 1435167740 365 2baf1b4875c7cad242e65a3708abc113 ""
+ "user-code/led/OpenModelica/led-blue-delay.mo" 1504180998 1037 9e13fc17788ee59a36647f3f7507d464 ""
+ "user-code/led/OpenModelica/led-blue-red.mo" 1504181032 1152 02fbddba26b3d48ab782c0b69d27d7cc ""
+ "user-code/led/OpenModelica/led-blue.mo" 1504180954 796 7b6b4a4a4107c63c80bb0575a37ec9ff ""
+ "user-code/led/OpenModelica/led-green-blink.mo" 1504181064 1091 a1997012cbd29ea813ffbde1eb03a020 ""
+ "user-code/led/OpenModelica/test_firmware.mo" 1579859422 383 0f34571f00e8587e91f97c42155eceae ""
+ "user-code/led/arduino/led-blink/led-blink.ino" 1447291416 367 d039d0b254aa0be872e45337dbc97184 ""
+ "user-code/led/arduino/led-blue-delay/led-blue-delay.ino" 1447291716 131 e1d65f6bf12ce001f58bce4b6329eb63 ""
+ "user-code/led/arduino/led-blue-red/led-blue-red.ino" 1447291738 209 b38328526259cf1e17b49c57c444af0b ""
+ "user-code/led/arduino/led-blue/led-blue.ino" 1447291692 97 4006c8c86295abd9738d078b66a4a9e2 ""
+ "user-code/led/figures/arduino-shield.JPG" 1435517796 6411797 2af753c9693c789bfeac0924e48d8062 ""
+ "user-code/led/figures/led-blue-delay.png" 1434967104 24224 74fb9d7d47c0e80095ffd6941b94d7ed ""
+ "user-code/led/figures/led-blue-red.png" 1434967142 33412 93a5fd2d5f2d8434e507136db11da0fc ""
+ "user-code/led/figures/led-blue.png" 1434967048 25771 86ba836f30d36f9a400f5980eb7e74c0 ""
+ "user-code/led/figures/led-green-blink.png" 1434967194 26877 69c8ba68c5a544a9fe3beb9c36fcfd40 ""
+ "user-code/led/figures/led.png" 1433771038 3299 6fdaa5be1f5df2c4fa3cc404b111c357 ""
+ "user-code/led/figures/led_output.png" 1434090660 4933000 3daaef0abe81c66166eaa3fd911c9b66 ""
+ "user-code/led/figures/schematic.png" 1434808892 34562 2b5d2cb148a99242ffb4343097ced0a0 ""
+ "user-code/led/julia/led-blue-delay.jl" 1467320010 155 44a9e33622fc3f7ed64ed07862b37d30 ""
+ "user-code/led/julia/led-blue-red.jl" 1467320014 229 30922ee6d10d798751eac936811197c6 ""
+ "user-code/led/julia/led-blue.jl" 1467320010 127 622bb51db887bc146e7f767e3b1d56f4 ""
+ "user-code/led/julia/led-green-blink.jl" 1467320010 191 e8ec59164af34e16a5cd0cff9e58f27e ""
+ "user-code/led/julia/test_firmware.jl" 1579859156 146 0fb4c836e3401ff48c75c309e39d01ba ""
+ "user-code/led/led.tex" 1506877842 37494 9ff93c3ae3b7e7306d2d1c1291ce1a23 ""
+ "user-code/led/python/led-blue-delay.py" 1567596780 833 babefa03765e8de3166a7183bb9dea89 ""
+ "user-code/led/python/led-blue-red.py" 1567596768 1027 6d7d523452db15fd0dc6861ba415eb9b ""
+ "user-code/led/python/led-blue.py" 1606995624 735 58dfc81f1d62cfc75e56cc9c3485031b ""
+ "user-code/led/python/led-green-blink.py" 1567596756 790 a24c9d2a3c5eea736979846513ca943d ""
+ "user-code/led/scilab/led-blue-delay.sce" 1435458504 296 dc571fad7e86d3264301dc3de67ab806 ""
+ "user-code/led/scilab/led-blue-red.sce" 1614202903 522 35bdc246bc0acd9abb88f82797fb02d1 ""
+ "user-code/led/scilab/led-blue.sce" 1614202961 253 1e8fce86cb192073bfc694bd34067efc ""
+ "user-code/led/scilab/led-green-blink.sce" 1614202975 475 42ef34750ae49b20e1ad3386787424e4 ""
+ "user-code/modbus/OpenModelica/readCurrent.mo" 1504506572 415 303989413cadae961b297f9b27e7fea0 ""
+ "user-code/modbus/OpenModelica/readPower.mo" 1504506538 435 3f5615fb24b7ddbe58cdd8e1bef132ae ""
+ "user-code/modbus/OpenModelica/readVoltage.mo" 1504506472 415 6e1ebbf05cf22f407c8164397a270067 ""
+ "user-code/modbus/arduino/send_packet.ino" 1436126024 8116 cf6c7187b76c359b0e96b2d6ab867417 ""
+ "user-code/modbus/figures/Full-Set-Up.png" 1436125918 1614647 0b0a3133138b7b5e4362f127b21dbbca ""
+ "user-code/modbus/figures/active-power-output-setup.jpg" 1438694084 351924 8d58dbf5aedf8ea47c4a10461e296b85 ""
+ "user-code/modbus/figures/active-power-output.png" 1438694058 92783 8431c4797fbf7c49379c3ed7f6b79786 ""
+ "user-code/modbus/figures/arduino_code_flowchart.png" 1439130116 30551 d5d6d0068508ecc437e64b129d03adeb ""
+ "user-code/modbus/figures/block-diagram.PNG" 1439129548 12984 34da68fad73a956dd18a72f2742c01c8 ""
+ "user-code/modbus/figures/current-output-setup.jpg" 1438693936 369988 8c01314dd3a203470668991b37705c64 ""
+ "user-code/modbus/figures/current-output.png" 1438693906 92428 a524bc830f420d11fc05150dbcb96771 ""
+ "user-code/modbus/figures/fig1.png" 1438580200 7589 f96d8da2f8a9b651e6a2b84ff0fcd2b5 ""
+ "user-code/modbus/figures/fig2.png" 1438580254 8357 df83830062ead3aba95548cffc6e5fc2 ""
+ "user-code/modbus/figures/fig3.png" 1438580302 64436 45a719b4c6c25010861af86e20af0675 ""
+ "user-code/modbus/figures/flowchart.png" 1438580424 24159 a806f9f56a4606c9f0640bb0eb7e36ff ""
+ "user-code/modbus/figures/read_value_xcos.png" 1438704382 51074 2267729983ef5dcb788a3f74130a179a ""
+ "user-code/modbus/figures/voltage-output-setup.jpg" 1438694016 356309 088966238545406bc7a8c1db7b2ac12a ""
+ "user-code/modbus/figures/voltage-output.png" 1438693990 97782 6f9b9d94d93e8617e82070422fee492c ""
+ "user-code/modbus/julia/readCurrent.jl" 1467320018 419 d37bba6d385680f69e39aeeeee270cc2 ""
+ "user-code/modbus/julia/readPower.jl" 1467320018 408 5fe8daf1c8116370b28ad3bd3f32aab4 ""
+ "user-code/modbus/julia/readVoltage.jl" 1467320018 418 4e26e56e234bd7df4a03ade0f2866654 ""
+ "user-code/modbus/modbus.tex" 1506509942 26521 f1c8b55adda885ec089f99a77f8acdad ""
+ "user-code/modbus/python/read_active_power.py" 1567596950 1107 5c75379ec91b5b117fc94be55100a639 ""
+ "user-code/modbus/python/read_current.py" 1567596942 1102 c628a8be5444f9b5ffbb348dff567336 ""
+ "user-code/modbus/python/read_voltage.py" 1567596922 1102 cf711c7b2bc93043409419eb1ae2169b ""
+ "user-code/modbus/scilab/read_active_power.sci" 1439114654 1072 ec17d07cbbf336756ed22d5469b68e25 ""
+ "user-code/modbus/scilab/read_current.sci" 1439114670 1090 97c84be93c41f56ed4617dfe2ffaf5bb ""
+ "user-code/modbus/scilab/read_val.sce" 1436125980 1474 89f368fad786acfa64c8f7eab2d6c14a ""
+ "user-code/modbus/scilab/read_voltage.sci" 1439114686 1100 00726a382c03a31bf874d21d1cc5eb16 ""
+ "user-code/pot/OpenModelica/pot-threshold.mo" 1506503594 1725 a803c7baa1ed467a26e4d70571b871c7 ""
+ "user-code/pot/arduino/pot-threshold/pot-threshold.ino" 1435227914 729 004f694d3a949bb3e91a253f78d11914 ""
+ "user-code/pot/figures/pot-threshold.PNG" 1435283980 72552 8c710fcf76530bfd3f17d454560b19c4 ""
+ "user-code/pot/figures/potmeter.png" 1433862486 99691 b56662d8570cfc9c91c52b76f21d1802 ""
+ "user-code/pot/figures/schematic.png" 1434808892 24453 85099648f5c8e616d3cfd5f3d6d7a7bf ""
+ "user-code/pot/julia/pot-threshold.jl" 1467320018 457 c32a8f64cd2460150156b5e8cadf050b ""
+ "user-code/pot/pot.tex" 1506505018 16867 4d0e53f3d06e7db0d749fa7b6619ea9a ""
+ "user-code/pot/python/pot-threshold.py" 1567597000 1168 1c8446b4eb191d9326f7c08bd342aa7f ""
+ "user-code/pot/scilab/pot-threshold.sce" 1435228530 624 2bab29d371a2666f033dd6bccad5bb73 ""
+ "user-code/push/OpenModelica/led-push-button.mo" 1504182486 1198 120e49f80595079acd4df70592cdf775 ""
+ "user-code/push/OpenModelica/push-button-status.mo" 1504182522 1251 e670acf0e61d3855657d0d08598f967f ""
+ "user-code/push/arduino/led-push-button/led-push-button.ino" 1447292050 396 f2cd654545d812fcf8dc360a261677ab ""
+ "user-code/push/arduino/push-button-status/push-button-status.ino" 1447292082 376 77c53b136c9f6a2227e8e0c615b59677 ""
+ "user-code/push/figures/led-push-button.PNG" 1435237346 29100 9fb97725008a4f858830924290bafd86 ""
+ "user-code/push/figures/push-button-status.PNG" 1435237346 27403 da6c41bb605a3801512422bfefcaf4ea ""
+ "user-code/push/figures/pushbutton-conn.png" 1434808892 25321 c2e109dc82f76507b9a0b5f6e09be7db ""
+ "user-code/push/julia/led-push-button.jl" 1472459196 244 bdd35ebaf7a49131c86afec8f4d652d5 ""
+ "user-code/push/julia/push-button-status.jl" 1472459204 162 c571ce3005e5ec597e7dcda1b849185a ""
+ "user-code/push/push.tex" 1506877988 20475 857359ae9b79754ad22a7945eb28332b ""
+ "user-code/push/python/led-push-button.py" 1567597062 840 4bb8db9727a8e8653a21fbbc7b7526d7 ""
+ "user-code/push/python/push-button-status.py" 1567597036 722 f58f02f7b8f3f6ec8ed84f102fba6df1 ""
+ "user-code/push/scilab/led-push-button.sce" 1435230556 343 cf0876406ea3698e7f8fabac2dd17128 ""
+ "user-code/push/scilab/push-button-status.sce" 1435230202 363 7b086de623a4106004994824105bed4e ""
+ "user-code/servo/OpenModelica/servo-init.mo" 1504503200 863 bb87abe9ddfb0a20ffa5730f616de29f ""
+ "user-code/servo/OpenModelica/servo-loop.mo" 1504503242 1082 65457a77509f0c8801012ceebce800b1 ""
+ "user-code/servo/OpenModelica/servo-reverse.mo" 1504503352 1054 ba02e3eef4c1437cfb637edae7dd0f4e ""
+ "user-code/servo/OpenModelica/servo_pot.mo" 1504503306 1368 6430aeee3b18832e9a053c4a6633acfd ""
+ "user-code/servo/arduino/servo-init/servo-init.ino" 1447292318 296 435abb959d4eb3bf1ece522e2905171b ""
+ "user-code/servo/arduino/servo-loop/servo-loop.ino" 1447292304 393 cbc5d59c562e4e67c20aafd9ddc89572 ""
+ "user-code/servo/arduino/servo-pot/servo-pot.ino" 1447292294 668 438d39a5ab74beb769cccaa1f1734170 ""
+ "user-code/servo/arduino/servo-reverse/servo-reverse.ino" 1447292280 332 d517232dd444c72f5dbfdfb655cf2bf2 ""
+ "user-code/servo/figures/servo-init.png" 1435044886 26415 598a8cb33dbe09dbd1edc7b8735f4816 ""
+ "user-code/servo/figures/servo-loop.png" 1435055392 32952 67f7dd0d2bb32be2b1c48f217b17c189 ""
+ "user-code/servo/figures/servo-pot.png" 1435043808 33204 436709fd3e5dbedb22b8af8b2d2ca4ba ""
+ "user-code/servo/figures/servo-reverse.png" 1435044604 25147 1703152c1e98c6000e54589b6bd467a7 ""
+ "user-code/servo/julia/servo-init.jl" 1467320016 132 6f5410ea6782213a80a45e485217cd26 ""
+ "user-code/servo/julia/servo-loop.jl" 1467320014 196 3ab7d6c52e3bafd20905bb15b34d1a4f ""
+ "user-code/servo/julia/servo-pot.jl" 1467320014 243 b1f605250f284c939aada9d680d64b74 ""
+ "user-code/servo/julia/servo-reverse.jl" 1467320014 161 4bd6453c4c41951d061f499096c9e179 ""
+ "user-code/servo/python/servo-init.py" 1567597170 757 38d21bd8f06100c42976b8a24ff8f5ce ""
+ "user-code/servo/python/servo-loop.py" 1567597158 799 8deb63dd350ee2858ab7eb3786b262cb ""
+ "user-code/servo/python/servo-pot.py" 1567597134 922 e55098464581b31026e1f7ebf00b90dc ""
+ "user-code/servo/python/servo-reverse.py" 1567597114 834 be314d76d09898569eb7b256a75c92ae ""
+ "user-code/servo/scilab/servo-init.sce" 1435078976 272 6b40f18b54fdab49b5096e5c8aa9e2c8 ""
+ "user-code/servo/scilab/servo-loop.sce" 1435132778 523 3dab557667e4d6684c16488eed4d7467 ""
+ "user-code/servo/scilab/servo-pot.sce" 1435141136 513 210570db8947ee3cd149bd0612cf2318 ""
+ "user-code/servo/scilab/servo-reverse.sce" 1435139112 482 8b8b51f642de6d6d1e2f5b3f7d3bd586 ""
+ "user-code/servo/servo.tex" 1567602042 31758 4b25132a6f365816d0b50c507f67d6a7 ""
+ "user-code/sw-env/figures/arduino-palette.png" 1447529448 10751 8229db142816e63c5b5761df7ebf0e33 ""
+ "user-code/sw-env/figures/atom-lunch.png" 1472720846 49769 12d856cada850c54b741afaef7d54699 ""
+ "user-code/sw-env/figures/browse-directory.png" 1435354872 30302 e7161778e4b66145020832ffda95f16b ""
+ "user-code/sw-env/figures/builder.png" 1435354914 62847 a945d2601d325541677f819dda7ee305 ""
+ "user-code/sw-env/figures/change-directory.png" 1435315956 64189 616277a190f8052d7c32b3d0c86410c0 ""
+ "user-code/sw-env/figures/clock-blk.png" 1447528562 8341 2796147e1cfe4ae15ff1581cf7347de4 ""
+ "user-code/sw-env/figures/com-properties.png" 1435324532 75092 d364fc390b7b1913845428ff03e09b17 ""
+ "user-code/sw-env/figures/cscope-config.png" 1435345722 15445 4f02500263554c7a25c5355d43fe0720 ""
+ "user-code/sw-env/figures/device-manager.png" 1435323126 66176 4b944d863a9a68ac712fec18d1072374 ""
+ "user-code/sw-env/figures/julia-terminal.png" 1472720436 37869 d2831d456ffc6ae78015d2b27552896f ""
+ "user-code/sw-env/figures/linux-cd.png" 1435349654 39093 885ba08c89ecb4d2c400fa4b07d4ea66 ""
+ "user-code/sw-env/figures/linux-port.png" 1435325978 22330 f34b363966c6f589a01e2e3083bf7d90 ""
+ "user-code/sw-env/figures/loader.png" 1435355706 59139 c20511f34e925a6fb5628e3a13c4442a ""
+ "user-code/sw-env/figures/plot-blk.png" 1447528434 9025 823d55c99e8f9e091c480135e11fed88 ""
+ "user-code/sw-env/figures/sim-setup.png" 1435346264 18806 fca3d6d4d7692c539f6dd8ee5fca2286 ""
+ "user-code/sw-env/figures/sine-blk.png" 1435342598 31364 922217660a4514750566368a9628caca ""
+ "user-code/sw-env/figures/sine-gen.png" 1447528808 18116 34af55052c486ca14630fa8175b34a20 ""
+ "user-code/sw-env/figures/sine-output.png" 1447528970 5195 b769374644003c54a930b7fd08e2e7ee ""
+ "user-code/sw-env/figures/table_functions_crop.pdf" 1447550284 84671 8377aefb061b0e251291558e34dd4b23 ""
+ "user-code/sw-env/figures/test-console.png" 1435357602 53960 b989b14626fd496e19335d18673cc602 ""
+ "user-code/sw-env/figures/xcos-help.png" 1435359132 87275 3c9b5157ebebe381cd7b5281cdd28482 ""
+ "user-code/sw-env/sw-env.tex" 1614696157 64972 9570a5a52394f8570441bc71c3aef98a ""
+ "user-code/thermistor/OpenModelica/therm-buzzer.mo" 1506505158 1234 e3c3c8d261a570f6ba97d9be5031ff1a ""
+ "user-code/thermistor/OpenModelica/therm-read.mo" 1506505130 990 198e4947eb2cc3dd685574c945aea1f2 ""
+ "user-code/thermistor/arduino/therm-buzzer/therm-buzzer.ino" 1438607530 389 c4216c80dfb4f1f23b090c94fd181a05 ""
+ "user-code/thermistor/arduino/therm-read/therm-read.ino" 1438607530 221 de622bbb1d39cb66ab1a45e015351b9d ""
+ "user-code/thermistor/figures/BUZZER-Diagram-crop.pdf" 1447780720 44580 9821d615a59f54c353650c91d53397ff ""
+ "user-code/thermistor/figures/NTC-bead.jpg" 1438607530 26322 dc48012480bf36dffe1bc53f53fff468 ""
+ "user-code/thermistor/figures/THERMISTOR-Diagram-crop.pdf" 1447780432 51122 63d1034bfec8c1e50343da5dd4e8a355 ""
+ "user-code/thermistor/figures/therm-buzzer-xcos.png" 1438715012 62520 d7a651c93d11aa2ade2fbcaaae324492 ""
+ "user-code/thermistor/figures/therm-buzzer.png" 1438719856 21991 43392992f62b8fc4acd5d04722ac65ef ""
+ "user-code/thermistor/figures/therm-read-xcos.png" 1438715018 57179 0dddd7d72b0b013c4bca6de583a2bb80 ""
+ "user-code/thermistor/figures/therm-read.png" 1438719630 19495 9e15703acd9c4205b29b15f718ba5669 ""
+ "user-code/thermistor/figures/therm-sym.png" 1438607530 17914 5c4de58664f2c605c14ebafd7187b119 ""
+ "user-code/thermistor/julia/therm-buzzer.jl" 1473779794 226 bf899244c84d5e79afd9cbb0b4e47ac3 ""
+ "user-code/thermistor/julia/therm-read.jl" 1473781356 144 6f69ed4b7b2565dc7b254e40a783b691 ""
+ "user-code/thermistor/python/therm-buzzer.py" 1567597218 928 ed9f475c9ed1b48df0336865cc08a77e ""
+ "user-code/thermistor/python/therm-read.py" 1567597204 756 69346d8630af0b54c8fd104e83808e25 ""
+ "user-code/thermistor/scilab/therm-buzzer.sce" 1438607530 474 a5b32bd97a4179f7ac211aacf488dad3 ""
+ "user-code/thermistor/scilab/therm-read.sce" 1438607530 382 5e743c25b50f9d961a2939ce81d7b633 ""
+ "user-code/thermistor/thermistor.tex" 1506506524 23529 22fb18ee9c4a3f497295371e1a92a5c6 ""
+ (generated)
+ "scilab-arduino.toc"
+ "scilab-arduino.cod"
+ "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.pdf"
+ "scilab-arduino.log"
+ "scilab-arduino.lot"
+ "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.log"
+ "scilab-arduino.lof"
+ "scilab-arduino.idx"
+ "scilab-arduino.aux"
+ "scilab-arduino.thm"
+ "scilab-arduino.ard"
+ "scilab-arduino.pdf"
diff --git a/scilab-arduino/scilab-arduino.fls b/scilab-arduino/scilab-arduino.fls
new file mode 100644
index 0000000..a4e4234
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.fls
@@ -0,0 +1,403 @@
+PWD /home/fossee/Desktop/scilab-arduino-final/scilab-arduino
+INPUT /etc/texmf/web2c/texmf.cnf
+INPUT /usr/share/texmf/web2c/texmf.cnf
+INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
+INPUT /var/lib/texmf/web2c/pdftex/pdflatex.fmt
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.tex
+OUTPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.log
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/book.cls
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/book.cls
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/bk11.clo
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/bk11.clo
+INPUT /usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
+INPUT /usr/share/texlive/texmf-dist/tex/latex/layouts/layouts.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/layouts/layouts.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/cclicenses/cclicenses.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/cclicenses/cclicenses.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/rotating.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/rotating.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/morefloats/morefloats.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/morefloats/morefloats.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
+INPUT /usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/paralist/paralist.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/paralist/paralist.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/chngcntr/chngcntr.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/chngcntr/chngcntr.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/cite/cite.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/subfig/subfig.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/subfig/subfig.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/varioref.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/varioref.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1095.tfm
+INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/beramono.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/beramono.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/seqsplit/seqsplit.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/seqsplit/seqsplit.sty
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/suppl/styles.tex
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/suppl/styles.tex
+INPUT /usr/share/texlive/texmf-dist/tex/latex/ntheorem/ntheorem.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/ntheorem/ntheorem.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/theorem.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/tools/theorem.sty
+OUTPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.idx
+INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
+INPUT /usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.aux
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.aux
+OUTPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.aux
+INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
+INPUT /usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
+INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
+INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+INPUT /usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm2488.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx2488.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.toc
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.toc
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx1095.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr8.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr6.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi10.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi8.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm
+OUTPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.pdf
+INPUT /var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecsl1095.tfm
+OUTPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.toc
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.lof
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.lof
+OUTPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.lof
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.lot
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.lot
+OUTPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.lot
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.ard
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.ard
+OUTPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.ard
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.cod
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.cod
+OUTPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/scilab-arduino.cod
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/suppl/acr.tex
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/suppl/acr.tex
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/suppl/intro.tex
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/suppl/intro.tex
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm2074.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx2074.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm1095.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm0800.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm0900.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmr9.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi9.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmsy9.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex9.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm0600.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm0900.tfm
+INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/t1fvm.fd
+INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/t1fvm.fd
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8t.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/hw-env.tex
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/hw-env.tex
+INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/bera/fvmr8t.vf
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8r.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1440.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx1440.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1200.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx1200.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/miccontblk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/miccontblk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/miccontblk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/resolution.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/resolution.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/resolution.png
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecti1095.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/OSHW-138px.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/OSHW-138px.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/OSHW-138px.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/mega.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/mega.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/mega.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/lily.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/lily.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/lily.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino-phone.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino-phone.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino-phone.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino-3d-printer.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino-3d-printer.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino-3d-printer.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/pcb_board_V1p2.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/pcb_board_V1p2.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/pcb_board_V1p2.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shield-V1p2.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shield-V1p2.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shield-V1p2.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shield-V1p2.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shield-V1p2.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shield-V1p2.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/shield-crop.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/shield-crop.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/shield-crop.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/sw-env.tex
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/sw-env.tex
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/hw-device-manager.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/hw-device-manager.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/hw-device-manager.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/update-driver.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/update-driver.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/update-driver.png
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8t.tfm
+INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/bera/fvmr8t.vf
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8r.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/run.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/run.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/run.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino-ide.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino-ide.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figures/arduino-ide.jpg
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/linux-cd.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/linux-cd.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/linux-cd.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/change-directory.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/change-directory.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/change-directory.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/browse-directory.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/browse-directory.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/browse-directory.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/builder.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/builder.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/builder.png
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8t.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/loader.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/loader.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/loader.png
+INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/bera/fvmr8t.vf
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8r.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/device-manager.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/device-manager.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/device-manager.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/com-properties.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/com-properties.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/com-properties.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/linux-port.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/linux-port.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/linux-port.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/test_firmware.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/test_firmware.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/test_firmware.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/test-console.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/test-console.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/test-console.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/table_functions_crop.pdf
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/table_functions_crop.pdf
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/table_functions_crop.pdf
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sine-blk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sine-blk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sine-blk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/plot-blk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/plot-blk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/plot-blk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/clock-blk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/clock-blk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/clock-blk.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sine-gen.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sine-gen.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sine-gen.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sine-output.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sine-output.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sine-output.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/cscope-config.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/cscope-config.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/cscope-config.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sim-setup.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sim-setup.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/sim-setup.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/arduino-palette.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/arduino-palette.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/arduino-palette.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/xcos-help.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/xcos-help.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/xcos-help.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/julia-terminal.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/julia-terminal.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/julia-terminal.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/atom-lunch.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/atom-lunch.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/atom-lunch.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/arduino-firmware/arduino-firmware.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/arduino-firmware/arduino-firmware.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/arduino-firmware/arduino-firmware.ino
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm0800.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/test_firmware.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/test_firmware.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/test_firmware.sce
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx0900.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/test_firmware.jl
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/test_firmware.jl
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/test_firmware.jl
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenModelica/test_firmware.mo
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenModelica/test_firmware.mo
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenModelica/test_firmware.mo
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/led.tex
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/led.tex
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/schematic.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/schematic.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/schematic.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/arduino-shield.JPG
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/arduino-shield.JPG
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/arduino-shield.JPG
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led_output.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led_output.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led_output.png
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd
+INPUT /usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecss1095.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-blue.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-blue.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-blue.png
+INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecrm1000.tfm
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-blue-delay.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-blue-delay.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-blue-delay.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-blue-red.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-blue-red.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-blue-red.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-green-blink.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-green-blink.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures/led-green-blink.png
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-red/led-blue-red.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-red/led-blue-red.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blue-red/led-blue-red.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-red.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-red.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-blue-red.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-green-blink.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-green-blink.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/led-green-blink.sce
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue-delay.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue-delay.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue-delay.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue-red.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue-red.py
+INPUT /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/led-blue-red.py
diff --git a/scilab-arduino/scilab-arduino.idx b/scilab-arduino/scilab-arduino.idx
new file mode 100644
index 0000000..826e723
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.idx
@@ -0,0 +1,5 @@
+\indexentry{H-Bridge circuit DC motor}{109}
+\indexentry{H-Bridge}{109}
+\indexentry{L293D,L298}{109}
+\indexentry{PCB breakout board}{109}
+\indexentry{pulse width modulation, PWM}{109}
diff --git a/scilab-arduino/scilab-arduino.ilg b/scilab-arduino/scilab-arduino.ilg
new file mode 100644
index 0000000..375c4ac
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.ilg
@@ -0,0 +1,6 @@
+This is makeindex, version 2.15 [TeX Live 2019] (kpathsea + Thai support).
+Scanning input file scilab-arduino.idx....done (5 entries accepted, 0 rejected).
+Sorting entries....done (11 comparisons).
+Generating output file scilab-arduino.ind....done (15 lines written, 0 warnings).
+Output written in scilab-arduino.ind.
+Transcript written in scilab-arduino.ilg.
diff --git a/scilab-arduino/scilab-arduino.ind b/scilab-arduino/scilab-arduino.ind
new file mode 100644
index 0000000..5d287ce
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.ind
@@ -0,0 +1,15 @@
+\begin{theindex}
+
+ \item H-Bridge, 109
+ \item H-Bridge circuit DC motor, 109
+
+ \indexspace
+
+ \item L293D,L298, 109
+
+ \indexspace
+
+ \item PCB breakout board, 109
+ \item pulse width modulation, PWM, 109
+
+\end{theindex}
diff --git a/scilab-arduino/scilab-arduino.juliad b/scilab-arduino/scilab-arduino.juliad
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.juliad
diff --git a/scilab-arduino/scilab-arduino.lof b/scilab-arduino/scilab-arduino.lof
new file mode 100644
index 0000000..f3d15d8
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.lof
@@ -0,0 +1,103 @@
+\addvspace {10\p@ }
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {2.1}{\ignorespaces Functional block diagram of a microcontroller\relax }}{4}%
+\contentsline {figure}{\numberline {2.2}{\ignorespaces ADC resolution\relax }}{6}%
+\contentsline {figure}{\numberline {2.3}{\ignorespaces The logo of Open Source Hardware\relax }}{7}%
+\contentsline {figure}{\numberline {2.4}{\ignorespaces Arduino Uno Board\relax }}{9}%
+\contentsline {figure}{\numberline {2.5}{\ignorespaces Arduino Mega Board\relax }}{10}%
+\contentsline {figure}{\numberline {2.6}{\ignorespaces LilyPad Arduino Board\relax }}{11}%
+\contentsline {figure}{\numberline {2.7}{\ignorespaces Arduino Phone\relax }}{11}%
+\contentsline {figure}{\numberline {2.8}{\ignorespaces 3D printer\relax }}{12}%
+\contentsline {figure}{\numberline {2.9}{\ignorespaces PCB image of the shield}}{13}%
+\contentsline {figure}{\numberline {2.10}{\ignorespaces Pictorial representation of the schematic of the shield}}{14}%
+\contentsline {figure}{\numberline {2.11}{\ignorespaces PCB of the shield}}{15}%
+\contentsline {figure}{\numberline {2.12}{\ignorespaces Picture of the shield with all components\relax }}{15}%
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {3.1}{\ignorespaces Windows device manager\relax }}{19}%
+\contentsline {figure}{\numberline {3.2}{\ignorespaces Windows update driver option\relax }}{20}%
+\contentsline {figure}{\numberline {3.3}{\ignorespaces Confirmation for executing Arduino script\relax }}{21}%
+\contentsline {figure}{\numberline {3.4}{\ignorespaces Arduino IDE\relax }}{22}%
+\contentsline {figure}{\numberline {3.5}{\ignorespaces Linux terminal to launch Scilab\relax }}{25}%
+\contentsline {figure}{\numberline {3.6}{\ignorespaces Changing scilab directory\relax }}{26}%
+\contentsline {figure}{\numberline {3.7}{\ignorespaces Browsing toolbox directory\relax }}{27}%
+\contentsline {figure}{\numberline {3.8}{\ignorespaces Output of builder.sce\relax }}{28}%
+\contentsline {figure}{\numberline {3.9}{\ignorespaces Output of loader.sce\relax }}{29}%
+\contentsline {figure}{\numberline {3.10}{\ignorespaces Device Manager in windows\relax }}{30}%
+\contentsline {figure}{\numberline {3.11}{\ignorespaces COM port properties window\relax }}{31}%
+\contentsline {figure}{\numberline {3.12}{\ignorespaces Port number on Linux terminal\relax }}{31}%
+\contentsline {figure}{\numberline {3.13}{\ignorespaces Scilab test code output\relax }}{32}%
+\contentsline {figure}{\numberline {3.14}{\ignorespaces Arduino toolbox functions used in this book\relax }}{33}%
+\contentsline {figure}{\numberline {3.15}{\ignorespaces Sine generator in palette browser\relax }}{34}%
+\contentsline {figure}{\numberline {3.16}{\ignorespaces CSCOPE block in xcos\relax }}{35}%
+\contentsline {figure}{\numberline {3.17}{\ignorespaces CLOCK\_c block in xcos\relax }}{36}%
+\contentsline {figure}{\numberline {3.18}{\ignorespaces Sine generator in Xcos\relax }}{36}%
+\contentsline {figure}{\numberline {3.19}{\ignorespaces Sine generator Xcos output\relax }}{37}%
+\contentsline {figure}{\numberline {3.20}{\ignorespaces CSCOPE configuration window\relax }}{37}%
+\contentsline {figure}{\numberline {3.21}{\ignorespaces Simulation setup window\relax }}{38}%
+\contentsline {figure}{\numberline {3.22}{\ignorespaces Palette browser showing Arduino blocks\relax }}{39}%
+\contentsline {figure}{\numberline {3.23}{\ignorespaces Xcos block help\relax }}{39}%
+\contentsline {figure}{\numberline {3.24}{\ignorespaces Linux terminal to launch Julia\relax }}{43}%
+\contentsline {figure}{\numberline {3.25}{\ignorespaces Linux Atom Text Editor\relax }}{43}%
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {4.1}{\ignorespaces Light Emitting Diode\relax }}{51}%
+\contentsline {figure}{\numberline {4.2}{\ignorespaces Internal connection diagram for LED on the shield\relax }}{52}%
+\contentsline {figure}{\numberline {4.3}{\ignorespaces Connecting Arduino and Shield\relax }}{52}%
+\contentsline {figure}{\numberline {4.4}{\ignorespaces LED experiments directly on Arduino Uno\ board, without the shield\relax }}{55}%
+\contentsline {figure}{\numberline {4.5}{\ignorespaces Turning the blue LED on through Xcos}}{57}%
+\contentsline {figure}{\numberline {4.6}{\ignorespaces Turning the blue LED on through Xcos for two seconds}}{58}%
+\contentsline {figure}{\numberline {4.7}{\ignorespaces Turning the blue and red LEDs on through Xcos and turning them off one by one}}{59}%
+\contentsline {figure}{\numberline {4.8}{\ignorespaces Blinking the green LED every second through Xcos}}{61}%
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {5.1}{\ignorespaces Connection Diagram\relax }}{80}%
+\contentsline {figure}{\numberline {5.2}{\ignorespaces Printing the push button status on the display block}}{82}%
+\contentsline {figure}{\numberline {5.3}{\ignorespaces Turning the LED on or off, depending on the pushbutton}}{83}%
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {6.1}{\ignorespaces Light Dependent Resistor\relax }}{94}%
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Pictorial representation of an LDR}}}{94}%
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Symbolic representation of an LDR}}}{94}%
+\contentsline {figure}{\numberline {6.2}{\ignorespaces Internal connection diagram for the LDR on the shield\relax }}{94}%
+\contentsline {figure}{\numberline {6.3}{\ignorespaces Xcos diagram to read LDR values}}{97}%
+\contentsline {figure}{\numberline {6.4}{\ignorespaces Xcos diagram to read the value of the LDR, which is used to turn the blue LED on or off}}{99}%
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {7.1}{\ignorespaces L293D motor driver board\relax }}{110}%
+\contentsline {figure}{\numberline {7.2}{\ignorespaces A schematic of DC motor connections\relax }}{111}%
+\contentsline {figure}{\numberline {7.3}{\ignorespaces How to connect the DC motor to the Arduino Uno\ board\relax }}{111}%
+\contentsline {figure}{\numberline {7.4}{\ignorespaces Control of DC motor for a specified time from Xcos}}{116}%
+\contentsline {figure}{\numberline {7.5}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{117}%
+\contentsline {figure}{\numberline {7.6}{\ignorespaces Xcos control of the DC motor in forward and reverse directions}}{118}%
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {8.1}{\ignorespaces Potentiometer's schematic on the shield\relax }}{132}%
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Pictorial representation of a potentiometer}}}{132}%
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Schematic representation of the potentiometer}}}{132}%
+\contentsline {figure}{\numberline {8.2}{\ignorespaces Turning LEDs on through Xcos depending on the potentiometer threshold}}{134}%
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {9.1}{\ignorespaces Pictorial and symbolic representation of a thermistor\relax }}{144}%
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Pictorial representation of a thermistor\cite {therm-wiki}}}}{144}%
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Symbolic representation of a thermistor}}}{144}%
+\contentsline {figure}{\numberline {9.2}{\ignorespaces Thermistor and buzzer connection diagrams\relax }}{144}%
+\contentsline {subfigure}{\numberline {(a)}{\ignorespaces {Thermistor connection diagram}}}{144}%
+\contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Buzzer connection diagram}}}{144}%
+\contentsline {figure}{\numberline {9.3}{\ignorespaces Xcos diagram to read thermistor values}}{148}%
+\contentsline {figure}{\numberline {9.4}{\ignorespaces Output of Xcos diagram to read thermistor values}}{149}%
+\contentsline {figure}{\numberline {9.5}{\ignorespaces Xcos diagram to read the value of thermistor, which is used to turn the buzzer on or off}}{149}%
+\contentsline {figure}{\numberline {9.6}{\ignorespaces Output of Xcos diagram to switch buzzer through thermistor values}}{150}%
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {10.1}{\ignorespaces Rotating the servomotor by a fixed angle}}{165}%
+\contentsline {figure}{\numberline {10.2}{\ignorespaces Rotating the servomotor forward and then reverse}}{166}%
+\contentsline {figure}{\numberline {10.3}{\ignorespaces Rotating the servomotor in increments of $20^\circ $}}{167}%
+\contentsline {figure}{\numberline {10.4}{\ignorespaces Rotating the servomotor as suggested by the potentiometer}}{168}%
+\addvspace {10\p@ }
+\contentsline {figure}{\numberline {11.1}{\ignorespaces Block diagram representation of the Protocol\relax }}{186}%
+\contentsline {figure}{\numberline {11.2}{\ignorespaces Master-Slave Query-Response Cycle\relax }}{186}%
+\contentsline {figure}{\numberline {11.3}{\ignorespaces Pins in RS485 module\relax }}{187}%
+\contentsline {figure}{\numberline {11.4}{\ignorespaces MODBUS Set Up for Energy Meter\relax }}{191}%
+\contentsline {figure}{\numberline {11.5}{\ignorespaces Block Diagram for Energy Meter Setup\relax }}{192}%
+\contentsline {figure}{\numberline {11.6}{\ignorespaces Flowchart of Arduino firmware\relax }}{193}%
+\contentsline {figure}{\numberline {11.7}{\ignorespaces Flow Chart of the Modbus Energy Meter Implementation\relax }}{194}%
+\contentsline {figure}{\numberline {11.8}{\ignorespaces Single Phase Current Output on Scilab Console\relax }}{195}%
+\contentsline {figure}{\numberline {11.9}{\ignorespaces Single Phase Current Output on Energy Meter\relax }}{195}%
+\contentsline {figure}{\numberline {11.10}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{196}%
+\contentsline {figure}{\numberline {11.11}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{196}%
+\contentsline {figure}{\numberline {11.12}{\ignorespaces Single Phase Voltage Output on Scilab Console\relax }}{197}%
+\contentsline {figure}{\numberline {11.13}{\ignorespaces Single Phase Voltage Output on Energy Meter\relax }}{197}%
+\contentsline {figure}{\numberline {11.14}{\ignorespaces Xcos diagram to read Energy Meter values}}{198}%
diff --git a/scilab-arduino/scilab-arduino.log b/scilab-arduino/scilab-arduino.log
new file mode 100644
index 0000000..49382a3
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.log
@@ -0,0 +1,2284 @@
+This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2020.11.5) 7 MAR 2021 12:54
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**scilab-arduino.tex
+(./scilab-arduino.tex
+LaTeX2e <2020-02-02> patch level 2
+L3 programming layer <2020-02-14>
+(/usr/share/texlive/texmf-dist/tex/latex/base/book.cls
+Document Class: book 2019/12/20 v1.4l Standard LaTeX document class
+(/usr/share/texlive/texmf-dist/tex/latex/base/bk11.clo
+File: bk11.clo 2019/12/20 v1.4l Standard LaTeX file (size option)
+)
+\c@part=\count167
+\c@chapter=\count168
+\c@section=\count169
+\c@subsection=\count170
+\c@subsubsection=\count171
+\c@paragraph=\count172
+\c@subparagraph=\count173
+\c@figure=\count174
+\c@table=\count175
+\abovecaptionskip=\skip47
+\belowcaptionskip=\skip48
+\bibindent=\dimen134
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
+Package: color 2019/11/23 v1.2a Standard LaTeX Color (DPC)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/color.cfg
+File: color.cfg 2016/01/02 v1.6 sample color configuration
+)
+Package color Info: Driver file: pdftex.def on input line 147.
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics-def/pdftex.def
+File: pdftex.def 2018/01/08 v1.0l Graphics/color driver for pdftex
+))
+(/usr/share/texlive/texmf-dist/tex/latex/layouts/layouts.sty
+Package: layouts 2009/09/02 v2.6d graphical depiction of document elements
+\l@ylen=\skip49
+\layoutsbox=\box45
+\l@youtunitlength=\skip50
+\l@youtlinethick=\skip51
+\l@youtlinethickii=\skip52
+\l@ysetupparskip=\skip53
+\l@ysetupbaselineskip=\skip54
+\l@yonem=\skip55
+\l@yonex=\skip56
+\l@ylmarg=\skip57
+\l@yrmarg=\skip58
+\l@yitmindent=\skip59
+\l@ylblwidth=\skip60
+\l@ylblsep=\skip61
+\l@ylparindent=\skip62
+\l@ytsep=\skip63
+\l@ypskip=\skip64
+\l@yptsep=\skip65
+\l@ypsep=\skip66
+\l@yitmsep=\skip67
+\l@ytok=\toks14
+\l@youtpw=\count176
+\l@youtph=\count177
+\l@youthpi=\count178
+\l@youthpii=\count179
+\l@youthpiii=\count180
+\l@youthpiv=\count181
+\l@youthpv=\count182
+\l@youthpvi=\count183
+\l@youthpvii=\count184
+\l@youtparskip=\count185
+\l@youtvpi=\count186
+\l@youtvpii=\count187
+\l@youtvpiii=\count188
+\l@youtvpiv=\count189
+\l@youtvpv=\count190
+\l@youtvpvi=\count191
+\l@youtvpvii=\count192
+\l@youthdo=\count193
+\l@youthdi=\count194
+\l@youthdii=\count195
+\l@youthdiii=\count196
+\l@youthdiv=\count197
+\l@youthdv=\count198
+\l@youthdvi=\count199
+\l@youthdvii=\count266
+\l@youtvdo=\count267
+\l@youtvdi=\count268
+\l@youtvdii=\count269
+\l@youtvdiii=\count270
+\l@youtvdiv=\count271
+\l@youtvdv=\count272
+\l@youtvdvi=\count273
+\l@youtvdvii=\count274
+\l@youtvdviii=\count275
+\l@youtxci=\count276
+\l@youtxcii=\count277
+\l@youtxciii=\count278
+\l@youtxciv=\count279
+\l@youtxcv=\count280
+\l@youtxcvi=\count281
+\l@youtyci=\count282
+\l@youtycii=\count283
+\l@youtyciii=\count284
+\l@youtyciv=\count285
+\l@youtycv=\count286
+\l@youtycvi=\count287
+\l@youtycvii=\count288
+\l@youtycviii=\count289
+\l@youtxco=\count290
+\l@youtyco=\count291
+\l@ytempdima=\skip68
+\stockwidth=\skip69
+\stockheight=\skip70
+\trimedge=\skip71
+\trimtop=\skip72
+\uppermargin=\skip73
+\spinemargin=\skip74
+)
+(/usr/share/texlive/texmf-dist/tex/latex/cclicenses/cclicenses.sty
+Package: cclicenses 2005/05/20 v0.4 CC licenses typesetting
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/rotating.sty
+Package: rotating 2016/08/11 v2.16d rotated objects in LaTeX
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 2019/11/30 v1.2a Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 2014/10/28 v1.15 key=value parser (DPC)
+\KV@toks@=\toks15
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2019/11/30 v1.4a Standard LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 2016/01/03 v1.10 sin cos tan (DPC)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
+)
+Package graphics Info: Driver file: pdftex.def on input line 105.
+)
+\Gin@req@height=\dimen135
+\Gin@req@width=\dimen136
+)
+(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
+Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC)
+)
+\c@r@tfl@t=\count292
+\rotFPtop=\skip75
+\rotFPbot=\skip76
+\rot@float@box=\box46
+\rot@mess@toks=\toks16
+)
+\chardim=\dimen137
+\hdim=\dimen138
+\htmp=\dimen139
+\hpos=\count293
+\vpos=\count294
+)
+(/usr/share/texlive/texmf-dist/tex/latex/morefloats/morefloats.sty
+Package: morefloats 2015/07/22 v1.0h Raise limit of unprocessed floats (HMM)
+
+(/usr/share/texlive/texmf-dist/tex/latex/kvoptions/kvoptions.sty
+Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO)
+
+(/usr/share/texlive/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
+Package: ltxcmds 2019/12/15 v1.24 LaTeX kernel commands for general use (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/generic/kvsetkeys/kvsetkeys.sty
+Package: kvsetkeys 2019/12/15 v1.18 Key value parser (HO)
+))
+Package morefloats Info: Maximum number of possible floats asked for: 36
+(morefloats) (i.e. 18 more floats).
+(morefloats) LaTeX might run out of memory before this
+(morefloats) (in which case it will notify you).
+)
+(/usr/share/texlive/texmf-dist/tex/latex/paralist/paralist.sty
+Package: paralist 2017/01/22 v2.7 Extended list environments
+\pltopsep=\skip77
+\plpartopsep=\skip78
+\plitemsep=\skip79
+\plparsep=\skip80
+\pl@lab=\toks17
+)
+(/usr/share/texlive/texmf-dist/tex/latex/chngcntr/chngcntr.sty
+Package: chngcntr 2018/04/09 v1.1a change counter resetting
+Package chngcntr Info: \counterwithout already defined.
+(chngcntr) Quitting chngcntr on input line 21.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty
+Package: fancyhdr 2019/01/31 v3.10 Extensive control of page headers and footer
+s
+\f@nch@headwidth=\skip81
+\f@nch@O@elh=\skip82
+\f@nch@O@erh=\skip83
+\f@nch@O@olh=\skip84
+\f@nch@O@orh=\skip85
+\f@nch@O@elf=\skip86
+\f@nch@O@erf=\skip87
+\f@nch@O@olf=\skip88
+\f@nch@O@orf=\skip89
+)
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2020/01/20 v2.17e AMS math features
+\@mathmargin=\skip90
+
+For additional information on amsmath, use the `?' option.
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
+Package: amstext 2000/06/29 v2.01 AMS text
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
+File: amsgen.sty 1999/11/30 v2.0 generic functions
+\@emptytoks=\toks18
+\ex@=\dimen140
+))
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d Bold Symbols
+\pmbraise@=\dimen141
+)
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
+Package: amsopn 2016/03/08 v2.02 operator names
+)
+\inf@bad=\count295
+LaTeX Info: Redefining \frac on input line 227.
+\uproot@=\count296
+\leftroot@=\count297
+LaTeX Info: Redefining \overline on input line 389.
+\classnum@=\count298
+\DOTSCASE@=\count299
+LaTeX Info: Redefining \ldots on input line 486.
+LaTeX Info: Redefining \dots on input line 489.
+LaTeX Info: Redefining \cdots on input line 610.
+\Mathstrutbox@=\box47
+\strutbox@=\box48
+\big@size=\dimen142
+LaTeX Font Info: Redeclaring font encoding OML on input line 733.
+LaTeX Font Info: Redeclaring font encoding OMS on input line 734.
+\macc@depth=\count300
+\c@MaxMatrixCols=\count301
+\dotsspace@=\muskip16
+\c@parentequation=\count302
+\dspbrk@lvl=\count303
+\tag@help=\toks19
+\row@=\count304
+\column@=\count305
+\maxfields@=\count306
+\andhelp@=\toks20
+\eqnshift@=\dimen143
+\alignsep@=\dimen144
+\tagshift@=\dimen145
+\tagwidth@=\dimen146
+\totwidth@=\dimen147
+\lineht@=\dimen148
+\@envbody=\toks21
+\multlinegap=\skip91
+\multlinetaggap=\skip92
+\mathdisplay@stack=\toks22
+LaTeX Info: Redefining \[ on input line 2859.
+LaTeX Info: Redefining \] on input line 2860.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty
+Package: makeidx 2014/09/29 v1.0m Standard LaTeX package
+)
+(/usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty
+Package: fancybox 2010/05/15 1.4
+
+Style option: `fancybox' v1.4 <2010/05/15> (tvz)
+\@fancybox=\box49
+\shadowsize=\dimen149
+\@Sbox=\box50
+\do@VerbBox=\toks23
+\the@fancyput=\toks24
+\this@fancyput=\toks25
+\EndVerbatimTokens=\toks26
+\Verbatim@Outfile=\write3
+\Verbatim@Infile=\read2
+) (/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+\Urlmuskip=\muskip17
+Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/cite/cite.sty
+LaTeX Info: Redefining \cite on input line 302.
+LaTeX Info: Redefining \nocite on input line 332.
+Package: cite 2015/02/27 v 5.5
+)
+(/usr/share/texlive/texmf-dist/tex/latex/subfig/subfig.sty
+Package: subfig 2005/06/28 ver: 1.3 subfig package
+
+(/usr/share/texlive/texmf-dist/tex/latex/caption/caption.sty
+Package: caption 2020/01/03 v3.4h Customizing captions (AR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/caption/caption3.sty
+Package: caption3 2020/01/03 v1.8h caption3 kernel (AR)
+Package caption3 Info: TeX engine: e-TeX on input line 61.
+\captionmargin=\dimen150
+\captionmargin@=\dimen151
+\captionwidth=\dimen152
+\caption@tempdima=\dimen153
+\caption@indent=\dimen154
+\caption@parindent=\dimen155
+\caption@hangindent=\dimen156
+Package caption Info: Standard document class detected.
+)
+\c@caption@flags=\count307
+\c@continuedfloat=\count308
+Package caption Info: rotating package is loaded.
+)
+\c@KVtest=\count309
+\sf@farskip=\skip93
+\sf@captopadj=\dimen157
+\sf@capskip=\skip94
+\sf@nearskip=\skip95
+\c@subfigure=\count310
+\c@subfigure@save=\count311
+\c@lofdepth=\count312
+\c@subtable=\count313
+\c@subtable@save=\count314
+\c@lotdepth=\count315
+\sf@top=\skip96
+\sf@bottom=\skip97
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
+\lst@mode=\count316
+\lst@gtempboxa=\box51
+\lst@token=\toks27
+\lst@length=\count317
+\lst@currlwidth=\dimen158
+\lst@column=\count318
+\lst@pos=\count319
+\lst@lostspace=\dimen159
+\lst@width=\dimen160
+\lst@newlines=\count320
+\lst@lineno=\count321
+\lst@maxwidth=\dimen161
+
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 2019/09/10 1.8c (Carsten Heinz)
+\c@lstnumber=\count322
+\lst@skipnumbers=\count323
+\lst@framebox=\box52
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
+File: listings.cfg 2019/09/10 1.8c listings configuration
+))
+Package: listings 2019/09/10 1.8c (Carsten Heinz)
+
+(/usr/share/texlive/texmf-dist/tex/latex/tools/varioref.sty
+Package: varioref 2020/01/23 v1.6c package for extended references (FMi)
+\c@vrcnt=\count324
+)
+(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
+Package: fontenc 2020/02/11 v2.0o Standard LaTeX package
+)
+(/usr/share/texlive/texmf-dist/tex/latex/bera/beramono.sty
+Package: beramono 2004/01/31 (WaS)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/seqsplit/seqsplit.sty
+Package: seqsplit 2006/08/07 v0.1 Splitting long sequences (DNA, RNA, proteins,
+ etc.)
+)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/suppl/styles.tex
+(/usr/share/texlive/texmf-dist/tex/latex/ntheorem/ntheorem.sty
+Style `ntheorem', Version 1.33 <2011/08/15>
+Package: ntheorem 2011/08/15 1.33
+\theorem@style=\toks28
+\theorem@@style=\toks29
+\theorembodyfont=\toks30
+\theoremnumbering=\toks31
+\theorempreskipamount=\skip98
+\theorempostskipamount=\skip99
+\theoremframepreskipamount=\skip100
+\theoremframepostskipamount=\skip101
+\theoreminframepreskipamount=\skip102
+\theoreminframepostskipamount=\skip103
+\theorem@preskip=\toks32
+\theorem@postskip=\toks33
+\theorem@framepreskip=\toks34
+\theorem@framepostskip=\toks35
+\theorem@inframepreskip=\toks36
+\theorem@inframepostskip=\toks37
+\theoremindent=\dimen162
+\theorem@indent=\dimen163
+\theoremrightindent=\dimen164
+\theorem@rightindent=\dimen165
+\theoremheaderfont=\toks38
+\theoremseparator=\toks39
+\theoremprework=\toks40
+\theorempostwork=\toks41
+\theoremsymbol=\toks42
+\qedsymbol=\toks43
+\theoremkeyword=\toks44
+\qedsymbol=\toks45
+\thm@topsep=\skip104
+\thm@topsepadd=\skip105
+)
+\c@codemass=\count325
+\c@ardmass=\count326
+\c@pymass=\count327
+\c@juliamass=\count328
+\c@OpenModelicamass=\count329
+ (/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2019/09/10 1.8c listings language file
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2019/09/10 1.8c listings language file
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 2019/09/10 1.8c (Carsten Heinz)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/tools/theorem.sty)
+\c@egmass=\count330
+)
+\@indexfile=\write4
+\openout4 = `scilab-arduino.idx'.
+
+
+Writing index file scilab-arduino.idx
+(/usr/share/texlive/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
+File: l3backend-pdfmode.def 2020-02-03 L3 backend support: PDF mode
+\l__kernel_color_stack_int=\count331
+\l__pdf_internal_box=\box53
+)
+(./scilab-arduino.aux
+
+LaTeX Warning: Label `sec:led-OpenModelica-code' multiply defined.
+
+
+LaTeX Warning: Label `tab:ldr-led' multiply defined.
+
+
+LaTeX Warning: Label `sci:servo-loop' multiply defined.
+
+
+LaTeX Warning: Label `sci:current-modbus' multiply defined.
+
+)
+\openout1 = `scilab-arduino.aux'.
+
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 94.
+LaTeX Font Info: ... okay on input line 94.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 94.
+LaTeX Font Info: ... okay on input line 94.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 94.
+LaTeX Font Info: ... okay on input line 94.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 94.
+LaTeX Font Info: ... okay on input line 94.
+LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 94.
+LaTeX Font Info: ... okay on input line 94.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 94.
+LaTeX Font Info: ... okay on input line 94.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 94.
+LaTeX Font Info: ... okay on input line 94.
+ (/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
+[Loading MPS to PDF converter (version 2006.09.02).]
+\scratchcounter=\count332
+\scratchdimen=\dimen166
+\scratchbox=\box54
+\nofMPsegments=\count333
+\nofMParguments=\count334
+\everyMPshowfont=\toks46
+\MPscratchCnt=\count335
+\MPscratchDim=\dimen167
+\MPnumerator=\count336
+\makeMPintoPDFobject=\count337
+\everyMPtoPDFconversion=\toks47
+) (/usr/share/texlive/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
+Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf
+Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
+85.
+
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
+e
+))
+
+Package layouts Warning: Layout scale set to 0.5 on input line 94.
+
+Package caption Info: Begin \AtBeginDocument code.
+Package caption Info: subfig package v1.3 is loaded.
+Package caption Info: listings package is loaded.
+Package caption Info: End \AtBeginDocument code.
+\c@lstlisting=\count338
+(./scilab-arduino.toc
+Overfull \hbox (60.41727pt too wide) detected at line 1
+\T1/cmr/bx/n/10.95 List of Figures
+ []
+
+
+Overfull \hbox (54.91568pt too wide) detected at line 2
+\T1/cmr/bx/n/10.95 List of Tables
+ []
+
+
+Overfull \hbox (99.11014pt too wide) detected at line 3
+\T1/cmr/bx/n/10.95 List of Arduino Code
+ []
+
+
+Overfull \hbox (257.72578pt too wide) detected at line 4
+\T1/cmr/bx/n/10.95 List of Scilab, Python, Julia & OpenModelica Code
+ []
+
+
+Overfull \hbox (74.6947pt too wide) detected at line 6
+\T1/cmr/bx/n/10.95 List of Acronyms
+ []
+
+[1
+
+
+
+{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] [2] [3] [4]
+Overfull \hbox (42.2769pt too wide) detected at line 164
+\T1/cmr/bx/n/10.95 References
+ []
+
+)
+\tf@toc=\write5
+\openout5 = `scilab-arduino.toc'.
+
+ [5] [6
+
+] (./scilab-arduino.lof [7]
+Overfull \hbox (4.98741pt too wide) in paragraph at lines 72--72
+ [][] []\T1/cmr/m/n/10.95 Turning LEDs on through Xcos de-pend-ing on the po-te
+n-tiome-ter thresh-
+ []
+
+[8])
+\tf@lof=\write6
+\openout6 = `scilab-arduino.lof'.
+
+ [9] [10
+
+] (./scilab-arduino.lot [11])
+\tf@lot=\write7
+\openout7 = `scilab-arduino.lot'.
+
+ [12] (./scilab-arduino.ard)
+\tf@ard=\write8
+\openout8 = `scilab-arduino.ard'.
+
+ [13
+
+]
+[14
+
+] (./scilab-arduino.cod [15] [16] [17])
+\tf@cod=\write9
+\openout9 = `scilab-arduino.cod'.
+
+ (./suppl/acr.tex [18])
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [19
+
+]
+[20] (./suppl/intro.tex
+Chapter 1.
+
+LaTeX Warning: Command \textregistered invalid in math mode on input line 22.
+
+
+LaTeX Warning: Command \textregistered invalid in math mode on input line 22.
+
+Missing character: There is no ® in font cmr8!
+
+LaTeX Warning: Command \textregistered invalid in math mode on input line 23.
+
+
+LaTeX Warning: Command \textregistered invalid in math mode on input line 23.
+
+Missing character: There is no ® in font cmr6!
+[1
+
+
+]
+LaTeX Font Info: Trying to load font information for T1+fvm on input line 59
+.
+ (/usr/share/texlive/texmf-dist/tex/latex/bera/t1fvm.fd
+File: t1fvm.fd 2004/09/07 scalable font definitions for T1/fvm.
+))
+(./user-code/hw-env/hw-env.tex [2]
+Chapter 2.
+[3
+
+]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/miccontblk.png, id=88, 419.6478pt x 413.3844pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/miccontblk.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/miccontblk.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/miccontblk.png used on input line 50.
+(pdftex.def) Requested size: 258.36281pt x 254.51689pt.
+ [4 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/miccontblk.png>] [5]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/resolution.png, id=98, 207.77625pt x 330.23375pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/resolution.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/resolution.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/resolution.png used on input line 127.
+(pdftex.def) Requested size: 119.2467pt x 189.52515pt.
+ [6 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/resolution.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/OSHW-138px.png, id=103, 138.5175pt x 145.54375pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/OSHW-138px.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/OSHW-138px.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/OSHW-138px.png used on input line 182.
+(pdftex.def) Requested size: 72.26999pt x 75.93634pt.
+ [7 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/OSHW-138px.png>] [8]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/arduino.png, id=112, 585.18625pt x 221.82875pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/arduino.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/arduino.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/arduino.png used on input line 254.
+(pdftex.def) Requested size: 357.73405pt x 135.61319pt.
+
+Overfull \hbox (7.40561pt too wide) in paragraph at lines 261--281
+ []
+ []
+
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/mega.jpg, id=113, 481.8pt x 316.7835pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/mega.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/mega.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/mega.jpg used on input line 295.
+(pdftex.def) Requested size: 258.36281pt x 169.87627pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/lily.jpg, id=114, 321.2pt x 321.2pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/lily.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/lily.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/lily.jpg used on input line 306.
+(pdftex.def) Requested size: 178.86702pt x 178.87094pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/arduino-phone.jpg, id=115, 230.15924pt x 153.5162pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/arduino-phone.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/arduino-phone.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/arduino-phone.jpg used on input line 325.
+(pdftex.def) Requested size: 178.86702pt x 119.30411pt.
+[9 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/f
+igures/arduino.png>]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [10 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/mega.jpg>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/arduino-3d-printer.jpg, id=122, 770.88pt x 364.36125pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/arduino-3d-printer.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/arduino-3d-printer.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/arduino-3d-printer.jpg used on input line 339.
+(pdftex.def) Requested size: 178.86702pt x 84.54076pt.
+ [11 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/lily.jpg> </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/us
+er-code/hw-env/figures/arduino-phone.jpg>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/pcb_boar
+d_V1p2.png, id=127, 405.76593pt x 347.79938pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/pcb
+_board_V1p2.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/pcb_
+board_V1p2.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/tools/shield/pcb_board_V1p2.png used on input line 371.
+(pdftex.def) Requested size: 178.86702pt x 153.31877pt.
+
+Underfull \hbox (badness 1755) in paragraph at lines 373--373
+[]\T1/cmr/m/n/10.95 Figure 2.9: |PCB im-age of the shield. The PCB file can be
+found at
+ []
+
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shield-V
+1p2.png, id=128, 453.94594pt x 320.69812pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shi
+eld-V1p2.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shie
+ld-V1p2.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/tools/shield/shield-V1p2.png used on input line 381.
+(pdftex.def) Requested size: 397.48499pt x 280.81079pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shield-V
+1p2.jpg, id=129, 494.59781pt x 376.40625pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shi
+eld-V1p2.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/shie
+ld-V1p2.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/tools/shield/shield-V1p2.jpg used on input line 392.
+(pdftex.def) Requested size: 238.49341pt x 181.5pt.
+
+Underfull \hbox (badness 2689) in paragraph at lines 396--396
+[]\T1/cmr/m/n/10.95 Figure 2.11: |PCB of the shield. The ac-tual im-age can be
+found at
+ []
+
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/shield-crop.jpg, id=130, 608.2725pt x 443.6575pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/shield-crop.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/shield-crop.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/shield-crop.jpg used on input line 460.
+(pdftex.def) Requested size: 397.48499pt x 289.9242pt.
+[12 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/arduino-3d-printer.jpg>]) (./user-code/sw-env/sw-env.tex [13 </home/fos
+see/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/pcb_board_V1p2.png
+>] [14 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/shield/s
+hield-V1p2.png>] [15 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/
+tools/shield/shield-V1p2.jpg> </home/fossee/Desktop/scilab-arduino-final/scilab
+-arduino/user-code/hw-env/figures/shield-crop.jpg>] [16]
+Chapter 3.
+[17
+
+]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/hw-device-manager.jpg, id=152, 793.96625pt x 579.16376pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/hw-device-manager.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/hw-device-manager.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/hw-device-manager.jpg used on input line 103.
+(pdftex.def) Requested size: 397.48499pt x 289.95233pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/update-driver.png, id=153, 635.37375pt x 423.5825pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/update-driver.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/update-driver.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/update-driver.png used on input line 110.
+(pdftex.def) Requested size: 397.48499pt x 264.99695pt.
+ [18] [19 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/h
+w-env/figures/hw-device-manager.jpg>] [20 </home/fossee/Desktop/scilab-arduino-
+final/scilab-arduino/user-code/hw-env/figures/update-driver.png (PNG copy)>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/run.png, id=164, 545.03625pt x 155.58125pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/run.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/run.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/run.png used on input line 181.
+(pdftex.def) Requested size: 272.51746pt x 77.79042pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/figu
+res/arduino-ide.jpg, id=165, 856.19875pt x 657.45625pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/arduino-ide.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env/
+figures/arduino-ide.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/hw-env/figures/arduino-ide.jpg used on input line 198.
+(pdftex.def) Requested size: 397.48499pt x 305.22243pt.
+ [21 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/hw-env
+/figures/run.png>] [22 </home/fossee/Desktop/scilab-arduino-final/scilab-arduin
+o/user-code/hw-env/figures/arduino-ide.jpg>] [23] [24]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/linux-cd.png, id=180, 787.94376pt x 192.72pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/linux-cd.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/linux-cd.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/linux-cd.png used on input line 391.
+(pdftex.def) Requested size: 393.97092pt x 96.35976pt.
+ [25 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/linux-cd.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/change-directory.png, id=185, 602.25pt x 451.6875pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/change-directory.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/change-directory.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/change-directory.png used on input line 422.
+(pdftex.def) Requested size: 397.48499pt x 298.12845pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/browse-directory.png, id=186, 450.18187pt x 327.47343pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/browse-directory.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/browse-directory.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/browse-directory.png used on input line 432.
+(pdftex.def) Requested size: 357.73405pt x 260.23521pt.
+
+[26 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/change-directory.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/builder.png, id=190, 600.74437pt x 421.575pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/builder.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/builder.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/builder.png used on input line 448.
+(pdftex.def) Requested size: 397.48499pt x 278.94795pt.
+
+Overfull \hbox (1.53204pt too wide) in paragraph at lines 442--452
+[]\T1/cmr/m/n/10.95 Next, type the fol-low-ing com-mand on the Scilab con-sole:
+ \T1/fvm/m/n/10.95 exec builder.sce
+ []
+
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/loader.png, id=191, 600.74437pt x 421.575pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/loader.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/loader.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/loader.png used on input line 464.
+(pdftex.def) Requested size: 300.37144pt x 210.78697pt.
+[27 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/browse-directory.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/device-manager.png, id=195, 602.25pt x 451.6875pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/device-manager.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/device-manager.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/device-manager.png used on input line 492.
+(pdftex.def) Requested size: 397.48499pt x 298.12845pt.
+ [28 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/builder.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/com-properties.png, id=199, 602.25pt x 451.6875pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/com-properties.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/com-properties.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/com-properties.png used on input line 513.
+(pdftex.def) Requested size: 301.12425pt x 225.84319pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/linux-port.png, id=200, 634.37pt x 246.9225pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/linux-port.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/linux-port.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/linux-port.png used on input line 537.
+(pdftex.def) Requested size: 317.18422pt x 123.46094pt.
+ [29 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/loader.png>]
+[30 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/device-manager.png>] [31 </home/fossee/Desktop/scilab-arduino-final/sci
+lab-arduino/user-code/sw-env/figures/com-properties.png> </home/fossee/Desktop/
+scilab-arduino-final/scilab-arduino/user-code/sw-env/figures/linux-port.png>]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/test_firmware.s
+ce)
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/test-console.png, id=213, 600.74437pt x 421.575pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/test-console.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/test-console.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/test-console.png used on input line 588.
+(pdftex.def) Requested size: 300.37144pt x 210.78697pt.
+ [32 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/test-console.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/table_functions_crop.pdf, id=217, 1055.945pt x 543.02875pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/table_functions_crop.pdf Graphic file (type pdf)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/table_functions_crop.pdf>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/table_functions_crop.pdf used on input line 613.
+(pdftex.def) Requested size: 397.48499pt x 204.40587pt.
+ [33 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/table_functions_crop.pdf>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/sine-blk.png, id=227, 376.40625pt x 376.40625pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/sine-blk.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/sine-blk.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/sine-blk.png used on input line 646.
+(pdftex.def) Requested size: 357.73405pt x 357.76195pt.
+ [34 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/sine-blk.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/plot-blk.png, id=231, 310.15875pt x 109.1578pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/plot-blk.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/plot-blk.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/plot-blk.png used on input line 698.
+(pdftex.def) Requested size: 357.73405pt x 125.90192pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/clock-blk.png, id=232, 307.90031pt x 108.405pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/clock-blk.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/clock-blk.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/clock-blk.png used on input line 712.
+(pdftex.def) Requested size: 357.73405pt x 125.95995pt.
+ [35 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/plot-blk.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/sine-gen.png, id=237, 207.77625pt x 253.69781pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/sine-gen.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/sine-gen.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/sine-gen.png used on input line 733.
+(pdftex.def) Requested size: 178.86702pt x 218.40813pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/sine-output.png, id=238, 383.18156pt x 184.43906pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/sine-output.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/sine-output.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/sine-output.png used on input line 744.
+(pdftex.def) Requested size: 258.36281pt x 124.36716pt.
+ [36 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/clock-blk.png> </home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/sine-gen.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/cscope-config.png, id=242, 310.15875pt x 289.08pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/cscope-config.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/cscope-config.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/cscope-config.png used on input line 758.
+(pdftex.def) Requested size: 258.36281pt x 240.8053pt.
+
+Overfull \hbox (0.16797pt too wide) in paragraph at lines 763--772
+\T1/fvm/m/n/10.95 Set Parameters \T1/cmr/m/n/10.95 win-dow will open. The first
+ pa-ram-e-ter is \T1/fvm/m/n/10.95 Final integration
+ []
+
+[37 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/sine-output.png> </home/fossee/Desktop/scilab-arduino-final/scilab-ardu
+ino/user-code/sw-env/figures/cscope-config.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/sim-setup.png, id=246, 333.49594pt x 225.84375pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/sim-setup.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/sim-setup.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/sim-setup.png used on input line 775.
+(pdftex.def) Requested size: 258.36281pt x 174.97539pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/arduino-palette.png, id=247, 292.84406pt x 107.65219pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/arduino-palette.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/arduino-palette.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/arduino-palette.png used on input line 806.
+(pdftex.def) Requested size: 258.36281pt x 94.98553pt.
+ [38 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/sim-setup.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/xcos-help.png, id=251, 617.30624pt x 466.74374pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/xcos-help.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/xcos-help.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/xcos-help.png used on input line 813.
+(pdftex.def) Requested size: 258.36281pt x 195.35445pt.
+
+[39 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/arduino-palette.png> </home/fossee/Desktop/scilab-arduino-final/scilab-
+arduino/user-code/sw-env/figures/xcos-help.png>]
+Underfull \hbox (badness 10000) in paragraph at lines 896--900
+
+ []
+
+[40]
+Overfull \hbox (67.80368pt too wide) in paragraph at lines 908--910
+[]\T1/cmr/m/n/10.95 Open Git Bash, in the prompt type: git con-fig --global url
+.https://github.com/.insteadOf
+ []
+
+
+Overfull \hbox (26.56657pt too wide) in paragraph at lines 922--925
+[]\T1/cmr/m/n/10.95 Juno could not be found So-lu-tion: Open Atom>File>Settings
+>Packages>julia-
+ []
+
+
+Overfull \hbox (8.66742pt too wide) in paragraph at lines 922--925
+\T1/cmr/m/n/10.95 client:Settings>Julia path Change the path to $\OMS/cmsy/m/n/
+10.95 n$\T1/cmr/m/n/10.95 ....$\OMS/cmsy/m/n/10.95 n$\T1/cmr/m/n/10.95 Julia-0.
+4.5$\OMS/cmsy/m/n/10.95 n$\T1/cmr/m/n/10.95 bin$\OMS/cmsy/m/n/10.95 n$\T1/cmr/m
+/n/10.95 julia.exe
+ []
+
+
+Overfull \hbox (17.10689pt too wide) in paragraph at lines 937--942
+\T1/cmr/m/n/10.95 ver-sion. Sol: In Ju-lia ter-mi-nal, type: ju-lia> ENV["PYTHO
+N"]="";Pkg.build
+ []
+
+[41]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/julia-terminal.png, id=263, 725.71124pt x 469.755pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/julia-terminal.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/julia-terminal.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/julia-terminal.png used on input line 980.
+(pdftex.def) Requested size: 362.85474pt x 234.87692pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/figu
+res/atom-lunch.png, id=264, 1857.94125pt x 1058.95625pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env
+/figures/atom-lunch.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/atom-lunch.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/sw-env/figures/atom-lunch.png used on input line 999.
+(pdftex.def) Requested size: 371.58167pt x 211.78749pt.
+ [42]
+
+LaTeX Warning: Text page 43 contains only floats.
+
+[43 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/sw-env/
+figures/julia-terminal.png (PNG copy)> </home/fossee/Desktop/scilab-arduino-fin
+al/scilab-arduino/user-code/sw-env/figures/atom-lunch.png (PNG copy)>]
+Overfull \hbox (5.509pt too wide) in paragraph at lines 1015--1016
+\T1/cmr/m/n/10.95 i-nally de-vel-oped by Steve Kelly (sjkelly) - https://github
+.com/sjkelly/SerialPorts.jl.git
+ []
+
+[44]
+Overfull \hbox (14.89163pt too wide) in paragraph at lines 1063--1065
+[]\T1/cmr/m/n/10.95 open(ser::SerialPort) and close(ser::SerialPort) - To open
+and close a pre-initialized
+ []
+
+
+Overfull \hbox (29.76828pt too wide) in paragraph at lines 1076--1081
+\T1/cmr/m/n/10.95 lan-guage for sim-u-lat-ing, op-ti-miz-ing and an-a-lyz-ing c
+om-plex dy-namic sys-tems.OpenModelica
+ []
+
+
+Overfull \hbox (20.02684pt too wide) in paragraph at lines 1090--1099
+[]\T1/cmr/m/n/10.95 $ for deb in deb deb-src; do echo "$\OML/cmm/m/it/10.95 deb
+http \OT1/cmr/m/n/10.95 : \OML/cmm/m/it/10.95 ==build:openmodelica:org=apt$\T1/
+cmr/m/n/10.95 'lsb_release
+ []
+
+[45]
+Overfull \hbox (8.20625pt too wide) in paragraph at lines 1126--1128
+\T1/cmr/m/n/10.95 Model and browse to Ar-duino.mo in the OpenModelica-Arduino-W
+indows/Linux
+ []
+
+[46]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/arduino-firmwar
+e/arduino-firmware.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/test_firmware.s
+ce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/
+led-blue.py [47])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/t
+est_firmware.jl) [48]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenMod
+elica/test_firmware.mo)) (./user-code/led/led.tex [49] [50
+
+]
+Chapter 4.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures
+/led.png, id=295, 149.8097pt x 84.315pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fi
+gures/led.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/led.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/led/figures/led.png used on input line 51.
+(pdftex.def) Requested size: 79.49577pt x 44.74203pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures
+/schematic.png, id=296, 415.5525pt x 456.70625pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fi
+gures/schematic.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/schematic.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/led/figures/schematic.png used on input line 64.
+(pdftex.def) Requested size: 178.86702pt x 196.58194pt.
+[51 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/led.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures
+/arduino-shield.JPG, id=301, 951.48618pt x 713.61462pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fi
+gures/arduino-shield.JPG Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/arduino-shield.JPG>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/led/figures/arduino-shield.JPG used on input line 78.
+(pdftex.def) Requested size: 178.86702pt x 134.15085pt.
+ [52 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fi
+gures/schematic.png> </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/
+user-code/led/figures/arduino-shield.JPG>]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino
+/led-blue/led-blue.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino
+/led-blue/led-blue.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino
+/led-blue-delay/led-blue-delay.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino
+/led-blue-delay/led-blue-delay.ino) [53]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures
+/led_output.png, id=310, 3035.34pt x 1947.275pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fi
+gures/led_output.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/led_output.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/led/figures/led_output.png used on input line 165.
+(pdftex.def) Requested size: 357.73405pt x 229.47339pt.
+LaTeX Font Info: Trying to load font information for T1+cmss on input line 1
+77.
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/t1cmss.fd
+File: t1cmss.fd 2019/12/16 v2.5j Standard LaTeX font definitions
+) [54]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/
+led-blue.sce) [55 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/use
+r-code/led/figures/led_output.png>]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/
+led-blue.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/
+led-blue.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/
+led-blue-delay.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/
+led-blue-delay.sce) [56]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures
+/led-blue.png, id=322, 233.37187pt x 252.19218pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fi
+gures/led-blue.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/led-blue.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/led/figures/led-blue.png used on input line 285.
+(pdftex.def) Requested size: 178.86702pt x 193.29965pt.
+
+Overfull \hbox (4.77844pt too wide) in paragraph at lines 301--310
+ [][]
+ []
+
+[57 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/led-blue.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures
+/led-blue-delay.png, id=327, 226.59656pt x 243.91125pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fi
+gures/led-blue-delay.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/led-blue-delay.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/led/figures/led-blue-delay.png used on input line 320.
+(pdftex.def) Requested size: 178.86702pt x 192.53517pt.
+
+Overfull \hbox (4.77844pt too wide) in paragraph at lines 335--347
+ [][]
+ []
+
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures
+/led-blue-red.png, id=328, 245.41687pt x 339.51843pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fi
+gures/led-blue-red.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/led-blue-red.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/led/figures/led-blue-red.png used on input line 358.
+(pdftex.def) Requested size: 178.86702pt x 247.45784pt.
+[58 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/led-blue-delay.png>]
+Overfull \hbox (13.85292pt too wide) in paragraph at lines 374--391
+ [][]
+ []
+
+[59 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/led-blue-red.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/figures
+/led-green-blink.png, id=339, 246.9225pt x 251.43938pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fi
+gures/led-green-blink.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/fig
+ures/led-green-blink.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/led/figures/led-green-blink.png used on input line 401.
+(pdftex.def) Requested size: 178.86702pt x 182.13731pt.
+
+Overfull \hbox (4.77844pt too wide) in paragraph at lines 416--429
+ [][]
+ []
+
+[60] [61 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/le
+d/figures/led-green-blink.png>]
+Underfull \hbox (badness 10000) in paragraph at lines 506--510
+
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 511--512
+
+ []
+
+[62]
+Underfull \hbox (badness 10000) in paragraph at lines 525--528
+
+ []
+
+[63] [64] [65]
+Overfull \hbox (2.4842pt too wide) in paragraph at lines 662--663
+[]\T1/cmr/m/n/10.95 sComm.close_serial(1) : This closes the pre-de-fined se-ria
+l port which is presently
+ []
+
+[66]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino
+/led-blue/led-blue.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino
+/led-blue-delay/led-blue-delay.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino
+/led-blue-red/led-blue-red.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/arduino
+/led-blink/led-blink.ino [67
+
+])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/
+led-blue.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/
+led-blue-delay.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/
+led-blue-red.sce [68])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/scilab/
+led-green-blink.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/
+led-blue.py [69])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/
+led-blue-delay.py [70])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/
+led-blue-red.py [71])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/python/
+led-green-blink.py) [72]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/l
+ed-blue.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/l
+ed-blue-delay.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/l
+ed-blue-red.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/julia/l
+ed-green-blink.jl [73])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenMod
+elica/led-blue.mo)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenMod
+elica/led-blue-delay.mo [74])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenMod
+elica/led-blue-red.mo [75])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/led/OpenMod
+elica/led-green-blink.mo [76])) (./user-code/push/push.tex [77] [78
+
+]
+Chapter 5.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/figure
+s/pushbutton-conn.png, id=403, 415.5525pt x 438.63875pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/f
+igures/pushbutton-conn.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/fi
+gures/pushbutton-conn.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/push/figures/pushbutton-conn.png used on input line 63.
+(pdftex.def) Requested size: 178.86702pt x 188.80507pt.
+[79]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/arduin
+o/push-button-status/push-button-status.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/arduin
+o/push-button-status/push-button-status.ino) [80 </home/fossee/Desktop/scilab-a
+rduino-final/scilab-arduino/user-code/push/figures/pushbutton-conn.png>]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/arduin
+o/led-push-button/led-push-button.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/scilab
+/push-button-status.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/scilab
+/push-button-status.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/scilab
+/led-push-button.sce) [81]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/figure
+s/push-button-status.PNG, id=414, 264.99pt x 268.00125pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/f
+igures/push-button-status.PNG Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/fi
+gures/push-button-status.PNG>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/push/figures/push-button-status.PNG used on input line 161.
+(pdftex.def) Requested size: 178.86702pt x 180.9012pt.
+
+Overfull \hbox (3.33746pt too wide) in paragraph at lines 179--189
+ [][]
+ []
+
+[82 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/fi
+gures/push-button-status.PNG>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/figure
+s/led-push-button.PNG, id=419, 298.86656pt x 264.99pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/f
+igures/led-push-button.PNG Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/fi
+gures/led-push-button.PNG>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/push/figures/led-push-button.PNG used on input line 204.
+(pdftex.def) Requested size: 178.86702pt x 158.59492pt.
+
+Overfull \hbox (4.77844pt too wide) in paragraph at lines 221--232
+ [][]
+ []
+
+[83 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/fi
+gures/led-push-button.PNG>]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/python
+/push-button-status.py)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/python
+/push-button-status.py) [84]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/python
+/led-push-button.py)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/julia/
+push-button-status.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/julia/
+led-push-button.jl) [85]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/OpenMo
+delica/push-button-status.mo)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/arduin
+o/push-button-status/push-button-status.ino)
+Overfull \hbox (0.16989pt too wide) in paragraph at lines 353--356
+[]\T1/cmr/m/n/10.95 Turning the LED on or off de-pend-ing on the push-but-ton.
+Avail-
+ []
+
+
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/arduin
+o/led-push-button/led-push-button.ino [86])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/scilab
+/push-button-status.sce)
+Overfull \hbox (0.145pt too wide) in paragraph at lines 376--379
+\T1/cmr/m/n/10.95 able at \T1/fvm/m/n/10.95 O r i g i n / u s e r - c o d e / p
+ u s h / s c i l a b / l e d - p u s h - b u t t o n . s c e\T1/cmr/m/n/10.95 ,
+ see Foot-
+ []
+
+
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/scilab
+/led-push-button.sce) [87]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/python
+/push-button-status.py)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/python
+/led-push-button.py [88]) [89]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/julia/
+push-button-status.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/julia/
+led-push-button.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/OpenMo
+delica/push-button-status.mo [90])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/OpenMo
+delica/led-push-button.mo [91])) (./user-code/ldr/ldr.tex [92]
+Chapter 6.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/figures
+/ldr.jpg, id=453, 106.89937pt x 94.85437pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fi
+gures/ldr.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fig
+ures/ldr.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/ldr/figures/ldr.jpg used on input line 62.
+(pdftex.def) Requested size: 178.86702pt x 158.72462pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/figures
+/ldr_sym.png, id=454, 1009.52156pt x 741.52031pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fi
+gures/ldr_sym.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fig
+ures/ldr_sym.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/ldr/figures/ldr_sym.png used on input line 65.
+(pdftex.def) Requested size: 178.86702pt x 131.37468pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/figures
+/ldr-conn.png, id=455, 415.5525pt x 450.68375pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fi
+gures/ldr-conn.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fig
+ures/ldr-conn.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/ldr/figures/ldr-conn.png used on input line 71.
+(pdftex.def) Requested size: 178.86702pt x 193.98965pt.
+[93
+
+]
+Underfull \vbox (badness 3333) has occurred while \output is active []
+
+ [94 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fi
+gures/ldr.jpg> </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-c
+ode/ldr/figures/ldr_sym.png> </home/fossee/Desktop/scilab-arduino-final/scilab-
+arduino/user-code/ldr/figures/ldr-conn.png>]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/arduino
+/ldr-read/ldr-read.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/arduino
+/ldr-read/ldr-read.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/arduino
+/ldr-read/ldr-read.ino) [95]
+Overfull \hbox (19.20517pt too wide) in paragraph at lines 152--163
+[]\T1/cmr/m/n/10.95 In this ex-per-i-ment, we will ob-serve the sat-u-ra-tion p
+oint of LDR, see Scilab Code 6.2[].
+ []
+
+[96]
+Overfull \hbox (0.34052pt too wide) in paragraph at lines 176--182
+\T1/cmr/m/n/10.95 Next, we shall per-form the above men-tioned ex-per-i-ment, t
+o read LDR val-ues, through
+ []
+
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/figures
+/ldr-read-xcos.PNG, id=471, 257.46187pt x 304.13625pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fi
+gures/ldr-read-xcos.PNG Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fig
+ures/ldr-read-xcos.PNG>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/ldr/figures/ldr-read-xcos.PNG used on input line 192.
+(pdftex.def) Requested size: 178.86702pt x 211.2975pt.
+[97 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fig
+ures/ldr-read-xcos.PNG>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/figures
+/ldr-led.png, id=476, 769.87625pt x 640.3925pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fi
+gures/ldr-led.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/fig
+ures/ldr-led.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/ldr/figures/ldr-led.png used on input line 248.
+(pdftex.def) Requested size: 258.36281pt x 214.91635pt.
+
+Overfull \hbox (4.77844pt too wide) in paragraph at lines 269--289
+ [][]
+ []
+
+[98] [99 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ld
+r/figures/ldr-led.png>] [100]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/julia/
+led-push-button.jl) [101]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/push/OpenMo
+delica/led-push-button.mo)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/arduino
+/ldr-read/ldr-read.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/arduino
+/ldr-led/ldr-led.ino [102])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/scilab/
+ldr-read.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/scilab/
+ldr-led.sce) [103]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/python/
+ldr-read.py)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/python/
+ldr-led.py [104])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/julia/l
+dr-read.jl [105])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/julia/l
+dr-led.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/OpenMod
+elica/ldr-read.mo [106])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/ldr/OpenMod
+elica/ldr-led.mo [107])) (./user-code/dcmotor/dcmotor.tex [108]
+Chapter 7.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/fig
+ures/dcmotor_board.png, id=513, 247.92625pt x 232.87pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmoto
+r/figures/dcmotor_board.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor
+/figures/dcmotor_board.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/dcmotor/figures/dcmotor_board.png used on input line 62.
+(pdftex.def) Requested size: 258.36281pt x 242.69075pt.
+[109
+
+]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/fig
+ures/schematic.png, id=517, 415.5525pt x 467.7475pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmoto
+r/figures/schematic.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor
+/figures/schematic.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/dcmotor/figures/schematic.png used on input line 102.
+(pdftex.def) Requested size: 178.86702pt x 201.33447pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/fig
+ures/dc_motor_description.jpg, id=518, 2469.97781pt x 1973.12157pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmoto
+r/figures/dc_motor_description.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor
+/figures/dc_motor_description.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/dcmotor/figures/dc_motor_description.jpg used on input line 108.
+(pdftex.def) Requested size: 258.36281pt x 206.38603pt.
+ [110 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmot
+or/figures/dcmotor_board.png>] [111 </home/fossee/Desktop/scilab-arduino-final/
+scilab-arduino/user-code/dcmotor/figures/schematic.png> </home/fossee/Desktop/s
+cilab-arduino-final/scilab-arduino/user-code/dcmotor/figures/dc_motor_descripti
+on.jpg>] [112]
+Underfull \hbox (badness 10000) in paragraph at lines 190--206
+
+ []
+
+
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/sci
+lab/dcmotor-clock.sce) [113]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/sci
+lab/dcmotor-clock.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/sci
+lab/dcmotor-clock.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/sci
+lab/dcmotor-clock.sce) [114]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/fig
+ures/dcmotor-clock.png, id=538, 275.52937pt x 290.58563pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmoto
+r/figures/dcmotor-clock.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor
+/figures/dcmotor-clock.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/dcmotor/figures/dcmotor-clock.png used on input line 340.
+(pdftex.def) Requested size: 178.86702pt x 188.64784pt.
+ [115]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/fig
+ures/dcmotor-both.png, id=542, 292.09125pt x 322.95656pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmoto
+r/figures/dcmotor-both.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor
+/figures/dcmotor-both.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/dcmotor/figures/dcmotor-both.png used on input line 394.
+(pdftex.def) Requested size: 178.86702pt x 197.77196pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/fig
+ures/dcmotor-loop.png, id=543, 281.55188pt x 307.90031pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmoto
+r/figures/dcmotor-loop.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor
+/figures/dcmotor-loop.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/dcmotor/figures/dcmotor-loop.png used on input line 438.
+(pdftex.def) Requested size: 178.86702pt x 195.60847pt.
+ [116 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmot
+or/figures/dcmotor-clock.png>] [117 </home/fossee/Desktop/scilab-arduino-final/
+scilab-arduino/user-code/dcmotor/figures/dcmotor-both.png>] [118 </home/fossee/
+Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/figures/dcmotor-l
+oop.png>] [119] [120]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/ard
+uino/dcmotor-clock/dcmotor-clock.ino [121])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/ard
+uino/dcmotor-both/dcmotor-both.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/ard
+uino/dcmotor-loop/dcmotor-loop.ino [122])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/sci
+lab/dcmotor-clock.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/sci
+lab/dcmotor-both.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/sci
+lab/dcmotor-loop.sce [123])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/pyt
+hon/dcmotor-clock.py [124])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/pyt
+hon/dcmotor-both.py [125])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/pyt
+hon/dcmotor-loop.py [126])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/jul
+ia/dcmotor-clock.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/jul
+ia/dcmotor-both.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/jul
+ia/dcmotor-loop.jl [127])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/Ope
+nModelica/dcmotor-clock.mo)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/Ope
+nModelica/dcmotor-both.mo [128])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/dcmotor/Ope
+nModelica/dcmotor-loop.mo [129])) (./user-code/pot/pot.tex [130]
+Chapter 8.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/figures
+/potmeter.png, id=594, 1576.38937pt x 1305.37688pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/fi
+gures/potmeter.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/fig
+ures/potmeter.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/pot/figures/potmeter.png used on input line 58.
+(pdftex.def) Requested size: 178.86702pt x 148.11337pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/figures
+/schematic.png, id=595, 415.5525pt x 417.56pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/fi
+gures/schematic.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/fig
+ures/schematic.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/pot/figures/schematic.png used on input line 61.
+(pdftex.def) Requested size: 178.86702pt x 179.73206pt.
+[131
+
+]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/arduino
+/pot-threshold/pot-threshold.ino [132 </home/fossee/Desktop/scilab-arduino-fina
+l/scilab-arduino/user-code/pot/figures/potmeter.png> </home/fossee/Desktop/scil
+ab-arduino-final/scilab-arduino/user-code/pot/figures/schematic.png>])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/arduino
+/pot-threshold/pot-threshold.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/scilab/
+pot-threshold.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/scilab/
+pot-threshold.sce [133])
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/figures
+/pot-threshold.PNG, id=608, 548.80031pt x 493.845pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/fi
+gures/pot-threshold.PNG Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/fig
+ures/pot-threshold.PNG>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/pot/figures/pot-threshold.PNG used on input line 123.
+(pdftex.def) Requested size: 258.36281pt x 232.49149pt.
+
+Overfull \hbox (4.77844pt too wide) in paragraph at lines 141--170
+ [][]
+ []
+
+[134 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/fi
+gures/pot-threshold.PNG>]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [135]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/python/
+pot-threshold.py)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/python/
+pot-threshold.py)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/julia/p
+ot-threshold.jl) [136]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/julia/p
+ot-threshold.jl)
+Overfull \hbox (9.15074pt too wide) in paragraph at lines 209--210
+\T1/cmr/m/n/10.95 where \T1/fvm/m/n/10.95 digiWrite \T1/cmr/m/n/10.95 is used t
+o set the pin 11 high (1) or low (0). We used \T1/fvm/m/n/10.95 sleep(1000)
+ []
+
+
+Overfull \hbox (6.93031pt too wide) in paragraph at lines 215--215
+[]\T1/cmr/bx/n/14.4 Reading the po-ten-tiome-ter from Open-Mod-el-ica Script
+ []
+
+
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/OpenMod
+elica/pot-threshold.mo)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/OpenMod
+elica/pot-threshold.mo)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/arduino
+/pot-threshold/pot-threshold.ino [137])
+Overfull \hbox (6.93184pt too wide) in paragraph at lines 247--251
+[]\T1/cmr/m/n/10.95 Turning on LEDs de-pend-ing on the po-ten-tiome-ter thresh-
+old. Avail-
+ []
+
+
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/scilab/
+pot-threshold.sce [138])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/python/
+pot-threshold.py [139])
+Overfull \hbox (0.88127pt too wide) in paragraph at lines 279--283
+[]\T1/cmr/m/n/10.95 Turning on LEDs de-pend-ing on the po-ten-tiome-ter thresh-
+old. Avail-
+ []
+
+
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/julia/p
+ot-threshold.jl [140])
+Overfull \hbox (7.95369pt too wide) in paragraph at lines 295--299
+[]\T1/cmr/m/n/10.95 Turning on LEDs de-pend-ing on the po-ten-tiome-ter thresh-
+
+ []
+
+
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/pot/OpenMod
+elica/pot-threshold.mo [141])) (./user-code/thermistor/thermistor.tex [142]
+Chapter 9.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+figures/NTC-bead.jpg, id=638, 139.9629pt x 126.2316pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/NTC-bead.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermis
+tor/figures/NTC-bead.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/thermistor/figures/NTC-bead.jpg used on input line 70.
+(pdftex.def) Requested size: 178.86702pt x 161.32933pt.
+
+LaTeX Warning: Citation `therm-wiki' on page 143 undefined on input line 70.
+
+
+LaTeX Warning: Citation `therm-wiki' on page 143 undefined on input line 70.
+
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+figures/therm-sym.png, id=639, 1284.8pt x 913.4125pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/therm-sym.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermis
+tor/figures/therm-sym.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/thermistor/figures/therm-sym.png used on input line 73.
+(pdftex.def) Requested size: 119.2467pt x 84.76808pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+figures/THERMISTOR-Diagram-crop.pdf, id=640, 329.23pt x 422.57875pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/THERMISTOR-Diagram-crop.pdf Graphic file (type pdf)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermis
+tor/figures/THERMISTOR-Diagram-crop.pdf>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/thermistor/figures/THERMISTOR-Diagram-crop.pdf used on input line
+ 83.
+(pdftex.def) Requested size: 178.86702pt x 229.58835pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+figures/BUZZER-Diagram-crop.pdf, id=641, 307.1475pt x 366.36874pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/BUZZER-Diagram-crop.pdf Graphic file (type pdf)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermis
+tor/figures/BUZZER-Diagram-crop.pdf>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/thermistor/figures/BUZZER-Diagram-crop.pdf used on input line 87.
+
+(pdftex.def) Requested size: 178.86702pt x 213.35492pt.
+[143
+
+]
+Overfull \vbox (12.13353pt too high) has occurred while \output is active []
+
+
+[144 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/NTC-bead.jpg> </home/fossee/Desktop/scilab-arduino-final/scilab-ar
+duino/user-code/thermistor/figures/therm-sym.png> </home/fossee/Desktop/scilab-
+arduino-final/scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram-cr
+op.pdf> </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/the
+rmistor/figures/BUZZER-Diagram-crop.pdf>]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+arduino/therm-read/therm-read.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+arduino/therm-read/therm-read.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+arduino/therm-read/therm-read.ino) [145] [146]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+figures/therm-read-xcos.png, id=669, 617.30624pt x 548.0475pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/therm-read-xcos.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermis
+tor/figures/therm-read-xcos.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/thermistor/figures/therm-read-xcos.png used on input line 217.
+(pdftex.def) Requested size: 194.76982pt x 172.91183pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+figures/therm-read.png, id=670, 632.3625pt x 529.98pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/therm-read.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermis
+tor/figures/therm-read.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/thermistor/figures/therm-read.png used on input line 250.
+(pdftex.def) Requested size: 194.76982pt x 163.23271pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+figures/therm-buzzer-xcos.png, id=671, 627.34375pt x 530.98375pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/therm-buzzer-xcos.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermis
+tor/figures/therm-buzzer-xcos.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/thermistor/figures/therm-buzzer-xcos.png used on input line 266.
+(pdftex.def) Requested size: 258.36281pt x 218.68509pt.
+
+Overfull \hbox (4.77844pt too wide) in paragraph at lines 284--304
+ [][]
+ []
+
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+figures/therm-buzzer.png, id=672, 612.2875pt x 589.20125pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/therm-buzzer.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermis
+tor/figures/therm-buzzer.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/thermistor/figures/therm-buzzer.png used on input line 310.
+(pdftex.def) Requested size: 178.86702pt x 172.12265pt.
+[147]
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [148 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/therm
+istor/figures/therm-read-xcos.png>]
+Overfull \vbox (16.53368pt too high) has occurred while \output is active []
+
+
+[149 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/therm-read.png> </home/fossee/Desktop/scilab-arduino-final/scilab-
+arduino/user-code/thermistor/figures/therm-buzzer-xcos.png>]
+
+LaTeX Warning: Text page 150 contains only floats.
+
+[150 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermi
+stor/figures/therm-buzzer.png>] [151] [152]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+arduino/therm-read/therm-read.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+arduino/therm-buzzer/therm-buzzer.ino [153
+
+])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+scilab/therm-read.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+scilab/therm-buzzer.sce) [154]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+python/therm-read.py) [155]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+python/therm-buzzer.py)
+Underfull \vbox (badness 1990) has occurred while \output is active []
+
+ [156]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+julia/therm-read.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+julia/therm-buzzer.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+OpenModelica/therm-read.mo [157])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/thermistor/
+OpenModelica/therm-buzzer.mo [158])) (./user-code/servo/servo.tex [159]
+[160
+
+]
+Chapter 10.
+
+Underfull \vbox (badness 1975) has occurred while \output is active []
+
+ [161]
+Overfull \hbox (23.49748pt too wide) in paragraph at lines 89--97
+[]\T1/cmr/m/n/10.95 In the first ex-per-i-ment, we will move the ser-vo-mo-tor
+by $\OT1/cmr/m/n/10.95 30[]$ \T1/cmr/m/n/10.95 us-ing Ar-duino Code 10.1[].
+ []
+
+[162] [163]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scila
+b/servo-init.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scila
+b/servo-pot.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scila
+b/servo-pot.sce)
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/figur
+es/servo-init.png, id=734, 265.74281pt x 309.40594pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/
+figures/servo-init.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/f
+igures/servo-init.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/servo/figures/servo-init.png used on input line 220.
+(pdftex.def) Requested size: 178.86702pt x 208.2593pt.
+ [164]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/figur
+es/servo-reverse.png, id=739, 244.66406pt x 281.55188pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/
+figures/servo-reverse.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/f
+igures/servo-reverse.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/servo/figures/servo-reverse.png used on input line 255.
+(pdftex.def) Requested size: 178.86702pt x 205.84047pt.
+
+Underfull \vbox (badness 3199) has occurred while \output is active []
+
+ [165 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo
+/figures/servo-init.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/figur
+es/servo-loop.png, id=743, 281.55188pt x 347.04657pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/
+figures/servo-loop.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/f
+igures/servo-loop.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/servo/figures/servo-loop.png used on input line 293.
+(pdftex.def) Requested size: 178.86702pt x 220.47803pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/figur
+es/servo-pot.png, id=744, 286.06876pt x 292.09125pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/
+figures/servo-pot.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/f
+igures/servo-pot.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/servo/figures/servo-pot.png used on input line 336.
+(pdftex.def) Requested size: 178.86702pt x 182.63234pt.
+ [166 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo
+/figures/servo-reverse.png>]
+Overfull \hbox (17.60953pt too wide) in paragraph at lines 356--367
+ [][]
+ []
+
+[167 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/
+figures/servo-loop.png>]
+
+LaTeX Warning: Reference `sec:py-start' on page 168 undefined on input line 383
+.
+
+
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [168 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo
+/figures/servo-pot.png>]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/pytho
+n/servo-init.py) [169]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/pytho
+n/servo-pot.py)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/pytho
+n/servo-pot.py)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia
+/servo-init.jl) [170]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia
+/servo-pot.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia
+/servo-pot.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenM
+odelica/servo-init.mo)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenM
+odelica/servo_pot.mo) [171]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenM
+odelica/servo_pot.mo)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/ardui
+no/servo-init/servo-init.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/ardui
+no/servo-reverse/servo-reverse.ino) [172]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/ardui
+no/servo-loop/servo-loop.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/ardui
+no/servo-pot/servo-pot.ino) [173]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scila
+b/servo-init.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scila
+b/servo-reverse.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scila
+b/servo-loop.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/scila
+b/servo-pot.sce [174])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/pytho
+n/servo-init.py [175])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/pytho
+n/servo-reverse.py [176])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/pytho
+n/servo-loop.py [177])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/pytho
+n/servo-pot.py [178])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia
+/servo-init.jl)
+Overfull \hbox (2.67752pt too wide) in paragraph at lines 660--664
+[]\T1/cmr/m/n/10.95 Rotating the ser-vo-mo-tor to a spec-i-fied de-gree and re-
+vers-ing. Avail-
+ []
+
+
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia
+/servo-reverse.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia
+/servo-loop.jl [179])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/julia
+/servo-pot.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenM
+odelica/servo-init.mo [180])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenM
+odelica/servo-reverse.mo) [181]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenM
+odelica/servo-loop.mo)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/servo/OpenM
+odelica/servo_pot.mo [182])) (./user-code/modbus/modbus.tex [183] [184
+
+]
+Chapter 11.
+[185]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/fig1.png, id=810, 672.5125pt x 224.84pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/fig1.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/fig1.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/fig1.png used on input line 48.
+(pdftex.def) Requested size: 357.73405pt x 119.60033pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/fig2.png, id=811, 360.34625pt x 375.4025pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/fig2.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/fig2.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/fig2.png used on input line 56.
+(pdftex.def) Requested size: 178.86702pt x 186.33748pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/fig3.png, id=812, 481.04718pt x 214.55156pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/fig3.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/fig3.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/fig3.png used on input line 83.
+(pdftex.def) Requested size: 357.73405pt x 159.55464pt.
+ [186 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbu
+s/figures/fig1.png (PNG copy)> </home/fossee/Desktop/scilab-arduino-final/scila
+b-arduino/user-code/modbus/figures/fig2.png (PNG copy)>] [187 </home/fossee/Des
+ktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figures/fig3.png (PNG
+ copy)>] [188] [189]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/Full-Set-Up.png, id=826, 722.7pt x 542.025pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/Full-Set-Up.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/Full-Set-Up.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/Full-Set-Up.png used on input line 252.
+(pdftex.def) Requested size: 258.36281pt x 193.77246pt.
+ [190]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/block-diagram.PNG, id=830, 398.23781pt x 255.95625pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/block-diagram.PNG Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/block-diagram.PNG>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/block-diagram.PNG used on input line 266.
+(pdftex.def) Requested size: 258.36281pt x 166.06104pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/arduino_code_flowchart.png, id=831, 327.2225pt x 480.79625pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/arduino_code_flowchart.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/arduino_code_flowchart.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/arduino_code_flowchart.png used on input line 284.
+
+(pdftex.def) Requested size: 258.36281pt x 379.61945pt.
+ [191 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbu
+s/figures/Full-Set-Up.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/flowchart.png, id=837, 482.55281pt x 362.10281pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/flowchart.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/flowchart.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/flowchart.png used on input line 303.
+(pdftex.def) Requested size: 357.73405pt x 268.44914pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/current-output.png, id=838, 1028.34187pt x 578.16pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/current-output.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/current-output.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/current-output.png used on input line 318.
+(pdftex.def) Requested size: 397.48499pt x 223.4789pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/current-output-setup.jpg, id=839, 2509.375pt x 1411.2725pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/current-output-setup.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/current-output-setup.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/current-output-setup.jpg used on input line 325.
+(pdftex.def) Requested size: 258.36281pt x 145.29163pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/voltage-output.png, id=840, 1028.34187pt x 578.16pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/voltage-output.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/voltage-output.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/voltage-output.png used on input line 335.
+(pdftex.def) Requested size: 397.48499pt x 223.4789pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/voltage-output-setup.jpg, id=841, 2509.375pt x 1411.2725pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/voltage-output-setup.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/voltage-output-setup.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/voltage-output-setup.jpg used on input line 342.
+(pdftex.def) Requested size: 258.36281pt x 145.29163pt.
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/active-power-output.png, id=842, 1028.34187pt x 578.16pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/active-power-output.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/active-power-output.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/active-power-output.png used on input line 351.
+(pdftex.def) Requested size: 397.48499pt x 223.4789pt.
+ [192 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbu
+s/figures/block-diagram.PNG>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/active-power-output-setup.jpg, id=847, 2509.375pt x 1411.2725pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/active-power-output-setup.jpg Graphic file (type jpg)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/active-power-output-setup.jpg>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/active-power-output-setup.jpg used on input line 3
+58.
+(pdftex.def) Requested size: 258.36281pt x 145.29163pt.
+
+Underfull \vbox (badness 10000) has occurred while \output is active []
+
+ [193 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbu
+s/figures/arduino_code_flowchart.png>]
+</home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figu
+res/read_value_xcos.png, id=852, 635.37375pt x 455.7025pt>
+File: /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/read_value_xcos.png Graphic file (type png)
+<use /home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/
+figures/read_value_xcos.png>
+Package pdftex.def Info: /home/fossee/Desktop/scilab-arduino-final/scilab-ardui
+no/user-code/modbus/figures/read_value_xcos.png used on input line 376.
+(pdftex.def) Requested size: 258.36281pt x 185.30946pt.
+
+Underfull \hbox (badness 1259) in paragraph at lines 379--379
+[]\T1/cmr/m/n/10.95 Figure 11.14: |Xcos di-a-gram to read En-ergy Me-ter val-ue
+s. This is what
+ []
+
+
+Overfull \hbox (16.70493pt too wide) in paragraph at lines 388--400
+ [][]
+ []
+
+[194 </home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus
+/figures/flowchart.png (PNG copy)>] [195 </home/fossee/Desktop/scilab-arduino-f
+inal/scilab-arduino/user-code/modbus/figures/current-output.png (PNG copy)> </h
+ome/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figures
+/current-output-setup.jpg>] [196 </home/fossee/Desktop/scilab-arduino-final/sci
+lab-arduino/user-code/modbus/figures/voltage-output.png (PNG copy)> </home/foss
+ee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figures/voltage
+-output-setup.jpg>] [197 </home/fossee/Desktop/scilab-arduino-final/scilab-ardu
+ino/user-code/modbus/figures/active-power-output.png (PNG copy)> </home/fossee/
+Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/figures/active-pow
+er-output-setup.jpg>] [198 </home/fossee/Desktop/scilab-arduino-final/scilab-ar
+duino/user-code/modbus/figures/read_value_xcos.png>]
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/ardu
+ino/send_packet.ino)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/scil
+ab/read_val.sce)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/scil
+ab/read_current.sci [199
+
+])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/scil
+ab/read_voltage.sci)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/scil
+ab/read_active_power.sci)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/pyth
+on/read_current.py [200])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/pyth
+on/read_voltage.py)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/pyth
+on/read_active_power.py)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/juli
+a/readCurrent.jl [201])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/juli
+a/readVoltage.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/juli
+a/readPower.jl)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/Open
+Modelica/readCurrent.mo [202])
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/Open
+Modelica/readVoltage.mo)
+(/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/user-code/modbus/Open
+Modelica/readPower.mo)) (./scilab-arduino.bbl [203] [204
+
+]
+Underfull \hbox (badness 10000) in paragraph at lines 4--9
+[]\T1/cmr/m/n/10.95 T. Mar-tin. Use of scilab for space mis-sion anal-y-sis.
+ []
+
+
+Underfull \hbox (badness 10000) in paragraph at lines 4--9
+\T1/cmr/m/n/10.95 https://www.scilab.org/community/scilabtec/2009/Use-of-Scilab
+-for-space-
+ []
+
+
+Overfull \hbox (19.10986pt too wide) in paragraph at lines 28--31
+[]\T1/cmr/m/n/10.95 Arduino uno. https://www.arduino.cc/en/uploads/Main/Arduin
+oUnoFront240.jpg.
+ []
+
+
+Overfull \hbox (13.0502pt too wide) in paragraph at lines 33--37
+[]\T1/cmr/m/n/10.95 Arduino mega. https://www.arduino.cc/en/uploads/Main/Ardui
+noMega2560_R3
+ []
+
+
+Overfull \hbox (15.39987pt too wide) in paragraph at lines 49--53
+[]\T1/cmr/m/n/10.95 Candy sort-ing ma-chine. http://beta.ivc.no/wiki/index.php
+/Skittles_M%26M%27s
+ []
+
+[205])
+\tf@thm=\write10
+\openout10 = `scilab-arduino.thm'.
+
+ [206] (./scilab-arduino.aux)
+
+LaTeX Warning: There were undefined references.
+
+
+LaTeX Warning: There were multiply-defined labels.
+
+ )
+Here is how much of TeX's memory you used:
+ 9557 strings out of 481239
+ 213185 string characters out of 5920377
+ 752828 words of memory out of 5000000
+ 24130 multiletter control sequences out of 15000+600000
+ 554670 words of font info for 69 fonts, out of 8000000 for 9000
+ 1143 hyphenation exceptions out of 8191
+ 50i,11n,53p,706b,1754s stack positions out of 5000i,500n,10000p,200000b,80000s
+{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc}{/usr/share/texmf
+/fonts/enc/dvips/cm-super/cm-super-t1.enc}{/usr/share/texlive/texmf-dist/fonts/
+enc/dvips/base/8r.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/amsfont
+s/cm/cmex10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/c
+mmi10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi8.p
+fb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></us
+r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/share/
+texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr9.pfb></usr/share/texlive/
+texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-
+dist/fonts/type1/public/amsfonts/cm/cmsy6.pfb></usr/share/texlive/texmf-dist/fo
+nts/type1/public/amsfonts/cm/cmsy8.pfb></usr/share/texlive/texmf-dist/fonts/typ
+e1/public/amsfonts/cm/cmsy9.pfb></usr/share/texlive/texmf-dist/fonts/type1/publ
+ic/bera/fvmr8a.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx0900.pfb><
+/usr/share/texmf/fonts/type1/public/cm-super/sfbx1095.pfb></usr/share/texmf/fon
+ts/type1/public/cm-super/sfbx1200.pfb></usr/share/texmf/fonts/type1/public/cm-s
+uper/sfbx1440.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx2074.pfb></
+usr/share/texmf/fonts/type1/public/cm-super/sfbx2488.pfb></usr/share/texmf/font
+s/type1/public/cm-super/sfrm0600.pfb></usr/share/texmf/fonts/type1/public/cm-su
+per/sfrm0800.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfrm0900.pfb></u
+sr/share/texmf/fonts/type1/public/cm-super/sfrm1000.pfb></usr/share/texmf/fonts
+/type1/public/cm-super/sfrm1095.pfb></usr/share/texmf/fonts/type1/public/cm-sup
+er/sfrm1200.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfsi1095.pfb></us
+r/share/texmf/fonts/type1/public/cm-super/sfss1095.pfb></usr/share/texmf/fonts/
+type1/public/cm-super/sfti1095.pfb>
+Output written on scilab-arduino.pdf (226 pages, 22290433 bytes).
+PDF statistics:
+ 993 PDF objects out of 1000 (max. 8388607)
+ 601 compressed objects within 7 object streams
+ 0 named destinations out of 1000 (max. 500000)
+ 441 words of extra memory for PDF output out of 10000 (max. 10000000)
+
diff --git a/scilab-arduino/scilab-arduino.lot b/scilab-arduino/scilab-arduino.lot
new file mode 100644
index 0000000..45500b4
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.lot
@@ -0,0 +1,40 @@
+\addvspace {10\p@ }
+\addvspace {10\p@ }
+\contentsline {table}{\numberline {2.1}{\ignorespaces Arduino Uno hardware specifications\relax }}{10}%
+\contentsline {table}{\numberline {2.2}{\ignorespaces Values of components used in the shield\relax }}{16}%
+\contentsline {table}{\numberline {2.3}{\ignorespaces Information on sensors and pin numbers\relax }}{16}%
+\addvspace {10\p@ }
+\addvspace {10\p@ }
+\contentsline {table}{\numberline {4.1}{\ignorespaces Parameters to light the blue LED in Xcos\relax }}{58}%
+\contentsline {table}{\numberline {4.2}{\ignorespaces Parameters to light the blue LED in Xcos for two seconds\relax }}{59}%
+\contentsline {table}{\numberline {4.3}{\ignorespaces Parameters to turn the blue and red LEDs on and then turn them off one by one\relax }}{60}%
+\contentsline {table}{\numberline {4.4}{\ignorespaces Parameters to make the green LED blink every second\relax }}{60}%
+\addvspace {10\p@ }
+\contentsline {table}{\numberline {5.1}{\ignorespaces Parameters to print the push button status on the display block\relax }}{83}%
+\contentsline {table}{\numberline {5.2}{\ignorespaces Xcos parameters to turn the LED on through the pushbutton\relax }}{84}%
+\addvspace {10\p@ }
+\contentsline {table}{\numberline {6.1}{\ignorespaces Xcos parameters to read LDR\relax }}{98}%
+\contentsline {table}{\numberline {6.2}{\ignorespaces Xcos parameters to read LDR and regulate blue LED\relax }}{100}%
+\addvspace {10\p@ }
+\contentsline {table}{\numberline {7.1}{\ignorespaces A numbering convention used in the DC motor breakout board\relax }}{114}%
+\contentsline {table}{\numberline {7.2}{\ignorespaces Parameters for DC motor initialization\relax }}{114}%
+\contentsline {table}{\numberline {7.3}{\ignorespaces Xcos parameters to drive the DC motor for a specified time\relax }}{117}%
+\contentsline {table}{\numberline {7.4}{\ignorespaces Xcos parameters to drive the DC motor in forward and reverse directions\relax }}{118}%
+\contentsline {table}{\numberline {7.5}{\ignorespaces Xcos parameters to drive the DC motor in a loop\relax }}{119}%
+\addvspace {10\p@ }
+\contentsline {table}{\numberline {8.1}{\ignorespaces Xcos parameters to turn on different LEDs depending on the potentiometer value\relax }}{135}%
+\addvspace {10\p@ }
+\contentsline {table}{\numberline {9.1}{\ignorespaces Xcos parameters to read thermistor\relax }}{148}%
+\contentsline {table}{\numberline {9.2}{\ignorespaces Xcos parameters to read thermistor and switch the buzzer\relax }}{150}%
+\addvspace {10\p@ }
+\contentsline {table}{\numberline {10.1}{\ignorespaces Connecting a typical servomotor to Arduino Uno\ board\relax }}{162}%
+\contentsline {table}{\numberline {10.2}{\ignorespaces Parameters to rotate the servomotor by $30^\circ $\relax }}{165}%
+\contentsline {table}{\numberline {10.3}{\ignorespaces Parameters to rotate the servomotor forward and reverse\relax }}{167}%
+\contentsline {table}{\numberline {10.4}{\ignorespaces Parameters to make the servomotor to sweep the entire range in increments\relax }}{168}%
+\contentsline {table}{\numberline {10.5}{\ignorespaces Parameters to rotate the servomotor based on the input from the potentiometer\relax }}{169}%
+\addvspace {10\p@ }
+\contentsline {table}{\numberline {11.1}{\ignorespaces Interpretation of a request packet\relax }}{188}%
+\contentsline {table}{\numberline {11.2}{\ignorespaces Interpretation of a response packet\relax }}{188}%
+\contentsline {table}{\numberline {11.3}{\ignorespaces Hexadecimal to Decimal\relax }}{189}%
+\contentsline {table}{\numberline {11.4}{\ignorespaces Single and Double Precision Representation\relax }}{189}%
+\contentsline {table}{\numberline {11.5}{\ignorespaces Xcos parameters to read Energy Meter\relax }}{198}%
diff --git a/scilab-arduino/scilab-arduino.pdf b/scilab-arduino/scilab-arduino.pdf
new file mode 100644
index 0000000..9bd3459
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.pdf
Binary files differ
diff --git a/scilab-arduino/scilab-arduino.synctex(busy) b/scilab-arduino/scilab-arduino.synctex(busy)
new file mode 100644
index 0000000..e114197
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.synctex(busy)
Binary files differ
diff --git a/scilab-arduino/scilab-arduino.tex b/scilab-arduino/scilab-arduino.tex
new file mode 100644
index 0000000..ddec8a7
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.tex
@@ -0,0 +1,139 @@
+\documentclass[a4paper,11pt]{book}
+%\newcommand{\Origin}{/Users/kannan/FOSS/scilab-arduino}
+% \newcommand{\Origin}{D:/Latex_files/scilab-arduino}
+\newcommand{\Origin}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino}
+%\newcommand{\Origin}{/home/manas/Desktop/scilab-arduino}
+%\newcommand{\Origin}{E:/scilab-arduino/scilab-arduino}
+%\newcommand{\Home}{/Users/kannan/FOSS/scilab-arduino}
+% \newcommand{\Home}{D:/Latex_files/scilab-arduino}
+\newcommand{\Home}{/home/fossee/Desktop/scilab-arduino-final/scilab-arduino}
+
+%\newcommand{\Home}{E:/scilab-arduino/scilab-arduino}
+
+\newcommand{\bluecolor}[1]{\color{blue}#1\color{black}}
+\usepackage{color}
+\usepackage{layouts}
+\usepackage{cclicenses}
+\usepackage{morefloats}
+\usepackage{paralist}
+\usepackage{chngcntr}
+\usepackage{layouts}
+\usepackage{fancyhdr}
+\pagestyle{headings}
+\usepackage{amsmath,graphicx,makeidx}
+\usepackage{fancybox,url}
+\usepackage{cite}
+%\usepackage{appendix}
+\counterwithout{footnote}{chapter}
+\usepackage{subfig}
+\usepackage{listings}
+\usepackage{varioref} % for \vref commands
+%\usepackage{hyperref}
+
+%\DeclareFontFamily{OT1}{cmtt}{\hyphenchar \font=-1}
+\usepackage[T1]{fontenc}
+\usepackage{beramono}
+\usepackage{seqsplit}
+
+\newcommand{\portcmd}{\small%
+, see \fnrefp{fn:port}}
+
+\newcommand{\redcolor}[1]{\color{red}#1\color{black}}
+\newcommand{\codclr}{10pt}
+\newcommand{\scilab}{Scilab}
+\newcommand{\arduino}{Arduino Uno}
+\newcommand{\ie}{\emph{i.e.},}
+
+\newcommand{\ourname}[1]{\\ [1.5mm] \noindent{\bf #1}}
+% Shroff book size
+%\textheight 7.75in
+\textheight 7.5in
+\textwidth 5.5in
+\evensidemargin 0.625in
+\oddsidemargin 0.625in
+
+
+\input{\Home/suppl/styles}
+\renewcommand\chaptermark[1]{\markboth{\bf {\thechapter. #1}}{}}
+\renewcommand\sectionmark[1]{\markright{\bf {\thesection. #1}}}
+\cfoot{}
+\fancyfoot{}
+
+\newcommand{\tnfig}{0.3\linewidth}
+\newcommand{\smfig}{0.45\linewidth}%0.42
+\newcommand{\smfigp}{0.49\linewidth}%0.42
+\newcommand{\lgfig}{0.65\linewidth}%0.65
+\newcommand{\hgfig}{0.9\linewidth}
+
+\renewcommand\bibname{References}
+
+\newcommand{\figref}[1]{Fig.~\ref{#1}}
+\newcommand{\figrefp}[1]{Fig.~\vref{#1}}
+\newcommand{\tabref}[1]{Table~\ref{#1}}
+\newcommand{\tabrefp}[1]{Table~\vref{#1}}
+\newcommand{\chapref}[1]{Chapter~\ref{#1}}
+\newcommand{\secref}[1]{Sec.~\ref{#1}}
+\newcommand{\sciref}[1]{Scilab~Code~\ref{#1}}
+\newcommand{\pyref}[1]{Python-Code-\ref{#1}} % added for python
+\newcommand{\juliaref}[1]{Julia-Code-\ref{#1}} % added for julia
+\newcommand{\OpenModelicaref}[1]{OpenModelica-Code-\ref{#1}} % added for OpenModelica
+\newcommand{\ardref}[1]{Arduino~Code~\ref{#1}}
+\newcommand{\mypageref}[1]{Page~\pageref{#1}}
+\newcommand{\fnref}[1]{Footnote~\ref{#1}}
+\newcommand{\fnrefp}[1]{Footnote~\vref{#1}}
+\renewcommand{\topfraction}{1}
+\renewcommand{\bottomfraction}{1}
+\renewcommand{\textfraction}{0}
+\renewcommand{\floatpagefraction}{1}
+% \bibliographystyle{./IEEEtran}
+\bibliographystyle{unsrt}
+
+\hyphenation{Ashu-tosh pr-ess}
+
+\makeindex
+\begin{document}
+\pagestyle{plain}
+\pagestyle{empty}
+\frontmatter
+\thispagestyle{empty}
+%\input{suppl/dedicate}
+\pagestyle{headings}
+\tableofcontents
+\listoffigures
+\listoftables
+\listofard
+\listofcode
+%\thispagestyle{empty}
+\addtocontents{toc}{\protect\thispagestyle{empty}}
+%\input{suppl/preface}
+%\input{suppl/acr}
+\input{suppl/acr}
+
+\mainmatter
+\pagestyle{headings}
+\renewcommand\chaptermark[1]{\markboth{\bf {\thechapter. #1}}{}}
+\renewcommand\sectionmark[1]{\markright{\bf {\thesection. #1}}}
+
+%\input{texfiles/microcontintro.tex}
+%\input{texfiles/sciaurint.tex}
+\input{suppl/intro.tex}
+\input{user-code/hw-env/hw-env.tex}
+\input{user-code/sw-env/sw-env.tex}
+\input{user-code/led/led.tex}
+\input{user-code/push/push.tex}
+\input{user-code/ldr/ldr.tex}
+\input{user-code/dcmotor/dcmotor.tex}
+\input{user-code/pot/pot.tex}
+\input{user-code/thermistor/thermistor.tex}
+\input{user-code/servo/servo.tex}
+\input{user-code/modbus/modbus.tex}
+%\input{texfiles/servo.tex}
+%\input{texfiles/Appendix.tex}
+%\appendix
+%\input{texfiles/sp-appendix.tex}
+%\input{windows/windows}
+
+\bibliography{bibliography.bib}
+%\printindex
+%\input{texfiles/AuthorInfo.tex}
+\end{document}
diff --git a/scilab-arduino/scilab-arduino.tex~ b/scilab-arduino/scilab-arduino.tex~
new file mode 100644
index 0000000..aedbd53
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.tex~
@@ -0,0 +1,135 @@
+\documentclass[a4paper,11pt]{book}
+%\newcommand{\Origin}{/Users/kannan/FOSS/scilab-arduino}
+\newcommand{\Origin}{/home/manas/Desktop/scilab-arduino}
+%\newcommand{\Origin}{E:/scilab-arduino/scilab-arduino}
+%\newcommand{\Home}{/Users/kannan/FOSS/scilab-arduino}
+\newcommand{\Home}{/home/manas/Desktop/scilab-arduino}
+%\newcommand{\Home}{E:/scilab-arduino/scilab-arduino}
+
+\newcommand{\bluecolor}[1]{\color{blue}#1\color{black}}
+\usepackage{color}
+\usepackage{layouts}
+\usepackage{cclicenses}
+\usepackage{morefloats}
+\usepackage{paralist}
+\usepackage{chngcntr}
+\usepackage{layouts}
+\usepackage{fancyhdr}
+\pagestyle{headings}
+\usepackage{amsmath,graphicx,makeidx}
+\usepackage{fancybox,url}
+\usepackage{cite}
+%\usepackage{appendix}
+\counterwithout{footnote}{chapter}
+\usepackage{subfig}
+\usepackage{listings}
+\usepackage{varioref} % for \vref commands
+%\usepackage{hyperref}
+
+%\DeclareFontFamily{OT1}{cmtt}{\hyphenchar \font=-1}
+\usepackage[T1]{fontenc}
+\usepackage{beramono}
+\usepackage{seqsplit}
+
+\newcommand{\portcmd}{\small%
+, see \fnrefp{fn:port}}
+
+\newcommand{\redcolor}[1]{\color{red}#1\color{black}}
+\newcommand{\codclr}{10pt}
+\newcommand{\scilab}{Scilab}
+\newcommand{\arduino}{Arduino Uno}
+\newcommand{\ie}{\emph{i.e.},}
+
+\newcommand{\ourname}[1]{\\ [1.5mm] \noindent{\bf #1}}
+% Shroff book size
+%\textheight 7.75in
+\textheight 7.5in
+\textwidth 5.5in
+\evensidemargin 0.625in
+\oddsidemargin 0.625in
+
+
+\input{\Home/suppl/styles}
+\renewcommand\chaptermark[1]{\markboth{\bf {\thechapter. #1}}{}}
+\renewcommand\sectionmark[1]{\markright{\bf {\thesection. #1}}}
+\cfoot{}
+\fancyfoot{}
+
+\newcommand{\tnfig}{0.3\linewidth}
+\newcommand{\smfig}{0.45\linewidth}%0.42
+\newcommand{\smfigp}{0.49\linewidth}%0.42
+\newcommand{\lgfig}{0.65\linewidth}%0.65
+\newcommand{\hgfig}{0.9\linewidth}
+
+\renewcommand\bibname{References}
+
+\newcommand{\figref}[1]{Fig.~\ref{#1}}
+\newcommand{\figrefp}[1]{Fig.~\vref{#1}}
+\newcommand{\tabref}[1]{Table~\ref{#1}}
+\newcommand{\tabrefp}[1]{Table~\vref{#1}}
+\newcommand{\chapref}[1]{Chapter~\ref{#1}}
+\newcommand{\secref}[1]{Sec.~\ref{#1}}
+\newcommand{\sciref}[1]{Scilab~Code~\ref{#1}}
+\newcommand{\pyref}[1]{Python-Code-\ref{#1}} % added for python
+\newcommand{\juliaref}[1]{Julia-Code-\ref{#1}} % added for julia
+\newcommand{\OpenModelicaref}[1]{OpenModelica-Code-\ref{#1}} % added for OpenModelica
+\newcommand{\ardref}[1]{Arduino~Code~\ref{#1}}
+\newcommand{\mypageref}[1]{Page~\pageref{#1}}
+\newcommand{\fnref}[1]{Footnote~\ref{#1}}
+\newcommand{\fnrefp}[1]{Footnote~\vref{#1}}
+\renewcommand{\topfraction}{1}
+\renewcommand{\bottomfraction}{1}
+\renewcommand{\textfraction}{0}
+\renewcommand{\floatpagefraction}{1}
+% \bibliographystyle{./IEEEtran}
+\bibliographystyle{unsrt}
+
+\hyphenation{Ashu-tosh pr-ess}
+
+\makeindex
+\begin{document}
+\pagestyle{plain}
+\pagestyle{empty}
+\frontmatter
+\thispagestyle{empty}
+%\input{suppl/dedicate}
+\pagestyle{headings}
+\tableofcontents
+\listoffigures
+\listoftables
+\listofard
+\listofcode
+%\thispagestyle{empty}
+\addtocontents{toc}{\protect\thispagestyle{empty}}
+%\input{suppl/preface}
+%\input{suppl/acr}
+\input{suppl/acr}
+
+\mainmatter
+\pagestyle{headings}
+\renewcommand\chaptermark[1]{\markboth{\bf {\thechapter. #1}}{}}
+\renewcommand\sectionmark[1]{\markright{\bf {\thesection. #1}}}
+
+%\input{texfiles/microcontintro.tex}
+%\input{texfiles/sciaurint.tex}
+\input{suppl/intro.tex}
+\input{user-code/hw-env/hw-env.tex}
+\input{user-code/sw-env/sw-env.tex}
+\input{user-code/led/led.tex}
+\input{user-code/push/push.tex}
+\input{user-code/ldr/ldr.tex}
+\input{user-code/dcmotor/dcmotor.tex}
+\input{user-code/pot/pot.tex}
+\input{user-code/thermistor/thermistor.tex}
+\input{user-code/servo/servo.tex}
+\input{user-code/modbus/modbus.tex}
+%\input{texfiles/servo.tex}
+%\input{texfiles/Appendix.tex}
+%\appendix
+%\input{texfiles/sp-appendix.tex}
+%\input{windows/windows}
+
+\bibliography{bibliography.bib}
+%\printindex
+%\input{texfiles/AuthorInfo.tex}
+\end{document}
diff --git a/scilab-arduino/scilab-arduino.thm b/scilab-arduino/scilab-arduino.thm
new file mode 100644
index 0000000..77f6375
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.thm
@@ -0,0 +1,123 @@
+\contentsline {ardmass}{{Arduino Code}{3.{1}}{}}{47}%
+\contentsline {codemass}{{Scilab Code}{3.{1}}{}}{47}%
+\contentsline {pymass}{{Python Code}{3.{1}}{}}{47}%
+\contentsline {juliamass}{{Julia Code}{3.{1}}{}}{48}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{3.{1}}{}}{48}%
+\contentsline {egmass}{{Exercise}{4.{1}}{}}{54}%
+\contentsline {egmass}{{Exercise}{4.{2}}{}}{57}%
+\contentsline {egmass}{{Exercise}{4.{3}}{}}{60}%
+\contentsline {ardmass}{{Arduino Code}{4.{1}}{}}{67}%
+\contentsline {ardmass}{{Arduino Code}{4.{2}}{}}{67}%
+\contentsline {ardmass}{{Arduino Code}{4.{3}}{}}{67}%
+\contentsline {ardmass}{{Arduino Code}{4.{4}}{}}{67}%
+\contentsline {codemass}{{Scilab Code}{4.{1}}{}}{68}%
+\contentsline {codemass}{{Scilab Code}{4.{2}}{}}{68}%
+\contentsline {codemass}{{Scilab Code}{4.{3}}{}}{68}%
+\contentsline {codemass}{{Scilab Code}{4.{4}}{}}{69}%
+\contentsline {pymass}{{Python Code}{4.{1}}{}}{69}%
+\contentsline {pymass}{{Python Code}{4.{2}}{}}{70}%
+\contentsline {pymass}{{Python Code}{4.{3}}{}}{71}%
+\contentsline {pymass}{{Python Code}{4.{4}}{}}{72}%
+\contentsline {juliamass}{{Julia Code}{4.{1}}{}}{73}%
+\contentsline {juliamass}{{Julia Code}{4.{2}}{}}{73}%
+\contentsline {juliamass}{{Julia Code}{4.{3}}{}}{73}%
+\contentsline {juliamass}{{Julia Code}{4.{4}}{}}{73}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{4.{1}}{}}{74}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{4.{2}}{}}{74}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{4.{3}}{}}{75}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{4.{4}}{}}{76}%
+\contentsline {egmass}{{Exercise}{5.{1}}{}}{83}%
+\contentsline {ardmass}{{Arduino Code}{5.{1}}{}}{86}%
+\contentsline {ardmass}{{Arduino Code}{5.{2}}{}}{86}%
+\contentsline {codemass}{{Scilab Code}{5.{1}}{}}{87}%
+\contentsline {codemass}{{Scilab Code}{5.{2}}{}}{87}%
+\contentsline {pymass}{{Python Code}{5.{1}}{}}{88}%
+\contentsline {pymass}{{Python Code}{5.{2}}{}}{88}%
+\contentsline {juliamass}{{Julia Code}{5.{1}}{}}{89}%
+\contentsline {juliamass}{{Julia Code}{5.{2}}{}}{90}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{5.{1}}{}}{90}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{5.{2}}{}}{91}%
+\contentsline {egmass}{{Exercise}{6.{1}}{}}{95}%
+\contentsline {egmass}{{Exercise}{6.{2}}{}}{96}%
+\contentsline {egmass}{{Exercise}{6.{3}}{}}{100}%
+\contentsline {egmass}{{Exercise}{6.{4}}{}}{101}%
+\contentsline {ardmass}{{Arduino Code}{6.{1}}{}}{102}%
+\contentsline {ardmass}{{Arduino Code}{6.{2}}{}}{102}%
+\contentsline {codemass}{{Scilab Code}{6.{1}}{}}{103}%
+\contentsline {codemass}{{Scilab Code}{6.{2}}{}}{103}%
+\contentsline {pymass}{{Python Code}{6.{1}}{}}{104}%
+\contentsline {pymass}{{Python Code}{6.{2}}{}}{104}%
+\contentsline {juliamass}{{Julia Code}{6.{1}}{}}{105}%
+\contentsline {juliamass}{{Julia Code}{6.{2}}{}}{106}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{6.{1}}{}}{106}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{6.{2}}{}}{107}%
+\contentsline {egmass}{{Exercise}{7.{1}}{}}{112}%
+\contentsline {egmass}{{Exercise}{7.{2}}{}}{115}%
+\contentsline {egmass}{{Exercise}{7.{3}}{}}{118}%
+\contentsline {ardmass}{{Arduino Code}{7.{1}}{}}{121}%
+\contentsline {ardmass}{{Arduino Code}{7.{2}}{}}{122}%
+\contentsline {ardmass}{{Arduino Code}{7.{3}}{}}{122}%
+\contentsline {codemass}{{Scilab Code}{7.{1}}{}}{123}%
+\contentsline {codemass}{{Scilab Code}{7.{2}}{}}{123}%
+\contentsline {codemass}{{Scilab Code}{7.{3}}{}}{123}%
+\contentsline {pymass}{{Python Code}{7.{1}}{}}{124}%
+\contentsline {pymass}{{Python Code}{7.{2}}{}}{125}%
+\contentsline {pymass}{{Python Code}{7.{3}}{}}{126}%
+\contentsline {juliamass}{{Julia Code}{7.{1}}{}}{127}%
+\contentsline {juliamass}{{Julia Code}{7.{2}}{}}{127}%
+\contentsline {juliamass}{{Julia Code}{7.{3}}{}}{127}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{7.{1}}{}}{128}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{7.{2}}{}}{128}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{7.{3}}{}}{129}%
+\contentsline {ardmass}{{Arduino Code}{8.{1}}{}}{137}%
+\contentsline {codemass}{{Scilab Code}{8.{1}}{}}{138}%
+\contentsline {pymass}{{Python Code}{8.{1}}{}}{139}%
+\contentsline {juliamass}{{Julia Code}{8.{1}}{}}{140}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{8.{1}}{}}{141}%
+\contentsline {egmass}{{Exercise}{9.{1}}{}}{145}%
+\contentsline {egmass}{{Exercise}{9.{2}}{}}{146}%
+\contentsline {ardmass}{{Arduino Code}{9.{1}}{}}{153}%
+\contentsline {ardmass}{{Arduino Code}{9.{2}}{}}{153}%
+\contentsline {codemass}{{Scilab Code}{9.{1}}{}}{154}%
+\contentsline {codemass}{{Scilab Code}{9.{2}}{}}{154}%
+\contentsline {pymass}{{Python Code}{9.{1}}{}}{155}%
+\contentsline {pymass}{{Python Code}{9.{2}}{}}{155}%
+\contentsline {juliamass}{{Julia Code}{9.{1}}{}}{157}%
+\contentsline {juliamass}{{Julia Code}{9.{2}}{}}{157}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{1}}{}}{157}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{9.{2}}{}}{158}%
+\contentsline {egmass}{{Exercise}{10.{1}}{}}{163}%
+\contentsline {ardmass}{{Arduino Code}{10.{1}}{}}{172}%
+\contentsline {ardmass}{{Arduino Code}{10.{2}}{}}{172}%
+\contentsline {ardmass}{{Arduino Code}{10.{3}}{}}{173}%
+\contentsline {ardmass}{{Arduino Code}{10.{4}}{}}{173}%
+\contentsline {codemass}{{Scilab Code}{10.{1}}{}}{174}%
+\contentsline {codemass}{{Scilab Code}{10.{2}}{}}{174}%
+\contentsline {codemass}{{Scilab Code}{10.{3}}{}}{174}%
+\contentsline {codemass}{{Scilab Code}{10.{4}}{}}{174}%
+\contentsline {pymass}{{Python Code}{10.{1}}{}}{175}%
+\contentsline {pymass}{{Python Code}{10.{2}}{}}{176}%
+\contentsline {pymass}{{Python Code}{10.{3}}{}}{177}%
+\contentsline {pymass}{{Python Code}{10.{4}}{}}{178}%
+\contentsline {juliamass}{{Julia Code}{10.{1}}{}}{179}%
+\contentsline {juliamass}{{Julia Code}{10.{2}}{}}{179}%
+\contentsline {juliamass}{{Julia Code}{10.{3}}{}}{179}%
+\contentsline {juliamass}{{Julia Code}{10.{4}}{}}{180}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{1}}{}}{180}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{2}}{}}{181}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{3}}{}}{181}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{10.{4}}{}}{182}%
+\contentsline {ardmass}{{Arduino Code}{11.{1}}{}}{199}%
+\contentsline {codemass}{{Scilab Code}{11.{1}}{}}{199}%
+\contentsline {codemass}{{Scilab Code}{11.{2}}{}}{199}%
+\contentsline {codemass}{{Scilab Code}{11.{3}}{}}{200}%
+\contentsline {codemass}{{Scilab Code}{11.{4}}{}}{200}%
+\contentsline {pymass}{{Python Code}{11.{1}}{}}{200}%
+\contentsline {pymass}{{Python Code}{11.{2}}{}}{201}%
+\contentsline {pymass}{{Python Code}{11.{3}}{}}{201}%
+\contentsline {juliamass}{{Julia Code}{11.{1}}{}}{201}%
+\contentsline {juliamass}{{Julia Code}{11.{2}}{}}{202}%
+\contentsline {juliamass}{{Julia Code}{11.{3}}{}}{202}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{1}}{}}{202}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{2}}{}}{203}%
+\contentsline {OpenModelicamass}{{OpenModelica Code}{11.{3}}{}}{203}%
diff --git a/scilab-arduino/scilab-arduino.toc b/scilab-arduino/scilab-arduino.toc
new file mode 100644
index 0000000..9ef45c2
--- /dev/null
+++ b/scilab-arduino/scilab-arduino.toc
@@ -0,0 +1,164 @@
+\contentsline {chapter}{\numberline {List of Figures}}{vii}%
+\contentsline {chapter}{\numberline {List of Tables}}{xi}%
+\contentsline {chapter}{\numberline {List of Arduino \ Code}}{xiii}%
+\contentsline {chapter}{\numberline {List of Scilab, Python, Julia \& OpenModelica Code}}{xv}%
+\thispagestyle {empty}
+\contentsline {chapter}{\numberline {List of Acronyms}}{xix}%
+\contentsline {chapter}{\numberline {1}Introduction}{1}%
+\contentsline {chapter}{\numberline {2}Hardware Environment}{3}%
+\contentsline {section}{\numberline {2.1}Microcontroller}{3}%
+\contentsline {subsection}{\numberline {2.1.1}Organization of a Microcontroller}{3}%
+\contentsline {subsection}{\numberline {2.1.2}Microcontroller Peripherals}{5}%
+\contentsline {section}{\numberline {2.2}Open Source Hardware (OSHW)}{7}%
+\contentsline {section}{\numberline {2.3}Arduino}{8}%
+\contentsline {subsection}{\numberline {2.3.1}Brief History}{8}%
+\contentsline {subsection}{\numberline {2.3.2}Arduino Uno Board}{9}%
+\contentsline {subsection}{\numberline {2.3.3}Popular Arduino Projects}{9}%
+\contentsline {paragraph}{Arduino phone:}{10}%
+\contentsline {paragraph}{Candy sorting machine:}{11}%
+\contentsline {paragraph}{3D printers:}{11}%
+\contentsline {section}{\numberline {2.4}Shield}{11}%
+\contentsline {section}{\numberline {2.5}Experimental Test Bed}{12}%
+\contentsline {chapter}{\numberline {3}Communcation between Software and Arduino}{17}%
+\contentsline {section}{\numberline {3.1}Arduino IDE}{17}%
+\contentsline {subsection}{\numberline {3.1.1}Downloading and installing on Windows}{18}%
+\contentsline {subsection}{\numberline {3.1.2}Downloading and installing on GNU/Linux Ubuntu}{18}%
+\contentsline {subsection}{\numberline {3.1.3}Arduino Development Environment}{21}%
+\contentsline {subsection}{\numberline {3.1.4}Testing Arduino with a sample program}{23}%
+\contentsline {section}{\numberline {3.2}Scilab}{24}%
+\contentsline {subsection}{\numberline {3.2.1}Downloading and installing Scilab}{24}%
+\contentsline {subsection}{\numberline {3.2.2}Scilab Arduino toolbox}{25}%
+\contentsline {subsection}{\numberline {3.2.3}Identifying Arduino communication port number}{28}%
+\contentsline {subsection}{\numberline {3.2.4}Testing Scilab-Arduino toolbox}{30}%
+\contentsline {section}{\numberline {3.3}Xcos}{33}%
+\contentsline {subsection}{\numberline {3.3.1}Downloading, installing and testing}{33}%
+\contentsline {subsection}{\numberline {3.3.2}Use case}{35}%
+\contentsline {subsection}{\numberline {3.3.3}Xcos-Arduino}{38}%
+\contentsline {section}{\numberline {3.4}Python}{39}%
+\contentsline {subsection}{\numberline {3.4.1}Downloading and installing Python}{40}%
+\contentsline {section}{\numberline {3.5}Julia}{40}%
+\contentsline {subsection}{\numberline {3.5.1}Downloading and installing Julia}{40}%
+\contentsline {subsection}{\numberline {3.5.2}Downloading and installing Juno IDE}{42}%
+\contentsline {subsection}{\numberline {3.5.3}Julia Arduino toolbox}{44}%
+\contentsline {subsection}{\numberline {3.5.4}Using the serial port package}{44}%
+\contentsline {section}{\numberline {3.6}OpenModelica}{45}%
+\contentsline {subsection}{\numberline {3.6.1}Downloading and installing OpenModelica}{45}%
+\contentsline {subsection}{\numberline {3.6.2}Executing OpenModelica}{46}%
+\contentsline {subsection}{\numberline {3.6.3}OpenModelica Arduino toolbox}{46}%
+\contentsline {section}{\numberline {3.7}Code}{46}%
+\contentsline {subsection}{\numberline {3.7.1}Arduino Code}{47}%
+\contentsline {subsection}{\numberline {3.7.2}Scilab Code}{47}%
+\contentsline {subsection}{\numberline {3.7.3}Python Code}{47}%
+\contentsline {subsection}{\numberline {3.7.4}Julia Code}{48}%
+\contentsline {subsection}{\numberline {3.7.5}OpenModelica Code}{48}%
+\contentsline {chapter}{\numberline {4}Interfacing a Light Emitting Diode}{51}%
+\contentsline {section}{\numberline {4.1}Preliminaries}{51}%
+\contentsline {section}{\numberline {4.2}Lighting the LED from the Arduino IDE}{53}%
+\contentsline {paragraph}{Note:}{54}%
+\contentsline {paragraph}{Note:}{54}%
+\contentsline {section}{\numberline {4.3}Lighting the LED from Scilab Scripts}{55}%
+\contentsline {section}{\numberline {4.4}Lighting the LED from Scilab Xcos}{57}%
+\contentsline {section}{\numberline {4.5}Lighting the LED from Python Scripts}{61}%
+\contentsline {section}{\numberline {4.6}Lighting the LED from Julia Scripts}{64}%
+\contentsline {section}{\numberline {4.7}Lighting the LED from OpenModelica Scripts}{65}%
+\contentsline {section}{\numberline {4.8}Arduino Code}{67}%
+\contentsline {section}{\numberline {4.9}Scilab Code}{68}%
+\contentsline {section}{\numberline {4.10}Python Code}{69}%
+\contentsline {section}{\numberline {4.11}Julia Code}{73}%
+\contentsline {section}{\numberline {4.12}OpenModelica Code}{74}%
+\contentsline {chapter}{\numberline {5}Interfacing a Pushbutton}{79}%
+\contentsline {section}{\numberline {5.1}Preliminaries}{79}%
+\contentsline {section}{\numberline {5.2}Reading the Pushbutton status from the Arduino IDE}{79}%
+\contentsline {section}{\numberline {5.3}Reading the Pushbutton status from Scilab Scripts}{81}%
+\contentsline {section}{\numberline {5.4}Accessing the Pushbutton from Xcos}{82}%
+\contentsline {section}{\numberline {5.5}Reading the Pushbutton status from Python Scripts}{84}%
+\contentsline {section}{\numberline {5.6}Reading the Pushbutton status from julia Scripts}{85}%
+\contentsline {section}{\numberline {5.7}Reading the Pushbutton status from OpenModelica Scripts}{86}%
+\contentsline {section}{\numberline {5.8}Arduino Code}{86}%
+\contentsline {section}{\numberline {5.9}Scilab Code}{87}%
+\contentsline {section}{\numberline {5.10}Python Code}{88}%
+\contentsline {section}{\numberline {5.11}Julia Code}{89}%
+\contentsline {section}{\numberline {5.12}OpenModelica Code}{90}%
+\contentsline {chapter}{\numberline {6}Interfacing a Light Dependent Resistor}{93}%
+\contentsline {section}{\numberline {6.1}Preliminaries}{93}%
+\contentsline {section}{\numberline {6.2}Arduino Experiments}{95}%
+\contentsline {section}{\numberline {6.3}Scilab Experiments}{96}%
+\contentsline {section}{\numberline {6.4}LDR experiments through Xcos}{97}%
+\contentsline {section}{\numberline {6.5}Python Experiments}{98}%
+\contentsline {section}{\numberline {6.6}Julia Experiments}{101}%
+\contentsline {section}{\numberline {6.7}OpenModelica Experiments}{101}%
+\contentsline {section}{\numberline {6.8}Arduino Code}{102}%
+\contentsline {section}{\numberline {6.9}Scilab Code}{103}%
+\contentsline {section}{\numberline {6.10}Python Code}{104}%
+\contentsline {section}{\numberline {6.11}Julia Code}{105}%
+\contentsline {section}{\numberline {6.12}OpenModelica Code}{106}%
+\contentsline {chapter}{\numberline {7}Interfacing a DC motor}{109}%
+\contentsline {section}{\numberline {7.1}Preliminaries}{109}%
+\contentsline {section}{\numberline {7.2}Controlling the DC motor from Arduino}{111}%
+\contentsline {section}{\numberline {7.3}Controlling the DC motor from Scilab}{113}%
+\contentsline {subsection}{\numberline {7.3.1}Initialization}{113}%
+\contentsline {subsection}{\numberline {7.3.2}Rotation for a specified time}{113}%
+\contentsline {subsection}{\numberline {7.3.3}Using the capabilities of Scilab}{115}%
+\contentsline {section}{\numberline {7.4}Driving the DC motor from Xcos}{115}%
+\contentsline {section}{\numberline {7.5}Controlling the DC motor from Python}{119}%
+\contentsline {section}{\numberline {7.6}Controlling the DC motor from Julia}{120}%
+\contentsline {section}{\numberline {7.7}Controlling the DC motor from OpenModelica}{121}%
+\contentsline {section}{\numberline {7.8}Arduino Code}{121}%
+\contentsline {section}{\numberline {7.9}Scilab Code}{123}%
+\contentsline {section}{\numberline {7.10}Python Code}{124}%
+\contentsline {section}{\numberline {7.11}Julia Code}{127}%
+\contentsline {section}{\numberline {7.12}OpenModelica Code}{128}%
+\contentsline {chapter}{\numberline {8}Interfacing a Potentiometer}{131}%
+\contentsline {section}{\numberline {8.1}Preliminaries}{131}%
+\contentsline {section}{\numberline {8.2}Reading the potentiometer from the Arduino IDE}{132}%
+\contentsline {section}{\numberline {8.3}Reading the potentiometer from Scilab Script}{133}%
+\contentsline {section}{\numberline {8.4}Reading the potentiometer from Scilab Xcos}{134}%
+\contentsline {section}{\numberline {8.5}Exercise}{136}%
+\contentsline {section}{\numberline {8.6}Reading the potentiometer from Python Script}{136}%
+\contentsline {section}{\numberline {8.7}Reading the potentiometer from Julia Script}{136}%
+\contentsline {section}{\numberline {8.8}Reading the potentiometer from OpenModelica Script}{137}%
+\contentsline {section}{\numberline {8.9}Arduino Code}{137}%
+\contentsline {section}{\numberline {8.10}Scilab Code}{138}%
+\contentsline {section}{\numberline {8.11}Python Code}{139}%
+\contentsline {section}{\numberline {8.12}Julia Code}{140}%
+\contentsline {section}{\numberline {8.13}OpenModelica Code}{141}%
+\contentsline {chapter}{\numberline {9}Interfacing a Thermistor}{143}%
+\contentsline {section}{\numberline {9.1}Preliminaries}{143}%
+\contentsline {section}{\numberline {9.2}Reading thermistor from Arduino IDE}{144}%
+\contentsline {section}{\numberline {9.3}Reading thermistor from Scilab\ scripts}{146}%
+\contentsline {section}{\numberline {9.4}Reading thermistor from Xcos}{147}%
+\contentsline {section}{\numberline {9.5}Reading thermistor from Python scripts}{149}%
+\contentsline {section}{\numberline {9.6}Reading thermistor from Julia scripts}{151}%
+\contentsline {section}{\numberline {9.7}Reading thermistor from OpenModelica scripts}{152}%
+\contentsline {section}{\numberline {9.8}Arduino Code}{153}%
+\contentsline {section}{\numberline {9.9}Scilab Code}{154}%
+\contentsline {section}{\numberline {9.10}Python Code}{155}%
+\contentsline {section}{\numberline {9.11}Julia Code}{157}%
+\contentsline {section}{\numberline {9.12}OpenModelica Code}{157}%
+\contentsline {chapter}{\numberline {10}Interfacing a Servomotor}{161}%
+\contentsline {section}{\numberline {10.1}Preliminaries}{161}%
+\contentsline {section}{\numberline {10.2}Control through Arduino IDE}{162}%
+\contentsline {section}{\numberline {10.3}Control through Scilab Scripts}{163}%
+\contentsline {section}{\numberline {10.4}Control through Xcos code}{164}%
+\contentsline {section}{\numberline {10.5}Control through Python Scripts}{169}%
+\contentsline {section}{\numberline {10.6}Control through Julia Scripts}{170}%
+\contentsline {section}{\numberline {10.7}Control through OpenModelica Scripts}{171}%
+\contentsline {section}{\numberline {10.8}Arduino Code}{172}%
+\contentsline {section}{\numberline {10.9}Scilab Code}{174}%
+\contentsline {section}{\numberline {10.10}Python Code}{175}%
+\contentsline {section}{\numberline {10.11}Julia Code}{179}%
+\contentsline {section}{\numberline {10.12}OpenModelica Code}{180}%
+\contentsline {chapter}{\numberline {11}Implementation of Modbus Protocol}{185}%
+\contentsline {section}{\numberline {11.1}Preliminaries}{185}%
+\contentsline {section}{\numberline {11.2}Objective}{190}%
+\contentsline {section}{\numberline {11.3}Energy Meter set up for Modbus protocol with Arduino Uno}{190}%
+\contentsline {section}{\numberline {11.4}Software}{191}%
+\contentsline {section}{\numberline {11.5}Output}{192}%
+\contentsline {section}{\numberline {11.6}Reading Parameters from Xcos}{194}%
+\contentsline {subsection}{\numberline {11.6.1}Troubleshooting}{194}%
+\contentsline {section}{\numberline {11.7}Arduino Code}{199}%
+\contentsline {section}{\numberline {11.8}Scilab Code}{199}%
+\contentsline {section}{\numberline {11.9}Python Code}{200}%
+\contentsline {section}{\numberline {11.10}Julia Code}{201}%
+\contentsline {section}{\numberline {11.11}OpenModelica Code}{202}%
+\contentsline {chapter}{\numberline {References}}{205}%
diff --git a/scilab-arduino/scilab-arduino_2_March_2021.pdf b/scilab-arduino/scilab-arduino_2_March_2021.pdf
new file mode 100644
index 0000000..b47a1c9
--- /dev/null
+++ b/scilab-arduino/scilab-arduino_2_March_2021.pdf
Binary files differ
diff --git a/scilab-arduino/spoken/02-slide.aux b/scilab-arduino/spoken/02-slide.aux
new file mode 100644
index 0000000..5ab7306
--- /dev/null
+++ b/scilab-arduino/spoken/02-slide.aux
@@ -0,0 +1,57 @@
+\relax
+\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
+\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
+\global\let\oldcontentsline\contentsline
+\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
+\global\let\oldnewlabel\newlabel
+\gdef\newlabel#1#2{\newlabelxx{#1}#2}
+\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
+\AtEndDocument{\ifx\hyper@anchor\@undefined
+\let\contentsline\oldcontentsline
+\let\newlabel\oldnewlabel
+\fi}
+\fi}
+\global\let\hyper@last\relax
+\gdef\HyperFirstAtBeginDocument#1{#1}
+\providecommand\HyField@AuxAddToFields[1]{}
+\@writefile{toc}{\beamer@endinputifotherversion {3.10pt}}
+\@writefile{nav}{\beamer@endinputifotherversion {3.10pt}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {2}{2}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{3}{3/3}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {3}{3}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{4}{4/4}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {4}{4}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{5}{5/5}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {5}{5}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{6}{6/6}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {6}{6}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{7}{7/7}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {7}{7}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{8}{8/8}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {8}{8}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{9}{9/9}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {9}{9}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{10}{10/10}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {10}{10}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{11}{11/12}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {11}{12}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{12}{13/13}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{13}{14/14}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {14}{14}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{14}{15/15}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {15}{15}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{15}{16/16}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {16}{16}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{16}{17/17}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {17}{17}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{17}{18/18}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {18}{18}}}
+\@writefile{nav}{\headcommand {\beamer@partpages {1}{18}}}
+\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{18}}}
+\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{18}}}
+\@writefile{nav}{\headcommand {\beamer@documentpages {18}}}
+\@writefile{nav}{\headcommand {\def \inserttotalframenumber {17}}}
diff --git a/scilab-arduino/spoken/02-slide.log b/scilab-arduino/spoken/02-slide.log
new file mode 100644
index 0000000..d48842f
--- /dev/null
+++ b/scilab-arduino/spoken/02-slide.log
@@ -0,0 +1,1204 @@
+This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010) (format=pdflatex 2011.1.23) 3 JUL 2015 10:06
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**\input 02-slide.tex
+(./02-slide.tex (/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamer.cls
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasercs.sty
+Package: beamerbasercs 2010/06/12 (rcs-revision c3821710bb40)
+)
+Document Class: beamer 2010/06/21 development version 3.10 A class for typesett
+ing presentations (rcs-revision a6b1a8434d30)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasemodes.sty
+Package: beamerbasemodes 2010/05/01 (rcs-revision efa082c6111d)
+\beamer@tempbox=\box26
+\beamer@tempcount=\count79
+\c@beamerpauses=\count80
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasedecode.sty
+Package: beamerbasedecode 2010/05/01 (rcs-revision efa082c6111d)
+\beamer@slideinframe=\count81
+\beamer@minimum=\count82
+)
+\beamer@commentbox=\box27
+\beamer@modecount=\count83
+)
+\headheight=\dimen102
+\headdp=\dimen103
+\footheight=\dimen104
+\sidebarheight=\dimen105
+\beamer@tempdim=\dimen106
+\beamer@finalheight=\dimen107
+\beamer@animht=\dimen108
+\beamer@animdp=\dimen109
+\beamer@animwd=\dimen110
+\beamer@leftmargin=\dimen111
+\beamer@rightmargin=\dimen112
+\beamer@leftsidebar=\dimen113
+\beamer@rightsidebar=\dimen114
+\beamer@boxsize=\dimen115
+\beamer@vboxoffset=\dimen116
+\beamer@descdefault=\dimen117
+\beamer@descriptionwidth=\dimen118
+\beamer@lastskip=\skip41
+\beamer@areabox=\box28
+\beamer@animcurrent=\box29
+\beamer@animshowbox=\box30
+\beamer@sectionbox=\box31
+\beamer@logobox=\box32
+\beamer@linebox=\box33
+\beamer@sectioncount=\count84
+\beamer@subsubsectionmax=\count85
+\beamer@subsectionmax=\count86
+\beamer@sectionmax=\count87
+\beamer@totalheads=\count88
+\beamer@headcounter=\count89
+\beamer@partstartpage=\count90
+\beamer@sectionstartpage=\count91
+\beamer@subsectionstartpage=\count92
+\beamer@animationtempa=\count93
+\beamer@animationtempb=\count94
+\beamer@xpos=\count95
+\beamer@ypos=\count96
+\beamer@showpartnumber=\count97
+\beamer@currentsubsection=\count98
+\beamer@coveringdepth=\count99
+\beamer@sectionadjust=\count100
+\beamer@tocsectionnumber=\count101
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbaseoptions.sty
+Package: beamerbaseoptions 2010/04/27 (rcs-revision 982469101dd6)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks14
+))
+\beamer@paperwidth=\skip42
+\beamer@paperheight=\skip43
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/geometry/geometry.sty
+Package: geometry 2010/07/13 v5.5 Page Geometry
+
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/ifpdf.sty
+Package: ifpdf 2010/01/28 v2.1 Provides the ifpdf switch (HO)
+Package ifpdf Info: pdfTeX in pdf mode detected.
+)
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/ifvtex.sty
+Package: ifvtex 2010/03/01 v1.5 Switches for detecting VTeX and its modes (HO)
+Package ifvtex Info: VTeX not detected.
+)
+\Gm@cnth=\count102
+\Gm@cntv=\count103
+\c@Gm@tempcnt=\count104
+\Gm@bindingoffset=\dimen119
+\Gm@wd@mp=\dimen120
+\Gm@odd@mp=\dimen121
+\Gm@even@mp=\dimen122
+\Gm@layoutwidth=\dimen123
+\Gm@layoutheight=\dimen124
+\Gm@layouthoffset=\dimen125
+\Gm@layoutvoffset=\dimen126
+\Gm@dimlist=\toks15
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/extsizes/size17.clo
+File: size17.clo 1999/11/11 NON-Standard LaTeX file (size option)
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/latex/pgf/basiclayer/pg
+fcore.sty (/usr/local/texlive/2010/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/latexconfig/graphics.cfg
+File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
+)
+Package graphics Info: Driver file: pdftex.def on input line 91.
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/pdftex-def/pdftex.def
+File: pdftex.def 2010/02/14 v0.04n Graphics/color for pdfTeX
+\Gread@gobject=\count105
+))
+\Gin@req@height=\dimen127
+\Gin@req@width=\dimen128
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/latex/pgf/systemlayer/p
+gfsys.sty
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/latex/pgf/utilities/pgf
+rcs.sty
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/utilities/p
+gfutil-common.tex
+\pgfutil@everybye=\toks16
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/utilities/p
+gfutil-latex.def
+\pgfutil@abb=\box34
+ (/usr/local/texlive/2010/texmf-dist/tex/latex/ms/everyshi.sty
+Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS)
+))
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/utilities/p
+gfrcs.code.tex
+Package: pgfrcs 2010/10/25 v2.10 (rcs-revision 1.24)
+))
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/systemlayer
+/pgfsys.code.tex
+Package: pgfsys 2010/06/30 v2.10 (rcs-revision 1.37)
+
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/utilities/p
+gfkeys.code.tex
+\pgfkeys@pathtoks=\toks17
+\pgfkeys@temptoks=\toks18
+
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/utilities/p
+gfkeysfiltered.code.tex
+\pgfkeys@tmptoks=\toks19
+))
+\pgf@x=\dimen129
+\pgf@y=\dimen130
+\pgf@xa=\dimen131
+\pgf@ya=\dimen132
+\pgf@xb=\dimen133
+\pgf@yb=\dimen134
+\pgf@xc=\dimen135
+\pgf@yc=\dimen136
+\w@pgf@writea=\write3
+\r@pgf@reada=\read1
+\c@pgf@counta=\count106
+\c@pgf@countb=\count107
+\c@pgf@countc=\count108
+\c@pgf@countd=\count109
+
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/systemlayer
+/pgf.cfg
+File: pgf.cfg 2008/05/14 (rcs-revision 1.7)
+)
+Package pgfsys Info: Driver file for pgf: pgfsys-pdftex.def on input line 900.
+
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/systemlayer
+/pgfsys-pdftex.def
+File: pgfsys-pdftex.def 2009/05/22 (rcs-revision 1.26)
+
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/systemlayer
+/pgfsys-common-pdf.def
+File: pgfsys-common-pdf.def 2008/05/19 (rcs-revision 1.10)
+)))
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/systemlayer
+/pgfsyssoftpath.code.tex
+File: pgfsyssoftpath.code.tex 2008/07/18 (rcs-revision 1.7)
+\pgfsyssoftpath@smallbuffer@items=\count110
+\pgfsyssoftpath@bigbuffer@items=\count111
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/systemlayer
+/pgfsysprotocol.code.tex
+File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4)
+))
+(/usr/local/texlive/2010/texmf-dist/tex/latex/xcolor/xcolor.sty
+Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/latexconfig/color.cfg
+File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
+)
+Package xcolor Info: Driver file: pdftex.def on input line 225.
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/colortbl/colortbl.sty
+Package: colortbl 2001/02/13 v0.1j Color table columns (DPC)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/tools/array.sty
+Package: array 2008/09/09 v2.4c Tabular extension package (FMi)
+\col@sep=\dimen137
+\extrarowheight=\dimen138
+\NC@list=\toks20
+\extratabsurround=\skip44
+\backup@length=\skip45
+)
+\everycr=\toks21
+\minrowclearance=\skip46
+)
+\rownum=\count112
+Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337.
+Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341.
+Package xcolor Info: Model `RGB' extended on input line 1353.
+Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355.
+Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356.
+Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357.
+Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358.
+Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359.
+Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360.
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcore.code.tex
+Package: pgfcore 2010/04/11 v2.10 (rcs-revision 1.7)
+
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+h.code.tex
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hcalc.code.tex
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hutil.code.tex)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hparser.code.tex
+\pgfmath@dimen=\dimen139
+\pgfmath@count=\count113
+\pgfmath@box=\box35
+\pgfmath@toks=\toks22
+\pgfmath@stack@operand=\toks23
+\pgfmath@stack@operation=\toks24
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hfunctions.code.tex
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hfunctions.basic.code.tex)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hfunctions.trigonometric.code.tex)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hfunctions.random.code.tex)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hfunctions.comparison.code.tex)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hfunctions.base.code.tex)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hfunctions.round.code.tex)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hfunctions.misc.code.tex)))
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/math/pgfmat
+hfloat.code.tex
+\c@pgfmathroundto@lastzeros=\count114
+))
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcorepoints.code.tex
+File: pgfcorepoints.code.tex 2010/04/09 (rcs-revision 1.20)
+\pgf@picminx=\dimen140
+\pgf@picmaxx=\dimen141
+\pgf@picminy=\dimen142
+\pgf@picmaxy=\dimen143
+\pgf@pathminx=\dimen144
+\pgf@pathmaxx=\dimen145
+\pgf@pathminy=\dimen146
+\pgf@pathmaxy=\dimen147
+\pgf@xx=\dimen148
+\pgf@xy=\dimen149
+\pgf@yx=\dimen150
+\pgf@yy=\dimen151
+\pgf@zx=\dimen152
+\pgf@zy=\dimen153
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcorepathconstruct.code.tex
+File: pgfcorepathconstruct.code.tex 2010/08/03 (rcs-revision 1.24)
+\pgf@path@lastx=\dimen154
+\pgf@path@lasty=\dimen155
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcorepathusage.code.tex
+File: pgfcorepathusage.code.tex 2008/04/22 (rcs-revision 1.12)
+\pgf@shorten@end@additional=\dimen156
+\pgf@shorten@start@additional=\dimen157
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcorescopes.code.tex
+File: pgfcorescopes.code.tex 2010/09/08 (rcs-revision 1.34)
+\pgfpic=\box36
+\pgf@hbox=\box37
+\pgf@layerbox@main=\box38
+\pgf@picture@serial@count=\count115
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcoregraphicstate.code.tex
+File: pgfcoregraphicstate.code.tex 2008/04/22 (rcs-revision 1.9)
+\pgflinewidth=\dimen158
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcoretransformations.code.tex
+File: pgfcoretransformations.code.tex 2009/06/10 (rcs-revision 1.11)
+\pgf@pt@x=\dimen159
+\pgf@pt@y=\dimen160
+\pgf@pt@temp=\dimen161
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcorequick.code.tex
+File: pgfcorequick.code.tex 2008/10/09 (rcs-revision 1.3)
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcoreobjects.code.tex
+File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2)
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcorepathprocessing.code.tex
+File: pgfcorepathprocessing.code.tex 2008/10/09 (rcs-revision 1.8)
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcorearrows.code.tex
+File: pgfcorearrows.code.tex 2008/04/23 (rcs-revision 1.11)
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcoreshade.code.tex
+File: pgfcoreshade.code.tex 2008/11/23 (rcs-revision 1.13)
+\pgf@max=\dimen162
+\pgf@sys@shading@range@num=\count116
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcoreimage.code.tex
+File: pgfcoreimage.code.tex 2010/03/25 (rcs-revision 1.16)
+
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcoreexternal.code.tex
+File: pgfcoreexternal.code.tex 2010/09/01 (rcs-revision 1.17)
+\pgfexternal@startupbox=\box39
+))
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcorelayers.code.tex
+File: pgfcorelayers.code.tex 2010/08/27 (rcs-revision 1.2)
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcoretransparency.code.tex
+File: pgfcoretransparency.code.tex 2008/01/17 (rcs-revision 1.2)
+)
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/generic/pgf/basiclayer/
+pgfcorepatterns.code.tex
+File: pgfcorepatterns.code.tex 2009/07/02 (rcs-revision 1.3)
+)))
+(/Users/kannan/Library/texmf/tex/latex/pgf_2.10.tds/tex/latex/pgf/utilities/xxc
+olor.sty
+Package: xxcolor 2003/10/24 ver 0.1
+\XC@nummixins=\count117
+\XC@countmixins=\count118
+) (/usr/local/texlive/2010/texmf-dist/tex/latex/hyperref/hyperref.sty
+Package: hyperref 2010/06/18 v6.81g Hypertext links for LaTeX
+
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
+Package: ltxcmds 2010/04/26 v1.7 LaTeX kernel commands for general use (HO)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
+Package: kvsetkeys 2010/03/01 v1.9 Key value parser (HO)
+
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/infwarerr.sty
+Package: infwarerr 2010/04/08 v1.3 Providing info/warning/message (HO)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/etexcmds.sty
+Package: etexcmds 2010/01/28 v1.3 Prefix for e-TeX command names (HO)
+Package etexcmds Info: Could not find \expanded.
+(etexcmds) That can mean that you are not using pdfTeX 1.50 or
+(etexcmds) that some package has redefined \expanded.
+(etexcmds) In the latter case, load this package earlier.
+))
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/pdfescape.sty
+Package: pdfescape 2010/03/01 v1.9 Provides hex, PDF name and string conversion
+s (HO)
+
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
+Package: pdftexcmds 2010/04/01 v0.9 Utility functions of pdfTeX for LuaTeX (HO)
+
+
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/ifluatex.sty
+Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
+Package ifluatex Info: LuaTeX not detected.
+)
+Package pdftexcmds Info: LuaTeX not detected.
+Package pdftexcmds Info: \pdf@primitive is available.
+Package pdftexcmds Info: \pdf@ifprimitive is available.
+))
+(/usr/local/texlive/2010/texmf-dist/tex/generic/ifxetex/ifxetex.sty
+Package: ifxetex 2009/01/23 v0.5 Provides ifxetex conditional
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/hycolor.sty
+Package: hycolor 2009/12/12 v1.6 Color options of hyperref/bookmark (HO)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/xcolor-patch.sty
+Package: xcolor-patch 2009/12/12 xcolor patch
+))
+(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/letltxmacro.sty
+Package: letltxmacro 2008/06/24 v1.3 Let assignment for LaTeX macros (HO)
+)
+\@linkdim=\dimen163
+\Hy@linkcounter=\count119
+\Hy@pagecounter=\count120
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/hyperref/pd1enc.def
+File: pd1enc.def 2010/06/18 v6.81g Hyperref: PDFDocEncoding definition (HO)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/intcalc.sty
+Package: intcalc 2007/09/27 v1.1 Expandable integer calculations (HO)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/latexconfig/hyperref.cfg
+File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/kvoptions.sty
+Package: kvoptions 2010/02/22 v3.7 Keyval support for LaTeX options (HO)
+)
+Package hyperref Info: Option `bookmarks' set `true' on input line 3577.
+Package hyperref Info: Option `bookmarksopen' set `true' on input line 3577.
+Package hyperref Info: Option `implicit' set `false' on input line 3577.
+Package hyperref Info: Hyper figures OFF on input line 3658.
+Package hyperref Info: Link nesting OFF on input line 3663.
+Package hyperref Info: Hyper index ON on input line 3666.
+Package hyperref Info: Plain pages OFF on input line 3673.
+Package hyperref Info: Backreferencing OFF on input line 3678.
+
+Implicit mode OFF; no redefinition of LaTeX internals
+Package hyperref Info: Bookmarks ON on input line 3874.
+(/usr/local/texlive/2010/texmf-dist/tex/latex/url/url.sty
+\Urlmuskip=\muskip10
+Package: url 2006/04/12 ver 3.3 Verb mode for urls, etc.
+)
+LaTeX Info: Redefining \url on input line 4159.
+
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/bitset.sty
+Package: bitset 2007/09/28 v1.0 Data type bit set (HO)
+
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/bigintcalc.sty
+Package: bigintcalc 2007/11/11 v1.1 Expandable big integer calculations (HO)
+))
+\Fld@menulength=\count121
+\Field@Width=\dimen164
+\Fld@charsize=\dimen165
+\Field@toks=\toks25
+Package hyperref Info: Hyper figures OFF on input line 5137.
+Package hyperref Info: Link nesting OFF on input line 5142.
+Package hyperref Info: Hyper index ON on input line 5145.
+Package hyperref Info: backreferencing OFF on input line 5152.
+Package hyperref Info: Link coloring OFF on input line 5157.
+Package hyperref Info: Link coloring with OCG OFF on input line 5162.
+Package hyperref Info: PDF/A mode OFF on input line 5167.
+LaTeX Info: Redefining \ref on input line 5207.
+LaTeX Info: Redefining \pageref on input line 5211.
+
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/atbegshi.sty
+Package: atbegshi 2010/03/25 v1.12 At begin shipout hook (HO)
+)
+\Hy@abspage=\count122
+
+Hyperref stopped early
+)
+* hyperref using default driver hpdftex *
+(/usr/local/texlive/2010/texmf-dist/tex/latex/hyperref/hpdftex.def
+File: hpdftex.def 2010/06/18 v6.81g Hyperref driver for pdfTeX
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/atveryend.sty
+Package: atveryend 2010/03/24 v1.5 Hooks at very end of document (HO)
+Package atveryend Info: \enddocument detected (standard).
+)
+\Fld@listcount=\count123
+\c@bookmark@seq@number=\count124
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
+Package: rerunfilecheck 2010/03/16 v1.6 Rerun checks for auxiliary files (HO)
+
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/uniquecounter.sty
+Package: uniquecounter 2009/12/18 v1.1 Provides unlimited unique counter (HO)
+)
+Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
+71.
+))
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbaserequires.sty
+Package: beamerbaserequires 2010/05/01 (rcs-revision efa082c6111d)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasecompatibility.st
+y
+Package: beamerbasecompatibility 2010/07/12 (rcs-revision 6648c3177e4e)
+) (/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasefont.sty
+Package: beamerbasefont 2010/05/10 (rcs-revision cd36e8a33c6b)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2009/06/22 v3.00
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2009/06/22 v3.00 Basic AMSFonts support
+\@emptytoks=\toks26
+\symAMSa=\mathgroup4
+\symAMSb=\mathgroup5
+LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
+(Font) U/euf/m/n --> U/euf/b/n on input line 96.
+)))
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasetranslator.sty
+Package: beamerbasetranslator 2010/06/11 (rcs-revision 85fd1cc7fc42)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/translator/translator.sty
+Package: translator 2010/06/12 ver 1.10
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/translator/translator-lang
+uage-mappings.tex)))
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasemisc.sty
+Package: beamerbasemisc 2010/06/06 (rcs-revision bff0a9294b45)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasetwoscreens.sty
+Package: beamerbasetwoscreens 2010/05/01 (rcs-revision efa082c6111d)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbaseoverlay.sty
+Package: beamerbaseoverlay 2010/05/07 (rcs-revision 5584dad462a9)
+\beamer@argscount=\count125
+\beamer@lastskipcover=\skip47
+\beamer@trivlistdepth=\count126
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasetitle.sty
+Package: beamerbasetitle 2010/06/12 (rcs-revision 717e481ca47a)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasesection.sty
+Package: beamerbasesection 2010/06/17 (rcs-revision e0d9401bb743)
+\c@lecture=\count127
+\c@part=\count128
+\c@section=\count129
+\c@subsection=\count130
+\c@subsubsection=\count131
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbaseframe.sty
+Package: beamerbaseframe 2010/06/06 (rcs-revision bff0a9294b45)
+\beamer@framebox=\box40
+\beamer@frametitlebox=\box41
+\beamer@zoombox=\box42
+\beamer@zoomcount=\count132
+\beamer@zoomframecount=\count133
+\beamer@frametextheight=\dimen166
+\c@subsectionslide=\count134
+\beamer@frametopskip=\skip48
+\beamer@framebottomskip=\skip49
+\beamer@frametopskipautobreak=\skip50
+\beamer@framebottomskipautobreak=\skip51
+\beamer@envbody=\toks27
+\c@framenumber=\count135
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbaseverbatim.sty
+Package: beamerbaseverbatim 2010/05/01 (rcs-revision efa082c6111d)
+\beamer@verbatimfileout=\write4
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbaseframesize.sty
+Package: beamerbaseframesize 2010/06/27 (rcs-revision 6baa2d92e6f1)
+\beamer@splitbox=\box43
+\beamer@autobreakcount=\count136
+\beamer@autobreaklastheight=\dimen167
+\beamer@frametitletoks=\toks28
+\beamer@framesubtitletoks=\toks29
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbaseframecomponents.
+sty
+Package: beamerbaseframecomponents 2010/07/12 (rcs-revision 09e82992d9b1)
+\beamer@footins=\box44
+) (/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasecolor.sty
+Package: beamerbasecolor 2010/06/06 (rcs-revision d1a9b48be06d)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasenotes.sty
+Package: beamerbasenotes 2010/05/01 (rcs-revision efa082c6111d)
+\beamer@frameboxcopy=\box45
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasetoc.sty
+Package: beamerbasetoc 2010/06/11 (rcs-revision 242ecaa6783b)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasetemplates.sty
+Package: beamerbasetemplates 2010/05/01 (rcs-revision efa082c6111d)
+\beamer@sbttoks=\toks30
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbaseauxtemplates.sty
+Package: beamerbaseauxtemplates 2010/05/01 (rcs-revision efa082c6111d)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbaseboxes.sty
+Package: beamerbaseboxes 2010/05/01 (rcs-revision efa082c6111d)
+\bmb@box=\box46
+\bmb@colorbox=\box47
+\bmb@boxshadow=\box48
+\bmb@boxshadowball=\box49
+\bmb@boxshadowballlarge=\box50
+\bmb@temp=\dimen168
+\bmb@dima=\dimen169
+\bmb@dimb=\dimen170
+\bmb@prevheight=\dimen171
+)
+\beamer@blockheadheight=\dimen172
+))
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbaselocalstructure.s
+ty
+Package: beamerbaselocalstructure 2010/06/01 (rcs-revision 81f9e33f7cc2)
+ (/usr/local/texlive/2010/texmf-dist/tex/latex/tools/enumerate.sty
+Package: enumerate 1999/03/05 v3.00 enumerate extensions (DPC)
+\@enLab=\toks31
+)
+\c@figure=\count137
+\c@table=\count138
+\abovecaptionskip=\skip52
+\belowcaptionskip=\skip53
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasenavigation.sty
+Package: beamerbasenavigation 2010/05/01 (rcs-revision efa082c6111d)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasetheorems.sty
+Package: beamerbasetheorems 2010/06/06 (rcs-revision 7e7cc5e53e9d)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2000/07/18 v2.13 AMS math features
+\@mathmargin=\skip54
+
+For additional information on amsmath, use the `?' option.
+(/usr/local/texlive/2010/texmf-dist/tex/latex/amsmath/amstext.sty
+Package: amstext 2000/06/29 v2.01
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/amsmath/amsgen.sty
+File: amsgen.sty 1999/11/30 v2.0
+\@emptytoks=\toks32
+\ex@=\dimen173
+))
+(/usr/local/texlive/2010/texmf-dist/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d
+\pmbraise@=\dimen174
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/amsmath/amsopn.sty
+Package: amsopn 1999/12/14 v2.01 operator names
+)
+\inf@bad=\count139
+LaTeX Info: Redefining \frac on input line 211.
+\uproot@=\count140
+\leftroot@=\count141
+LaTeX Info: Redefining \overline on input line 307.
+\classnum@=\count142
+\DOTSCASE@=\count143
+LaTeX Info: Redefining \ldots on input line 379.
+LaTeX Info: Redefining \dots on input line 382.
+LaTeX Info: Redefining \cdots on input line 467.
+\Mathstrutbox@=\box51
+\strutbox@=\box52
+\big@size=\dimen175
+LaTeX Font Info: Redeclaring font encoding OML on input line 567.
+LaTeX Font Info: Redeclaring font encoding OMS on input line 568.
+\macc@depth=\count144
+\c@MaxMatrixCols=\count145
+\dotsspace@=\muskip11
+\c@parentequation=\count146
+\dspbrk@lvl=\count147
+\tag@help=\toks33
+\row@=\count148
+\column@=\count149
+\maxfields@=\count150
+\andhelp@=\toks34
+\eqnshift@=\dimen176
+\alignsep@=\dimen177
+\tagshift@=\dimen178
+\tagwidth@=\dimen179
+\totwidth@=\dimen180
+\lineht@=\dimen181
+\@envbody=\toks35
+\multlinegap=\skip55
+\multlinetaggap=\skip56
+\mathdisplay@stack=\toks36
+LaTeX Info: Redefining \[ on input line 2666.
+LaTeX Info: Redefining \] on input line 2667.
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/amscls/amsthm.sty
+Package: amsthm 2004/08/06 v2.20
+\thm@style=\toks37
+\thm@bodyfont=\toks38
+\thm@headfont=\toks39
+\thm@notefont=\toks40
+\thm@headpunct=\toks41
+\thm@preskip=\skip57
+\thm@postskip=\skip58
+\thm@headsep=\skip59
+\dth@everypar=\toks42
+)
+\c@theorem=\count151
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/beamerbasethemes.sty
+Package: beamerbasethemes 2010/05/01 (rcs-revision efa082c6111d)
+))
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/theme/beamerthemede
+fault.sty
+Package: beamerthemedefault 2010/06/17 (rcs-revision d02a7cf4d8ae)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/font/beamerfontthem
+edefault.sty
+Package: beamerfontthemedefault 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/color/beamercolorth
+emedefault.sty
+Package: beamercolorthemedefault 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/inner/beamerinnerth
+emedefault.sty
+Package: beamerinnerthemedefault 2010/06/17 (rcs-revision d02a7cf4d8ae)
+\beamer@dima=\dimen182
+\beamer@dimb=\dimen183
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/outer/beamerouterth
+emedefault.sty
+Package: beamerouterthemedefault 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)))
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/theme/compatibility
+/beamerthemesplit.sty
+Package: beamerthemesplit 2010/06/17 (rcs-revision d02a7cf4d8ae)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/color/beamercolorth
+emewhale.sty
+Package: beamercolorthemewhale 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/outer/beamerouterth
+emesplit.sty
+Package: beamerouterthemesplit 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/font/beamerfontthem
+estructurebold.sty
+Package: beamerfontthemestructurebold 2010/06/17 (rcs-revision d02a7cf4d8ae)
+))
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/theme/compatibility
+/beamerthemeshadow.sty
+Package: beamerthemeshadow 2010/06/17 (rcs-revision d02a7cf4d8ae)
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/inner/beamerinnerth
+emerounded.sty
+Package: beamerinnerthemerounded 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/color/beamercolorth
+emeorchid.sty
+Package: beamercolorthemeorchid 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/themes/outer/beamerouterth
+emeshadow.sty
+Package: beamerouterthemeshadow 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)) (./02-slide.aux)
+\openout1 = `02-slide.aux'.
+
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 15.
+LaTeX Font Info: ... okay on input line 15.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 15.
+LaTeX Font Info: ... okay on input line 15.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 15.
+LaTeX Font Info: ... okay on input line 15.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 15.
+LaTeX Font Info: ... okay on input line 15.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 15.
+LaTeX Font Info: ... okay on input line 15.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 15.
+LaTeX Font Info: ... okay on input line 15.
+LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 15.
+LaTeX Font Info: ... okay on input line 15.
+
+*geometry* driver: auto-detecting
+*geometry* detected driver: pdftex
+*geometry* verbose mode - [ preamble ] result:
+* driver: pdftex
+* paper: custom
+* layout: <same size as paper>
+* layoutoffset:(h,v)=(0.0pt,0.0pt)
+* modes: includehead includefoot
+* h-part:(L,W,R)=(0.0pt, 357.08218pt, 7.11317pt)
+* v-part:(T,H,B)=(0.0pt, 273.14662pt, 0.0pt)
+* \paperwidth=364.19536pt
+* \paperheight=273.14662pt
+* \textwidth=357.08218pt
+* \textheight=244.6939pt
+* \oddsidemargin=-72.26999pt
+* \evensidemargin=-72.26999pt
+* \topmargin=-72.26999pt
+* \headheight=14.22636pt
+* \headsep=0.0pt
+* \topskip=17.0pt
+* \footskip=14.22636pt
+* \marginparwidth=2.0pt
+* \marginparsep=12.0pt
+* \columnsep=10.0pt
+* \skip\footins=14.0pt plus 5.0pt minus 3.0pt
+* \hoffset=0.0pt
+* \voffset=0.0pt
+* \mag=1000
+* \@twocolumnfalse
+* \@twosidefalse
+* \@mparswitchfalse
+* \@reversemarginfalse
+* (1in=72.27pt=25.4mm, 1cm=28.453pt)
+
+(/usr/local/texlive/2010/texmf-dist/tex/context/base/supp-pdf.mkii
+[Loading MPS to PDF converter (version 2006.09.02).]
+\scratchcounter=\count152
+\scratchdimen=\dimen184
+\scratchbox=\box53
+\nofMPsegments=\count153
+\nofMParguments=\count154
+\everyMPshowfont=\toks43
+\MPscratchCnt=\count155
+\MPscratchDim=\dimen185
+\MPnumerator=\count156
+\everyMPtoPDFconversion=\toks44
+) (/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
+Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/grfext.sty
+Package: grfext 2007/09/30 v1.0 Managing graphics extensions (HO)
+)
+Package grfext Info: Graphics extension search list:
+(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
+G,.JBIG2,.JB2,.eps]
+(grfext) \AppendGraphicsExtensions on input line 436.
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
+e
+))
+ABD: EveryShipout initializing macros
+\AtBeginShipoutBox=\box54
+Package hyperref Info: Link coloring OFF on input line 15.
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/hyperref/nameref.sty
+Package: nameref 2010/04/30 v2.40 Cross-referencing by name of section
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/refcount.sty
+Package: refcount 2008/08/11 v3.1 Data extraction from references (HO)
+)
+(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
+Package: gettitlestring 2009/12/18 v1.3 Cleanup title references (HO)
+)
+\c@section@level=\count157
+)
+LaTeX Info: Redefining \ref on input line 15.
+LaTeX Info: Redefining \pageref on input line 15.
+LaTeX Info: Redefining \nameref on input line 15.
+
+(./02-slide.out) (./02-slide.out)
+\@outlinefile=\write5
+\openout5 = `02-slide.out'.
+
+LaTeX Font Info: Overwriting symbol font `operators' in version `normal'
+(Font) OT1/cmr/m/n --> OT1/cmss/m/n on input line 15.
+LaTeX Font Info: Overwriting symbol font `operators' in version `bold'
+(Font) OT1/cmr/bx/n --> OT1/cmss/bx/n on input line 15.
+\symnumbers=\mathgroup6
+\sympureletters=\mathgroup7
+LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal'
+(Font) OT1/cmss/m/n --> OT1/cmr/m/n on input line 15.
+LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `normal'
+(Font) OT1/cmr/bx/n --> OT1/cmss/bx/n on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold'
+(Font) OT1/cmr/bx/n --> OT1/cmss/bx/n on input line 15.
+LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal'
+(Font) OT1/cmss/m/n --> OT1/cmss/m/n on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold'
+(Font) OT1/cmss/bx/n --> OT1/cmss/m/n on input line 15.
+LaTeX Font Info: Redeclaring math alphabet \mathit on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal'
+(Font) OT1/cmr/m/it --> OT1/cmss/m/it on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold'
+(Font) OT1/cmr/bx/it --> OT1/cmss/m/it on input line 15.
+LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal'
+(Font) OT1/cmtt/m/n --> OT1/cmtt/m/n on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold'
+(Font) OT1/cmtt/m/n --> OT1/cmtt/m/n on input line 15.
+LaTeX Font Info: Overwriting symbol font `numbers' in version `bold'
+(Font) OT1/cmss/m/n --> OT1/cmss/bx/n on input line 15.
+LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold'
+(Font) OT1/cmss/m/it --> OT1/cmss/bx/it on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold'
+(Font) OT1/cmss/bx/n --> OT1/cmr/bx/n on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold'
+(Font) OT1/cmss/bx/n --> OT1/cmss/bx/n on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold'
+(Font) OT1/cmss/m/n --> OT1/cmss/bx/n on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold'
+(Font) OT1/cmss/m/it --> OT1/cmss/bx/it on input line 15.
+LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold'
+(Font) OT1/cmtt/m/n --> OT1/cmtt/bx/n on input line 15.
+
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/translator/dicts/translato
+r-basic-dictionary/translator-basic-dictionary-English.dict
+Dictionary: translator-basic-dictionary, Language: English
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/translator/dicts/translato
+r-bibliography-dictionary/translator-bibliography-dictionary-English.dict
+Dictionary: translator-bibliography-dictionary, Language: English
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/translator/dicts/translato
+r-environment-dictionary/translator-environment-dictionary-English.dict
+Dictionary: translator-environment-dictionary, Language: English
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/translator/dicts/translato
+r-months-dictionary/translator-months-dictionary-English.dict
+Dictionary: translator-months-dictionary, Language: English
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/translator/dicts/translato
+r-numbers-dictionary/translator-numbers-dictionary-English.dict
+Dictionary: translator-numbers-dictionary, Language: English
+)
+(/usr/local/texlive/2010/texmf-dist/tex/latex/beamer/translator/dicts/translato
+r-theorem-dictionary/translator-theorem-dictionary-English.dict
+Dictionary: translator-theorem-dictionary, Language: English
+)
+(./02-slide.nav)
+
+Package hyperref Warning: Option `pdfauthor' has already been used,
+(hyperref) setting the option has no effect on input line 28.
+
+
+Overfull \vbox (66.56535pt too high) detected at line 32
+ []
+
+
+LaTeX Font Warning: Font shape `OT1/cmss/bx/n' in size <4> not available
+(Font) size <5> substituted on input line 32.
+
+<FOSSEE.jpeg, id=16, 159.59625pt x 60.225pt>
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+<ST-logo.jpeg, id=17, 183.21971pt x 183.21971pt>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+
+LaTeX Font Warning: Font shape `OT1/cmss/m/n' in size <4> not available
+(Font) size <5> substituted on input line 32.
+
+
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[1
+
+{/usr/local/texlive/2010/texmf-var/fonts/map/pdftex/updmap/pdftex.map} <./FOSSE
+E.jpeg> <./ST-logo.jpeg>]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[2
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[3
+
+] <figures/shield-crop.jpg, id=109, 348.30125pt x 236.885pt>
+File: figures/shield-crop.jpg Graphic file (type jpg)
+
+<use figures/shield-crop.jpg>
+Overfull \vbox (3.04439pt too high) detected at line 61
+ []
+
+File: FOSSEE.jpeg Graphic file (type jpg)
+<use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[4
+
+ <./figures/shield-crop.jpg>]
+<figures/cable.png, id=137, 308.65312pt x 228.855pt>
+File: figures/cable.png Graphic file (type png)
+ <use figures/cable.png>
+Overfull \vbox (22.76805pt too high) detected at line 68
+ []
+
+File: FOSSEE.jpeg Graphic file (type jpg)
+<use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[5
+
+ <./figures/cable.png>] <figures/USB.jpg, id=166, 4223.78pt x 3131.7pt>
+File: figures/USB.jpg Graphic file (type jpg)
+
+<use figures/USB.jpg>
+Overfull \vbox (22.72432pt too high) detected at line 75
+ []
+
+File: FOSSEE.jpeg Graphic file (type jpg)
+<use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[6
+
+ <./figures/USB.jpg>] <figures/LED.jpg, id=193, 4223.78pt x 3131.7pt>
+File: figures/LED.jpg Graphic file (type jpg)
+
+<use figures/LED.jpg>
+Overfull \vbox (22.72432pt too high) detected at line 82
+ []
+
+File: FOSSEE.jpeg Graphic file (type jpg)
+<use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[7
+
+ <./figures/LED.jpg>]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[8
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[9
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[10
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[11
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[12
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[13
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[14
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[15
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[16
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[17
+
+]
+File: FOSSEE.jpeg Graphic file (type jpg)
+ <use FOSSEE.jpeg>
+File: ST-logo.jpeg Graphic file (type jpg)
+ <use ST-logo.jpeg>
+Overfull \hbox (0.89719pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[18
+
+]
+\tf@nav=\write6
+\openout6 = `02-slide.nav'.
+
+\tf@toc=\write7
+\openout7 = `02-slide.toc'.
+
+\tf@snm=\write8
+\openout8 = `02-slide.snm'.
+
+Package atveryend Info: Empty hook `BeforeClearDocument' on input line 181.
+Package atveryend Info: Empty hook `AfterLastShipout' on input line 181.
+ (./02-slide.aux)
+Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 181.
+Package rerunfilecheck Info: File `02-slide.out' has not changed.
+(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0.
+
+
+LaTeX Font Warning: Size substitutions with differences
+(Font) up to 1.0pt have occurred.
+
+ )
+Here is how much of TeX's memory you used:
+ 15389 strings out of 493747
+ 293830 string characters out of 3143546
+ 359371 words of memory out of 3000000
+ 18225 multiletter control sequences out of 15000+200000
+ 6915 words of font info for 25 fonts, out of 3000000 for 9000
+ 715 hyphenation exceptions out of 8191
+ 55i,16n,57p,465b,556s stack positions out of 5000i,500n,10000p,200000b,50000s
+</usr/local/texlive/2010/texmf-dist/fonts/type1/public/amsfonts/cm/cmss17.pfb
+></usr/local/texlive/2010/texmf-dist/fonts/type1/public/amsfonts/cm/cmssbx10.pf
+b>
+Output written on 02-slide.pdf (18 pages, 3201673 bytes).
+PDF statistics:
+ 529 PDF objects out of 1000 (max. 8388607)
+ 484 compressed objects within 5 object streams
+ 37 named destinations out of 1000 (max. 500000)
+ 99 words of extra memory for PDF output out of 10000 (max. 10000000)
+
diff --git a/scilab-arduino/spoken/02-slide.nav b/scilab-arduino/spoken/02-slide.nav
new file mode 100644
index 0000000..3fce94e
--- /dev/null
+++ b/scilab-arduino/spoken/02-slide.nav
@@ -0,0 +1,40 @@
+\beamer@endinputifotherversion {3.10pt}
+\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}
+\headcommand {\beamer@framepages {1}{1}}
+\headcommand {\slideentry {0}{0}{2}{2/2}{}{0}}
+\headcommand {\beamer@framepages {2}{2}}
+\headcommand {\slideentry {0}{0}{3}{3/3}{}{0}}
+\headcommand {\beamer@framepages {3}{3}}
+\headcommand {\slideentry {0}{0}{4}{4/4}{}{0}}
+\headcommand {\beamer@framepages {4}{4}}
+\headcommand {\slideentry {0}{0}{5}{5/5}{}{0}}
+\headcommand {\beamer@framepages {5}{5}}
+\headcommand {\slideentry {0}{0}{6}{6/6}{}{0}}
+\headcommand {\beamer@framepages {6}{6}}
+\headcommand {\slideentry {0}{0}{7}{7/7}{}{0}}
+\headcommand {\beamer@framepages {7}{7}}
+\headcommand {\slideentry {0}{0}{8}{8/8}{}{0}}
+\headcommand {\beamer@framepages {8}{8}}
+\headcommand {\slideentry {0}{0}{9}{9/9}{}{0}}
+\headcommand {\beamer@framepages {9}{9}}
+\headcommand {\slideentry {0}{0}{10}{10/10}{}{0}}
+\headcommand {\beamer@framepages {10}{10}}
+\headcommand {\slideentry {0}{0}{11}{11/12}{}{0}}
+\headcommand {\beamer@framepages {11}{12}}
+\headcommand {\slideentry {0}{0}{12}{13/13}{}{0}}
+\headcommand {\beamer@framepages {13}{13}}
+\headcommand {\slideentry {0}{0}{13}{14/14}{}{0}}
+\headcommand {\beamer@framepages {14}{14}}
+\headcommand {\slideentry {0}{0}{14}{15/15}{}{0}}
+\headcommand {\beamer@framepages {15}{15}}
+\headcommand {\slideentry {0}{0}{15}{16/16}{}{0}}
+\headcommand {\beamer@framepages {16}{16}}
+\headcommand {\slideentry {0}{0}{16}{17/17}{}{0}}
+\headcommand {\beamer@framepages {17}{17}}
+\headcommand {\slideentry {0}{0}{17}{18/18}{}{0}}
+\headcommand {\beamer@framepages {18}{18}}
+\headcommand {\beamer@partpages {1}{18}}
+\headcommand {\beamer@subsectionpages {1}{18}}
+\headcommand {\beamer@sectionpages {1}{18}}
+\headcommand {\beamer@documentpages {18}}
+\headcommand {\def \inserttotalframenumber {17}}
diff --git a/scilab-arduino/spoken/02-slide.out b/scilab-arduino/spoken/02-slide.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/scilab-arduino/spoken/02-slide.out
diff --git a/scilab-arduino/spoken/02-slide.pdf b/scilab-arduino/spoken/02-slide.pdf
new file mode 100644
index 0000000..b4b3042
--- /dev/null
+++ b/scilab-arduino/spoken/02-slide.pdf
Binary files differ
diff --git a/scilab-arduino/spoken/02-slide.snm b/scilab-arduino/spoken/02-slide.snm
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/scilab-arduino/spoken/02-slide.snm
diff --git a/scilab-arduino/spoken/02-slide.tex b/scilab-arduino/spoken/02-slide.tex
new file mode 100644
index 0000000..4c17975
--- /dev/null
+++ b/scilab-arduino/spoken/02-slide.tex
@@ -0,0 +1,182 @@
+\documentclass[17pt,xcolor=table]{beamer}
+\setbeamersize{text margin left=0cm,text margin right=0.25cm}
+\mathversion{bold}
+%\usepackage{paralist}
+\usepackage{beamerthemesplit}
+\usepackage{beamerthemeshadow}
+\definecolor{Green}{RGB}{0,190,0}
+\definecolor{Brown}{RGB}{205,0,0}
+\setbeamercolor{structure}{fg=Brown}
+\setbeamercolor{alerted text}{fg=Brown}
+\logo{\includegraphics[height=0.7cm]{FOSSEE.jpeg}\hspace{9.7cm}
+\includegraphics[height=1cm]{ST-logo.jpeg}}
+\hyphenation{phosphorylated}
+
+\begin{document}
+\sffamily \bfseries
+\title
+[Lighting an LED on Shield from Arduino IDE]
+{Lighting an LED on Shield \\ from the Arduino IDE}
+\author [Manas,Rupak,Kannan]
+{\small Spoken Tutorial Project \\
+http://spoken-tutorial.org \\ [0.3cm]
+ National Mission
+ on Education
+ through ICT \\
+ http://sakshat.ac.in \\ [0.3cm]
+ Manas, Rupak, Kannan \\ IIT Bombay \\ [0.35cm]
+\small 3 July 2015}
+\date{}
+\begin{frame}
+ \titlepage
+\end{frame}
+
+\begin{frame}
+\frametitle{Learning Objectives}
+\vspace{-0.25in}
+We will learn to
+\begin{itemize}
+\item Connect an Arduino Uno board to a computer
+\item Identify the port number
+\item Load the firmware on to the Arduino Uno board
+\item Turn the LED on using Arduino IDE
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{System Requirements}
+\begin{itemize}
+\item Windows 8, 64bit
+\item Arduino IDE 1.6.5
+\item Arduino Uno board
+\item Shield
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Connecting Shield to Uno}
+\centerline{
+\includegraphics[width=0.9\linewidth]{figures/shield-crop.jpg}
+}
+\end{frame}
+
+\begin{frame}
+\frametitle{Two ends of USB cable}
+\centerline{
+\includegraphics[width=0.9\linewidth]{figures/cable.png}
+}
+\end{frame}
+
+\begin{frame}
+\frametitle{Connecting USB cable with Uno}
+\centerline{
+\includegraphics[width=0.9\linewidth]{figures/USB.jpg}
+}
+\end{frame}
+
+\begin{frame}
+\frametitle{Shield's Blue LED is on}
+\centerline{
+\includegraphics[width=0.9\linewidth]{figures/LED.jpg}
+}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Summary}
+ \begin{itemize}
+ \item Connected an Arduino Uno board to a computer
+ \item Identified the port number
+ \item Loaded the firmware on to the Arduino Uno board
+ \item Turned on the blue LED on the shield
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Assignment 1}
+ \begin{itemize}
+ \item Turn the green led on by putting 1 on pin 10
+ \item Turn the red led on by putting 1 on pin 11
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Assignment 2: From book}
+ \begin{itemize}
+ \item We have a written a Scilab-Arduino control book
+ \item It is published by Shroff Publishers, Mumbai
+ \item An e-copy is available for free download from fossee.in
+ \item Carry out the other LED lighting experiments explained in the
+ book
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{About the Spoken Tutorial Project}
+\begin{itemize}
+\item Watch the video available at {\color{blue} http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial}
+\item It summarises the Spoken Tutorial project \pause
+\item If you do not have good bandwidth, you can download and watch it
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Spoken Tutorial Workshops}
+The Spoken Tutorial Project Team
+\begin{itemize}
+\item Conducts workshops using spoken tutorials
+\item Gives certificates to those who pass an online test
+\item For more details, please write to {\color{blue} contact@spoken-tutorial.org}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Forum to answer questions}
+\vspace{-0.5in}
+\begin{itemize}
+\item Do you have questions in THIS Spoken Tutorial?
+\item Choose the minute and second where you have the question.
+\item Explain your question briefly.
+\item Someone from the FOSSEE team will answer them.
+\end{itemize}
+Please visit {\small \color{blue}
+ http://forums.spoken-tutorial.org/}
+\end{frame}
+
+\begin{frame}
+\frametitle{Textbook Companion Project}
+\begin{itemize}
+\item The FOSSEE team coordinates coding of solved examples of popular
+ books
+\item We give honorarium and certificate to those who do this
+\end{itemize}
+For more details, please visit this site:
+{\color{blue} http://fossee.in}
+\end{frame}
+
+\begin{frame}
+\frametitle{Lab Migration Project}
+\begin{itemize}
+\item The FOSSEE team helps migrate commercial simulator labs to DWSIM
+\item We give honorarium and certificates to those who do this
+\end{itemize}
+For more details, please visit this site:
+{\color{blue} http://fossee.in}
+\end{frame}
+
+\begin{frame}
+\frametitle{Acknowledgements}
+\begin{itemize}
+\item Spoken Tutorial and FOSSEE are funded by the National Mission on
+ Education through ICT, MHRD, Government of India
+\item More information on this mission is available at \\
+\hspace{0.25in}
+{\small \color{blue}http://spoken-tutorial.org/NMEICT-Intro}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Thanks!}
+\end{frame}
+
+\end{document}
+
diff --git a/scilab-arduino/spoken/02-slide.toc b/scilab-arduino/spoken/02-slide.toc
new file mode 100644
index 0000000..e06b51d
--- /dev/null
+++ b/scilab-arduino/spoken/02-slide.toc
@@ -0,0 +1 @@
+\beamer@endinputifotherversion {3.10pt}
diff --git a/scilab-arduino/spoken/DWSIM-03-slide.pdf b/scilab-arduino/spoken/DWSIM-03-slide.pdf
new file mode 100644
index 0000000..e326719
--- /dev/null
+++ b/scilab-arduino/spoken/DWSIM-03-slide.pdf
Binary files differ
diff --git a/scilab-arduino/spoken/DWSIM-03-slide.tex b/scilab-arduino/spoken/DWSIM-03-slide.tex
new file mode 100644
index 0000000..b9bfed7
--- /dev/null
+++ b/scilab-arduino/spoken/DWSIM-03-slide.tex
@@ -0,0 +1,215 @@
+\documentclass[17pt,xcolor=table]{beamer}
+\setbeamersize{text margin left=0cm,text margin right=0.25cm}
+\mathversion{bold}
+%\usepackage{paralist}
+\usepackage{beamerthemesplit}
+\usepackage{beamerthemeshadow}
+\definecolor{Green}{RGB}{0,190,0}
+\definecolor{Brown}{RGB}{205,0,0}
+\setbeamercolor{structure}{fg=Green}
+\setbeamercolor{alerted text}{fg=Brown}
+\logo{\includegraphics[height=0.7cm]{FOSSEE.jpeg}\hspace{9.7cm}
+\includegraphics[height=1cm]{ST-logo.jpeg}}
+\hyphenation{phosphorylated}
+
+\begin{document}
+\sffamily \bfseries
+\title
+[Introduction to Flowsheeting]
+{Introduction to Flowsheeting}
+\author [Rahul, Neelesh, Kannan]
+{\small Spoken Tutorial Project \\
+http://spoken-tutorial.org \\ [0.3cm]
+ National Mission
+ on Education
+ through ICT \\
+ http://sakshat.ac.in \\ [0.3cm]
+ Rahul, Neelesh, Kannan \\ IIT Bombay \\ [0.35cm]
+\small 26 May 2015}
+\date{}
+\begin{frame}
+ \titlepage
+\end{frame}
+
+\begin{frame}
+\frametitle{Learning Objectives}
+\vspace{-0.25in}
+We will learn to
+\begin{itemize}
+\item Simulate a mixer
+\item Follow it up with a separator
+\item Learn how to give a mixed phase feed
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{System Requirements}
+\begin{itemize}
+\item DWSIM 3.4
+\item Any OS: Windows, Linux, Mac OS X or FOSSEE OS on ARM
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Prerequisites}
+ \begin{itemize}
+ \item Introductory exposure to DWSIM
+ \item Prerequisite tutorials are mentioned on our website \\
+ http://spoken-tutorial.org
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Contents of {\color{blue}flow-begin.dwxml}}
+\vspace{-0.15in}
+Thermodynamics: Raoult's law \\
+Units: CGS
+\begin{center}
+ \begin{tabular}{|l|c|c|}\hline
+& \textbf{\color{blue}Inlet1} & \textbf{\color{blue}Inlet2}\\
+ \hline
+Mole fractions & & \\
+Benzene & 0.8 & 0.2 \\
+Toluene & 0.2 & 0.8 \\ \hline
+Molar flow rate & 100 & 100 \\
+(mol/s) & & \\ \hline
+T ($^\circ$C) & 25 & 25 \\ \hline
+P (atm) & 1 & 1 \\ \hline
+\end{tabular}
+\end{center}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Summary}
+ We defined a simple flowsheet
+ \begin{itemize}
+ \item Explained how to create mixed feed
+ \item Introduced mixer and separator
+ \item Showed how to connect them
+ \item Explained how to simulate
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Assignment 1: Verify Flow Rates}
+\vspace{-0.4in}
+ \begin{itemize}
+ \item Check if the molar flow rate of
+ {\color{blue}Inlet1}+{\color{blue}Inlet2} =
+ {\color{blue}mixer-out}, and \\
+ {\color{blue}Inlet1}+{\color{blue}Inlet2} =
+ {\color{blue}Vapour}+{\color{blue}Liquid}
+ \item Check if the flow rate of the {\color{blue}Vapour} stream is
+ equal to the
+ flow rate of vapour fraction in {\color{blue}mixer-out}
+ \item Do the same thing for {\color{blue}Liquid}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Assignment 2: \\ Verify Mole Fractions}
+ \begin{itemize}
+ \item Check if the mole fractions of benzene and toluene in
+ {\color{blue}mixer-out} = that of {\color{blue}Liquid}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Assignment 3: Get rid of mixer}
+ \begin{itemize}
+ \item As the {\color{blue}Separator} has 6 inputs,
+ {\color{blue}Inlet1} and {\color{blue}Inlet2} can directly
+ be connected to two input ports - do this
+ \item Remove the {\color{blue}mixer} and {\color{blue}mixer-out}
+ \item See if you get the same answers
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Assignment 4: Energy Stream}
+ \vspace{-0.2in}
+ \begin{itemize}
+ \item Click on Separator
+ \item Change {\color{blue}Override separation temperature} to true
+ \item Change the resulting temperature value to $100^\circ$ C
+ \item Bring {\color{blue}Energy stream} from {\color{blue}Object
+ Palette} to the Flowsheet
+ \item Connect this stream to the {\color{blue}Energy Stream} of the
+ {\color{blue}Separator }
+ \end{itemize}
+Simulate and analyse your results
+\end{frame}
+
+\begin{frame}
+\frametitle{About the Spoken Tutorial Project}
+\begin{itemize}
+\item Watch the video available at {\color{blue} http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial}
+\item It summarises the Spoken Tutorial project \pause
+\item If you do not have good bandwidth, you can download and watch it
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Spoken Tutorial Workshops}
+The Spoken Tutorial Project Team
+\begin{itemize}
+\item Conducts workshops using spoken tutorials
+\item Gives certificates to those who pass an online test
+\item For more details, please write to {\color{blue} contact@spoken-tutorial.org}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Forum to answer questions}
+\vspace{-0.5in}
+\begin{itemize}
+\item Do you have questions in THIS Spoken Tutorial?
+\item Choose the minute and second where you have the question.
+\item Explain your question briefly.
+\item Someone from the FOSSEE team will answer them.
+\end{itemize}
+Please visit {\small \color{blue}
+ http://forums.spoken-tutorial.org/}
+\end{frame}
+
+\begin{frame}
+\frametitle{Textbook Companion Project}
+\begin{itemize}
+\item The FOSSEE team coordinates coding of solved examples of popular
+ books
+\item We give honorarium and certificate to those who do this
+\end{itemize}
+For more details, please visit this site:
+{\small \color{blue} http://dwsim.fossee.in/Textbook\_Companion\_Project}
+\end{frame}
+
+\begin{frame}
+\frametitle{Lab Migration Project}
+\begin{itemize}
+\item The FOSSEE team helps migrate commercial simulator labs to DWSIM
+\item We give honorarium and certificates to those who do this
+\end{itemize}
+For more details, please visit this site:
+{\color{blue} http://dwsim.fossee.in/lab-migration-project}
+\end{frame}
+
+\begin{frame}
+\frametitle{Acknowledgements}
+\begin{itemize}
+\item Spoken Tutorial and FOSSEE are funded by the National Mission on
+ Education through ICT, MHRD, Government of India
+\item More information on this mission is available at \\
+\hspace{0.25in}
+{\small \color{blue}http://spoken-tutorial.org/NMEICT-Intro}
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Thanks!}
+\begin{center}
+http://dwsim.inforside.com.br/
+\end{center}
+\end{frame}
+
+\end{document}
+
diff --git a/scilab-arduino/spoken/FOSSEE.jpeg b/scilab-arduino/spoken/FOSSEE.jpeg
new file mode 100644
index 0000000..68630a8
--- /dev/null
+++ b/scilab-arduino/spoken/FOSSEE.jpeg
Binary files differ
diff --git a/scilab-arduino/spoken/LED-arduino.odt b/scilab-arduino/spoken/LED-arduino.odt
new file mode 100644
index 0000000..2e39685
--- /dev/null
+++ b/scilab-arduino/spoken/LED-arduino.odt
Binary files differ
diff --git a/scilab-arduino/spoken/LED-arduino.pdf b/scilab-arduino/spoken/LED-arduino.pdf
new file mode 100644
index 0000000..806d6bf
--- /dev/null
+++ b/scilab-arduino/spoken/LED-arduino.pdf
Binary files differ
diff --git a/scilab-arduino/spoken/LED-scilab.odt b/scilab-arduino/spoken/LED-scilab.odt
new file mode 100644
index 0000000..c4f41c0
--- /dev/null
+++ b/scilab-arduino/spoken/LED-scilab.odt
Binary files differ
diff --git a/scilab-arduino/spoken/Lighing-LED-1.doc b/scilab-arduino/spoken/Lighing-LED-1.doc
new file mode 100644
index 0000000..e11f2d9
--- /dev/null
+++ b/scilab-arduino/spoken/Lighing-LED-1.doc
Binary files differ
diff --git a/scilab-arduino/spoken/ST-logo.jpeg b/scilab-arduino/spoken/ST-logo.jpeg
new file mode 100644
index 0000000..755d9ec
--- /dev/null
+++ b/scilab-arduino/spoken/ST-logo.jpeg
Binary files differ
diff --git a/scilab-arduino/spoken/auto/02-slide.el b/scilab-arduino/spoken/auto/02-slide.el
new file mode 100644
index 0000000..aef33b3
--- /dev/null
+++ b/scilab-arduino/spoken/auto/02-slide.el
@@ -0,0 +1,10 @@
+(TeX-add-style-hook "02-slide"
+ (lambda ()
+ (TeX-run-style-hooks
+ "beamerthemeshadow"
+ "beamerthemesplit"
+ "latex2e"
+ "beamer10"
+ "beamer"
+ "17pt")))
+
diff --git a/scilab-arduino/spoken/figures/LED.jpg b/scilab-arduino/spoken/figures/LED.jpg
new file mode 100644
index 0000000..9fe3e70
--- /dev/null
+++ b/scilab-arduino/spoken/figures/LED.jpg
Binary files differ
diff --git a/scilab-arduino/spoken/figures/USB.jpg b/scilab-arduino/spoken/figures/USB.jpg
new file mode 100644
index 0000000..7c8ff80
--- /dev/null
+++ b/scilab-arduino/spoken/figures/USB.jpg
Binary files differ
diff --git a/scilab-arduino/spoken/figures/cable.png b/scilab-arduino/spoken/figures/cable.png
new file mode 100644
index 0000000..800b406
--- /dev/null
+++ b/scilab-arduino/spoken/figures/cable.png
Binary files differ
diff --git a/scilab-arduino/spoken/figures/shield-crop.jpg b/scilab-arduino/spoken/figures/shield-crop.jpg
new file mode 100644
index 0000000..3db6a1d
--- /dev/null
+++ b/scilab-arduino/spoken/figures/shield-crop.jpg
Binary files differ
diff --git a/scilab-arduino/spoken/figures/shield-crop.tiff b/scilab-arduino/spoken/figures/shield-crop.tiff
new file mode 100644
index 0000000..37652a8
--- /dev/null
+++ b/scilab-arduino/spoken/figures/shield-crop.tiff
Binary files differ
diff --git a/scilab-arduino/spoken/figures/shield.jpg b/scilab-arduino/spoken/figures/shield.jpg
new file mode 100644
index 0000000..3623ba9
--- /dev/null
+++ b/scilab-arduino/spoken/figures/shield.jpg
Binary files differ
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/3t-logo.pdf b/scilab-arduino/spoken/scilab-arduino-slides/3t-logo.pdf
new file mode 100644
index 0000000..111ae4c
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/3t-logo.pdf
Binary files differ
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/arduino-shield-side.jpg b/scilab-arduino/spoken/scilab-arduino-slides/arduino-shield-side.jpg
new file mode 100644
index 0000000..0fdca65
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/arduino-shield-side.jpg
Binary files differ
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/arduino-shield-top.jpg b/scilab-arduino/spoken/scilab-arduino-slides/arduino-shield-top.jpg
new file mode 100644
index 0000000..806bc92
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/arduino-shield-top.jpg
Binary files differ
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.aux b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.aux
new file mode 100644
index 0000000..f2e552d
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.aux
@@ -0,0 +1,49 @@
+\relax
+\providecommand\hyper@newdestlabel[2]{}
+\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
+\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
+\global\let\oldcontentsline\contentsline
+\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
+\global\let\oldnewlabel\newlabel
+\gdef\newlabel#1#2{\newlabelxx{#1}#2}
+\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
+\AtEndDocument{\ifx\hyper@anchor\@undefined
+\let\contentsline\oldcontentsline
+\let\newlabel\oldnewlabel
+\fi}
+\fi}
+\global\let\hyper@last\relax
+\gdef\HyperFirstAtBeginDocument#1{#1}
+\providecommand\HyField@AuxAddToFields[1]{}
+\providecommand\HyField@AuxAddToCoFields[2]{}
+\@writefile{toc}{\beamer@endinputifotherversion {3.24pt}}
+\@writefile{nav}{\beamer@endinputifotherversion {3.24pt}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {1}{1}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{2}{2/6}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {2}{6}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{3}{7/8}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {7}{8}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{4}{9/10}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {9}{10}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{5}{11/12}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {11}{12}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{6}{13/13}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {13}{13}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{7}{14/16}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {14}{16}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{8}{17/19}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {17}{19}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{9}{20/24}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {20}{24}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{10}{25/25}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {25}{25}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{11}{26/26}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {26}{26}}}
+\@writefile{nav}{\headcommand {\slideentry {0}{0}{12}{27/27}{}{0}}}
+\@writefile{nav}{\headcommand {\beamer@framepages {27}{27}}}
+\@writefile{nav}{\headcommand {\beamer@partpages {1}{27}}}
+\@writefile{nav}{\headcommand {\beamer@subsectionpages {1}{27}}}
+\@writefile{nav}{\headcommand {\beamer@sectionpages {1}{27}}}
+\@writefile{nav}{\headcommand {\beamer@documentpages {27}}}
+\@writefile{nav}{\headcommand {\def \inserttotalframenumber {12}}}
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.log b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.log
new file mode 100644
index 0000000..4ba342b
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.log
@@ -0,0 +1,1356 @@
+This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2015.6.26) 2 JUL 2015 02:26
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**scilab-arduino.tex
+(./scilab-arduino.tex
+LaTeX2e <2011/06/27>
+Babel <3.9h> and hyphenation patterns for 2 languages loaded.
+(/usr/share/texmf/tex/latex/beamer/base/beamer.cls
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasercs.sty
+Package: beamerbasercs 2012/11/13 (rcs-revision cb16a617839f)
+)
+Document Class: beamer 2012/10/15 development version 3.24 A class for typesett
+ing presentations (rcs-revision 24853e6b98cf)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasemodes.sty
+Package: beamerbasemodes 2012/04/15 (rcs-revision cc6557182d97)
+\beamer@tempbox=\box26
+\beamer@tempcount=\count79
+\c@beamerpauses=\count80
+
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasedecode.sty
+Package: beamerbasedecode 2010/05/01 (rcs-revision efa082c6111d)
+\beamer@slideinframe=\count81
+\beamer@minimum=\count82
+)
+\beamer@commentbox=\box27
+\beamer@modecount=\count83
+)
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty
+Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
+Package ifpdf Info: pdfTeX in PDF mode is detected.
+)
+\headheight=\dimen102
+\headdp=\dimen103
+\footheight=\dimen104
+\sidebarheight=\dimen105
+\beamer@tempdim=\dimen106
+\beamer@finalheight=\dimen107
+\beamer@animht=\dimen108
+\beamer@animdp=\dimen109
+\beamer@animwd=\dimen110
+\beamer@leftmargin=\dimen111
+\beamer@rightmargin=\dimen112
+\beamer@leftsidebar=\dimen113
+\beamer@rightsidebar=\dimen114
+\beamer@boxsize=\dimen115
+\beamer@vboxoffset=\dimen116
+\beamer@descdefault=\dimen117
+\beamer@descriptionwidth=\dimen118
+\beamer@lastskip=\skip41
+\beamer@areabox=\box28
+\beamer@animcurrent=\box29
+\beamer@animshowbox=\box30
+\beamer@sectionbox=\box31
+\beamer@logobox=\box32
+\beamer@linebox=\box33
+\beamer@sectioncount=\count84
+\beamer@subsubsectionmax=\count85
+\beamer@subsectionmax=\count86
+\beamer@sectionmax=\count87
+\beamer@totalheads=\count88
+\beamer@headcounter=\count89
+\beamer@partstartpage=\count90
+\beamer@sectionstartpage=\count91
+\beamer@subsectionstartpage=\count92
+\beamer@animationtempa=\count93
+\beamer@animationtempb=\count94
+\beamer@xpos=\count95
+\beamer@ypos=\count96
+\beamer@showpartnumber=\count97
+\beamer@currentsubsection=\count98
+\beamer@coveringdepth=\count99
+\beamer@sectionadjust=\count100
+\beamer@tocsectionnumber=\count101
+
+(/usr/share/texmf/tex/latex/beamer/base/beamerbaseoptions.sty
+Package: beamerbaseoptions 2010/04/27 (rcs-revision 982469101dd6)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks14
+))
+\beamer@paperwidth=\skip42
+\beamer@paperheight=\skip43
+
+(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
+Package: geometry 2010/09/12 v5.6 Page Geometry
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty
+Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
+Package ifvtex Info: VTeX not detected.
+)
+(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
+Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
+)
+\Gm@cnth=\count102
+\Gm@cntv=\count103
+\c@Gm@tempcnt=\count104
+\Gm@bindingoffset=\dimen119
+\Gm@wd@mp=\dimen120
+\Gm@odd@mp=\dimen121
+\Gm@even@mp=\dimen122
+\Gm@layoutwidth=\dimen123
+\Gm@layoutheight=\dimen124
+\Gm@layouthoffset=\dimen125
+\Gm@layoutvoffset=\dimen126
+\Gm@dimlist=\toks15
+)
+(/usr/share/texlive/texmf-dist/tex/latex/extsizes/size17.clo
+File: size17.clo 1999/11/11 NON-Standard LaTeX file (size option)
+)
+(/usr/share/texmf/tex/latex/pgf/basiclayer/pgfcore.sty
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg
+File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
+)
+Package graphics Info: Driver file: pdftex.def on input line 91.
+
+(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def
+File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
+Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
+Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
+)
+\Gread@gobject=\count105
+))
+\Gin@req@height=\dimen127
+\Gin@req@width=\dimen128
+)
+(/usr/share/texmf/tex/latex/pgf/systemlayer/pgfsys.sty
+(/usr/share/texmf/tex/latex/pgf/utilities/pgfrcs.sty
+(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-common.tex
+\pgfutil@everybye=\toks16
+)
+(/usr/share/texmf/tex/generic/pgf/utilities/pgfutil-latex.def
+\pgfutil@abb=\box34
+
+(/usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty
+Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS)
+))
+(/usr/share/texmf/tex/generic/pgf/utilities/pgfrcs.code.tex
+Package: pgfrcs 2010/10/25 v2.10 (rcs-revision 1.24)
+))
+(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys.code.tex
+Package: pgfsys 2010/06/30 v2.10 (rcs-revision 1.37)
+
+(/usr/share/texmf/tex/generic/pgf/utilities/pgfkeys.code.tex
+\pgfkeys@pathtoks=\toks17
+\pgfkeys@temptoks=\toks18
+
+(/usr/share/texmf/tex/generic/pgf/utilities/pgfkeysfiltered.code.tex
+\pgfkeys@tmptoks=\toks19
+))
+\pgf@x=\dimen129
+\pgf@y=\dimen130
+\pgf@xa=\dimen131
+\pgf@ya=\dimen132
+\pgf@xb=\dimen133
+\pgf@yb=\dimen134
+\pgf@xc=\dimen135
+\pgf@yc=\dimen136
+\w@pgf@writea=\write3
+\r@pgf@reada=\read1
+\c@pgf@counta=\count106
+\c@pgf@countb=\count107
+\c@pgf@countc=\count108
+\c@pgf@countd=\count109
+
+(/usr/share/texmf/tex/generic/pgf/systemlayer/pgf.cfg
+File: pgf.cfg 2008/05/14 (rcs-revision 1.7)
+)
+Package pgfsys Info: Driver file for pgf: pgfsys-pdftex.def on input line 900.
+
+(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
+File: pgfsys-pdftex.def 2009/05/22 (rcs-revision 1.26)
+
+(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
+File: pgfsys-common-pdf.def 2008/05/19 (rcs-revision 1.10)
+)))
+(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
+File: pgfsyssoftpath.code.tex 2008/07/18 (rcs-revision 1.7)
+\pgfsyssoftpath@smallbuffer@items=\count110
+\pgfsyssoftpath@bigbuffer@items=\count111
+)
+(/usr/share/texmf/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
+File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4)
+))
+(/usr/share/texmf/tex/latex/xcolor/xcolor.sty
+Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK)
+
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg
+File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
+)
+Package xcolor Info: Driver file: pdftex.def on input line 225.
+
+(/usr/share/texlive/texmf-dist/tex/latex/colortbl/colortbl.sty
+Package: colortbl 2012/02/13 v1.0a Color table columns (DPC)
+
+(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty
+Package: array 2008/09/09 v2.4c Tabular extension package (FMi)
+\col@sep=\dimen137
+\extrarowheight=\dimen138
+\NC@list=\toks20
+\extratabsurround=\skip44
+\backup@length=\skip45
+)
+\everycr=\toks21
+\minrowclearance=\skip46
+)
+\rownum=\count112
+Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337.
+Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341.
+Package xcolor Info: Model `RGB' extended on input line 1353.
+Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355.
+Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356.
+Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357.
+Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358.
+Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359.
+Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360.
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcore.code.tex
+Package: pgfcore 2010/04/11 v2.10 (rcs-revision 1.7)
+
+(/usr/share/texmf/tex/generic/pgf/math/pgfmath.code.tex
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathcalc.code.tex
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathutil.code.tex)
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathparser.code.tex
+\pgfmath@dimen=\dimen139
+\pgfmath@count=\count113
+\pgfmath@box=\box35
+\pgfmath@toks=\toks22
+\pgfmath@stack@operand=\toks23
+\pgfmath@stack@operation=\toks24
+)
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.code.tex
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex)
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex)
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.random.code.tex)
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex)
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.base.code.tex)
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.round.code.tex)
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex)))
+(/usr/share/texmf/tex/generic/pgf/math/pgfmathfloat.code.tex
+\c@pgfmathroundto@lastzeros=\count114
+))
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
+File: pgfcorepoints.code.tex 2010/04/09 (rcs-revision 1.20)
+\pgf@picminx=\dimen140
+\pgf@picmaxx=\dimen141
+\pgf@picminy=\dimen142
+\pgf@picmaxy=\dimen143
+\pgf@pathminx=\dimen144
+\pgf@pathmaxx=\dimen145
+\pgf@pathminy=\dimen146
+\pgf@pathmaxy=\dimen147
+\pgf@xx=\dimen148
+\pgf@xy=\dimen149
+\pgf@yx=\dimen150
+\pgf@yy=\dimen151
+\pgf@zx=\dimen152
+\pgf@zy=\dimen153
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
+File: pgfcorepathconstruct.code.tex 2010/08/03 (rcs-revision 1.24)
+\pgf@path@lastx=\dimen154
+\pgf@path@lasty=\dimen155
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
+File: pgfcorepathusage.code.tex 2008/04/22 (rcs-revision 1.12)
+\pgf@shorten@end@additional=\dimen156
+\pgf@shorten@start@additional=\dimen157
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
+File: pgfcorescopes.code.tex 2010/09/08 (rcs-revision 1.34)
+\pgfpic=\box36
+\pgf@hbox=\box37
+\pgf@layerbox@main=\box38
+\pgf@picture@serial@count=\count115
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
+File: pgfcoregraphicstate.code.tex 2008/04/22 (rcs-revision 1.9)
+\pgflinewidth=\dimen158
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
+File: pgfcoretransformations.code.tex 2009/06/10 (rcs-revision 1.11)
+\pgf@pt@x=\dimen159
+\pgf@pt@y=\dimen160
+\pgf@pt@temp=\dimen161
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
+File: pgfcorequick.code.tex 2008/10/09 (rcs-revision 1.3)
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
+File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2)
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
+File: pgfcorepathprocessing.code.tex 2008/10/09 (rcs-revision 1.8)
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
+File: pgfcorearrows.code.tex 2008/04/23 (rcs-revision 1.11)
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
+File: pgfcoreshade.code.tex 2008/11/23 (rcs-revision 1.13)
+\pgf@max=\dimen162
+\pgf@sys@shading@range@num=\count116
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
+File: pgfcoreimage.code.tex 2010/03/25 (rcs-revision 1.16)
+
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
+File: pgfcoreexternal.code.tex 2010/09/01 (rcs-revision 1.17)
+\pgfexternal@startupbox=\box39
+))
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
+File: pgfcorelayers.code.tex 2010/08/27 (rcs-revision 1.2)
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
+File: pgfcoretransparency.code.tex 2008/01/17 (rcs-revision 1.2)
+)
+(/usr/share/texmf/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
+File: pgfcorepatterns.code.tex 2009/07/02 (rcs-revision 1.3)
+)))
+(/usr/share/texmf/tex/latex/pgf/utilities/xxcolor.sty
+Package: xxcolor 2003/10/24 ver 0.1
+\XC@nummixins=\count117
+\XC@countmixins=\count118
+)
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
+Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
+Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO)
+
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
+Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO)
+Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO)
+Package hobsub Info: Skipping package `infwarerr' (already loaded).
+Package hobsub Info: Skipping package `ltxcmds' (already loaded).
+Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
+Package ifluatex Info: LuaTeX not detected.
+Package hobsub Info: Skipping package `ifvtex' (already loaded).
+Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO)
+Package hobsub Info: Skipping package `ifpdf' (already loaded).
+Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
+Package etexcmds Info: Could not find \expanded.
+(etexcmds) That can mean that you are not using pdfTeX 1.50 or
+(etexcmds) that some package has redefined \expanded.
+(etexcmds) In the latter case, load this package earlier.
+Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)
+Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO)
+Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO
+)
+Package pdftexcmds Info: LuaTeX not detected.
+Package pdftexcmds Info: \pdf@primitive is available.
+Package pdftexcmds Info: \pdf@ifprimitive is available.
+Package pdftexcmds Info: \pdfdraftmode found.
+Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO)
+Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO
+)
+Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO)
+Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO)
+)
+Package hobsub Info: Skipping package `hobsub' (already loaded).
+Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO)
+Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO)
+Package: xcolor-patch 2011/01/30 xcolor patch
+Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO)
+Package atveryend Info: \enddocument detected (standard20110627).
+Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)
+Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO)
+Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty
+Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
+Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)
+)
+\@linkdim=\dimen163
+\Hy@linkcounter=\count119
+\Hy@pagecounter=\count120
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
+File: pd1enc.def 2012/11/06 v6.83m Hyperref: PDFDocEncoding definition (HO)
+)
+\Hy@SavedSpaceFactor=\count121
+
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
+File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
+)
+Package hyperref Info: Option `bookmarks' set `true' on input line 4319.
+Package hyperref Info: Option `bookmarksopen' set `true' on input line 4319.
+Package hyperref Info: Option `implicit' set `false' on input line 4319.
+Package hyperref Info: Hyper figures OFF on input line 4443.
+Package hyperref Info: Link nesting OFF on input line 4448.
+Package hyperref Info: Hyper index ON on input line 4451.
+Package hyperref Info: Plain pages OFF on input line 4458.
+Package hyperref Info: Backreferencing OFF on input line 4463.
+Package hyperref Info: Implicit mode OFF; no redefinition of LaTeX internals.
+Package hyperref Info: Bookmarks ON on input line 4688.
+\c@Hy@tempcnt=\count122
+
+(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+\Urlmuskip=\muskip10
+Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
+)
+LaTeX Info: Redefining \url on input line 5041.
+\XeTeXLinkMargin=\dimen164
+\Fld@menulength=\count123
+\Field@Width=\dimen165
+\Fld@charsize=\dimen166
+Package hyperref Info: Hyper figures OFF on input line 6295.
+Package hyperref Info: Link nesting OFF on input line 6300.
+Package hyperref Info: Hyper index ON on input line 6303.
+Package hyperref Info: backreferencing OFF on input line 6310.
+Package hyperref Info: Link coloring OFF on input line 6315.
+Package hyperref Info: Link coloring with OCG OFF on input line 6320.
+Package hyperref Info: PDF/A mode OFF on input line 6325.
+LaTeX Info: Redefining \ref on input line 6365.
+LaTeX Info: Redefining \pageref on input line 6369.
+\Hy@abspage=\count124
+
+
+Package hyperref Message: Stopped early.
+
+)
+
+Package hyperref Message: Driver (autodetected): hpdftex.
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
+File: hpdftex.def 2012/11/06 v6.83m Hyperref driver for pdfTeX
+\Fld@listcount=\count125
+\c@bookmark@seq@number=\count126
+
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
+Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO)
+Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
+82.
+))
+(/usr/share/texmf/tex/latex/beamer/base/beamerbaserequires.sty
+Package: beamerbaserequires 2010/05/01 (rcs-revision efa082c6111d)
+
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasecompatibility.sty
+Package: beamerbasecompatibility 2012/05/01 (rcs-revision 67c48b3b652d)
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasefont.sty
+Package: beamerbasefont 2012/09/19 (rcs-revision 733629cd0c6c)
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2013/01/14 v3.01 AMS font symbols
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
+\@emptytoks=\toks25
+\symAMSa=\mathgroup4
+\symAMSb=\mathgroup5
+LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold'
+(Font) U/euf/m/n --> U/euf/b/n on input line 106.
+)))
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasetranslator.sty
+Package: beamerbasetranslator 2010/06/11 (rcs-revision 85fd1cc7fc42)
+
+(/usr/share/texmf/tex/latex/beamer/base/translator/translator.sty
+Package: translator 2010/06/12 ver 1.10
+
+(/usr/share/texmf/tex/latex/beamer/base/translator/translator-language-mappings
+.tex))) (/usr/share/texmf/tex/latex/beamer/base/beamerbasemisc.sty
+Package: beamerbasemisc 2012/02/24 (rcs-revision 2ff5461be705)
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasetwoscreens.sty
+Package: beamerbasetwoscreens 2010/05/01 (rcs-revision efa082c6111d)
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbaseoverlay.sty
+Package: beamerbaseoverlay 2012/11/11 (rcs-revision 6afbc49b1109)
+\beamer@argscount=\count127
+\beamer@lastskipcover=\skip47
+\beamer@trivlistdepth=\count128
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasetitle.sty
+Package: beamerbasetitle 2010/09/21 (rcs-revision f0446ed0b6ae)
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasesection.sty
+Package: beamerbasesection 2012/11/11 (rcs-revision 0056eef6f17f)
+\c@lecture=\count129
+\c@part=\count130
+\c@section=\count131
+\c@subsection=\count132
+\c@subsubsection=\count133
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbaseframe.sty
+Package: beamerbaseframe 2012/09/13 (rcs-revision dcd846607320)
+\beamer@framebox=\box40
+\beamer@frametitlebox=\box41
+\beamer@zoombox=\box42
+\beamer@zoomcount=\count134
+\beamer@zoomframecount=\count135
+\beamer@frametextheight=\dimen167
+\c@subsectionslide=\count136
+\beamer@frametopskip=\skip48
+\beamer@framebottomskip=\skip49
+\beamer@frametopskipautobreak=\skip50
+\beamer@framebottomskipautobreak=\skip51
+\beamer@envbody=\toks26
+\framewidth=\dimen168
+\c@framenumber=\count137
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbaseverbatim.sty
+Package: beamerbaseverbatim 2012/08/30 (rcs-revision dfdb135076b3)
+\beamer@verbatimfileout=\write4
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbaseframesize.sty
+Package: beamerbaseframesize 2011/09/12 (rcs-revision 70f9d8411e54)
+\beamer@splitbox=\box43
+\beamer@autobreakcount=\count138
+\beamer@autobreaklastheight=\dimen169
+\beamer@frametitletoks=\toks27
+\beamer@framesubtitletoks=\toks28
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbaseframecomponents.sty
+Package: beamerbaseframecomponents 2012/09/13 (rcs-revision dcd846607320)
+\beamer@footins=\box44
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasecolor.sty
+Package: beamerbasecolor 2010/06/06 (rcs-revision d1a9b48be06d)
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasenotes.sty
+Package: beamerbasenotes 2010/05/01 (rcs-revision efa082c6111d)
+\beamer@frameboxcopy=\box45
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasetoc.sty
+Package: beamerbasetoc 2012/10/02 (rcs-revision 5ed0f4010e8a)
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasetemplates.sty
+Package: beamerbasetemplates 2010/05/01 (rcs-revision efa082c6111d)
+\beamer@sbttoks=\toks29
+
+(/usr/share/texmf/tex/latex/beamer/base/beamerbaseauxtemplates.sty
+Package: beamerbaseauxtemplates 2012/05/01 (rcs-revision 67c48b3b652d)
+
+(/usr/share/texmf/tex/latex/beamer/base/beamerbaseboxes.sty
+Package: beamerbaseboxes 2012/05/13 (rcs-revision 56972908a390)
+\bmb@box=\box46
+\bmb@colorbox=\box47
+\bmb@boxshadow=\box48
+\bmb@boxshadowball=\box49
+\bmb@boxshadowballlarge=\box50
+\bmb@temp=\dimen170
+\bmb@dima=\dimen171
+\bmb@dimb=\dimen172
+\bmb@prevheight=\dimen173
+)
+\beamer@blockheadheight=\dimen174
+))
+(/usr/share/texmf/tex/latex/beamer/base/beamerbaselocalstructure.sty
+Package: beamerbaselocalstructure 2012/11/13 (rcs-revision ddfba79dac19)
+
+(/usr/share/texlive/texmf-dist/tex/latex/tools/enumerate.sty
+Package: enumerate 1999/03/05 v3.00 enumerate extensions (DPC)
+\@enLab=\toks30
+)
+\c@figure=\count139
+\c@table=\count140
+\abovecaptionskip=\skip52
+\belowcaptionskip=\skip53
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasenavigation.sty
+Package: beamerbasenavigation 2012/04/03 (rcs-revision 42a0f21a412d)
+\beamer@section@min@dim=\dimen175
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasetheorems.sty
+Package: beamerbasetheorems 2010/06/06 (rcs-revision 7e7cc5e53e9d)
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2013/01/14 v2.14 AMS math features
+\@mathmargin=\skip54
+
+For additional information on amsmath, use the `?' option.
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
+Package: amstext 2000/06/29 v2.01
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
+File: amsgen.sty 1999/11/30 v2.0
+\@emptytoks=\toks31
+\ex@=\dimen176
+))
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d
+\pmbraise@=\dimen177
+)
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
+Package: amsopn 1999/12/14 v2.01 operator names
+)
+\inf@bad=\count141
+LaTeX Info: Redefining \frac on input line 210.
+\uproot@=\count142
+\leftroot@=\count143
+LaTeX Info: Redefining \overline on input line 306.
+\classnum@=\count144
+\DOTSCASE@=\count145
+LaTeX Info: Redefining \ldots on input line 378.
+LaTeX Info: Redefining \dots on input line 381.
+LaTeX Info: Redefining \cdots on input line 466.
+\Mathstrutbox@=\box51
+\strutbox@=\box52
+\big@size=\dimen178
+LaTeX Font Info: Redeclaring font encoding OML on input line 566.
+LaTeX Font Info: Redeclaring font encoding OMS on input line 567.
+\macc@depth=\count146
+\c@MaxMatrixCols=\count147
+\dotsspace@=\muskip11
+\c@parentequation=\count148
+\dspbrk@lvl=\count149
+\tag@help=\toks32
+\row@=\count150
+\column@=\count151
+\maxfields@=\count152
+\andhelp@=\toks33
+\eqnshift@=\dimen179
+\alignsep@=\dimen180
+\tagshift@=\dimen181
+\tagwidth@=\dimen182
+\totwidth@=\dimen183
+\lineht@=\dimen184
+\@envbody=\toks34
+\multlinegap=\skip55
+\multlinetaggap=\skip56
+\mathdisplay@stack=\toks35
+LaTeX Info: Redefining \[ on input line 2665.
+LaTeX Info: Redefining \] on input line 2666.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/amscls/amsthm.sty
+Package: amsthm 2004/08/06 v2.20
+\thm@style=\toks36
+\thm@bodyfont=\toks37
+\thm@headfont=\toks38
+\thm@notefont=\toks39
+\thm@headpunct=\toks40
+\thm@preskip=\skip57
+\thm@postskip=\skip58
+\thm@headsep=\skip59
+\dth@everypar=\toks41
+)
+\c@theorem=\count153
+)
+(/usr/share/texmf/tex/latex/beamer/base/beamerbasethemes.sty
+Package: beamerbasethemes 2010/05/01 (rcs-revision efa082c6111d)
+))
+(/usr/share/texmf/tex/latex/beamer/base/themes/theme/beamerthemedefault.sty
+Package: beamerthemedefault 2010/06/17 (rcs-revision d02a7cf4d8ae)
+
+(/usr/share/texmf/tex/latex/beamer/base/themes/font/beamerfontthemedefault.sty
+Package: beamerfontthemedefault 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)
+(/usr/share/texmf/tex/latex/beamer/base/themes/color/beamercolorthemedefault.st
+y
+Package: beamercolorthemedefault 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)
+(/usr/share/texmf/tex/latex/beamer/base/themes/inner/beamerinnerthemedefault.st
+y
+Package: beamerinnerthemedefault 2012/05/01 (rcs-revision 67c48b3b652d)
+\beamer@dima=\dimen185
+\beamer@dimb=\dimen186
+)
+(/usr/share/texmf/tex/latex/beamer/base/themes/outer/beamerouterthemedefault.st
+y
+Package: beamerouterthemedefault 2012/10/02 (rcs-revision 5ed0f4010e8a)
+))) (/usr/share/texlive/texmf-dist/tex/latex/tools/verbatim.sty
+Package: verbatim 2003/08/22 v1.5q LaTeX2e package for verbatim enhancements
+\every@verbatim=\toks42
+\verbatim@line=\toks43
+\verbatim@in@stream=\read2
+)
+(/usr/share/texlive/texmf-dist/tex/latex/tools/bm.sty
+Package: bm 2004/02/26 v1.1c Bold Symbol Support (DPC/FMi)
+\symboldoperators=\mathgroup6
+\symboldletters=\mathgroup7
+\symboldsymbols=\mathgroup8
+LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 138.
+LaTeX Info: Redefining \bm on input line 204.
+)
+(/usr/share/texmf/tex/latex/beamer/base/themes/theme/compatibility/beamerthemes
+plit.sty
+Package: beamerthemesplit 2010/06/17 (rcs-revision d02a7cf4d8ae)
+
+(/usr/share/texmf/tex/latex/beamer/base/themes/color/beamercolorthemewhale.sty
+Package: beamercolorthemewhale 2010/06/17 (rcs-revision d02a7cf4d8ae)
+) (/usr/share/texmf/tex/latex/beamer/base/themes/outer/beamerouterthemesplit.st
+y
+Package: beamerouterthemesplit 2012/10/16 (rcs-revision 51a8c72084af)
+)
+(/usr/share/texmf/tex/latex/beamer/base/themes/font/beamerfontthemestructurebol
+d.sty
+Package: beamerfontthemestructurebold 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)) (/usr/share/texlive/texmf-dist/tex/latex/eso-pic/eso-pic.sty
+Package: eso-pic 2013/10/06 v2.0d eso-pic (RN)
+)
+(/usr/share/texmf/tex/latex/beamer/base/themes/theme/compatibility/beamerthemes
+hadow.sty
+Package: beamerthemeshadow 2010/06/17 (rcs-revision d02a7cf4d8ae)
+
+(/usr/share/texmf/tex/latex/beamer/base/themes/inner/beamerinnerthemerounded.st
+y
+Package: beamerinnerthemerounded 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)
+(/usr/share/texmf/tex/latex/beamer/base/themes/color/beamercolorthemeorchid.sty
+Package: beamercolorthemeorchid 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)
+(/usr/share/texmf/tex/latex/beamer/base/themes/outer/beamerouterthemeshadow.sty
+Package: beamerouterthemeshadow 2010/06/17 (rcs-revision d02a7cf4d8ae)
+)) (./scilab-arduino.aux)
+\openout1 = `scilab-arduino.aux'.
+
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 23.
+LaTeX Font Info: ... okay on input line 23.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 23.
+LaTeX Font Info: ... okay on input line 23.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 23.
+LaTeX Font Info: ... okay on input line 23.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 23.
+LaTeX Font Info: ... okay on input line 23.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 23.
+LaTeX Font Info: ... okay on input line 23.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 23.
+LaTeX Font Info: ... okay on input line 23.
+LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 23.
+LaTeX Font Info: ... okay on input line 23.
+
+*geometry* driver: auto-detecting
+*geometry* detected driver: pdftex
+*geometry* verbose mode - [ preamble ] result:
+* driver: pdftex
+* paper: custom
+* layout: <same size as paper>
+* layoutoffset:(h,v)=(0.0pt,0.0pt)
+* modes: includehead includefoot
+* h-part:(L,W,R)=(28.45274pt, 307.28987pt, 28.45274pt)
+* v-part:(T,H,B)=(0.0pt, 273.14662pt, 0.0pt)
+* \paperwidth=364.19536pt
+* \paperheight=273.14662pt
+* \textwidth=307.28987pt
+* \textheight=244.6939pt
+* \oddsidemargin=-43.81725pt
+* \evensidemargin=-43.81725pt
+* \topmargin=-72.26999pt
+* \headheight=14.22636pt
+* \headsep=0.0pt
+* \topskip=17.0pt
+* \footskip=14.22636pt
+* \marginparwidth=2.0pt
+* \marginparsep=12.0pt
+* \columnsep=10.0pt
+* \skip\footins=14.0pt plus 5.0pt minus 3.0pt
+* \hoffset=0.0pt
+* \voffset=0.0pt
+* \mag=1000
+* \@twocolumnfalse
+* \@twosidefalse
+* \@mparswitchfalse
+* \@reversemarginfalse
+* (1in=72.27pt=25.4mm, 1cm=28.453pt)
+
+(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii
+[Loading MPS to PDF converter (version 2006.09.02).]
+\scratchcounter=\count154
+\scratchdimen=\dimen187
+\scratchbox=\box53
+\nofMPsegments=\count155
+\nofMParguments=\count156
+\everyMPshowfont=\toks44
+\MPscratchCnt=\count157
+\MPscratchDim=\dimen188
+\MPnumerator=\count158
+\makeMPintoPDFobject=\count159
+\everyMPtoPDFconversion=\toks45
+) (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
+Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf
+
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty
+Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO)
+)
+Package grfext Info: Graphics extension search list:
+(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
+G,.JBIG2,.JB2,.eps]
+(grfext) \AppendGraphicsExtensions on input line 452.
+
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
+e
+))
+ABD: EveryShipout initializing macros
+\AtBeginShipoutBox=\box54
+Package hyperref Info: Link coloring OFF on input line 23.
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
+Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
+Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO)
+)
+\c@section@level=\count160
+)
+LaTeX Info: Redefining \ref on input line 23.
+LaTeX Info: Redefining \pageref on input line 23.
+LaTeX Info: Redefining \nameref on input line 23.
+
+(./scilab-arduino.out) (./scilab-arduino.out)
+\@outlinefile=\write5
+\openout5 = `scilab-arduino.out'.
+
+LaTeX Font Info: Overwriting symbol font `operators' in version `normal'
+(Font) OT1/cmr/m/n --> OT1/cmss/m/n on input line 23.
+LaTeX Font Info: Overwriting symbol font `operators' in version `bold'
+(Font) OT1/cmr/bx/n --> OT1/cmss/bx/n on input line 23.
+\symnumbers=\mathgroup9
+\sympureletters=\mathgroup10
+LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `normal'
+(Font) OT1/cmss/m/n --> OT1/cmr/m/n on input line 23.
+LaTeX Font Info: Redeclaring math alphabet \mathbf on input line 23.
+LaTeX Font Info: Redeclaring math alphabet \mathsf on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `normal'
+(Font) OT1/cmss/m/n --> OT1/cmss/m/n on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold'
+(Font) OT1/cmss/bx/n --> OT1/cmss/m/n on input line 23.
+LaTeX Font Info: Redeclaring math alphabet \mathit on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathit' in version `normal'
+(Font) OT1/cmr/m/it --> OT1/cmss/m/it on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold'
+(Font) OT1/cmr/bx/it --> OT1/cmss/m/it on input line 23.
+LaTeX Font Info: Redeclaring math alphabet \mathtt on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `normal'
+(Font) OT1/cmtt/m/n --> OT1/cmtt/m/n on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold'
+(Font) OT1/cmtt/m/n --> OT1/cmtt/m/n on input line 23.
+LaTeX Font Info: Overwriting symbol font `numbers' in version `bold'
+(Font) OT1/cmss/m/n --> OT1/cmss/bx/n on input line 23.
+LaTeX Font Info: Overwriting symbol font `pureletters' in version `bold'
+(Font) OT1/cmss/m/it --> OT1/cmss/bx/it on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathrm' in version `bold'
+(Font) OT1/cmss/bx/n --> OT1/cmr/bx/n on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathbf' in version `bold'
+(Font) OT1/cmss/bx/n --> OT1/cmss/bx/n on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathsf' in version `bold'
+(Font) OT1/cmss/m/n --> OT1/cmss/bx/n on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathit' in version `bold'
+(Font) OT1/cmss/m/it --> OT1/cmss/bx/it on input line 23.
+LaTeX Font Info: Overwriting math alphabet `\mathtt' in version `bold'
+(Font) OT1/cmtt/m/n --> OT1/cmtt/bx/n on input line 23.
+
+(/usr/share/texmf/tex/latex/beamer/base/translator/dicts/translator-basic-dicti
+onary/translator-basic-dictionary-English.dict
+Dictionary: translator-basic-dictionary, Language: English
+)
+(/usr/share/texmf/tex/latex/beamer/base/translator/dicts/translator-bibliograph
+y-dictionary/translator-bibliography-dictionary-English.dict
+Dictionary: translator-bibliography-dictionary, Language: English
+)
+(/usr/share/texmf/tex/latex/beamer/base/translator/dicts/translator-environment
+-dictionary/translator-environment-dictionary-English.dict
+Dictionary: translator-environment-dictionary, Language: English
+)
+(/usr/share/texmf/tex/latex/beamer/base/translator/dicts/translator-months-dict
+ionary/translator-months-dictionary-English.dict
+Dictionary: translator-months-dictionary, Language: English
+)
+(/usr/share/texmf/tex/latex/beamer/base/translator/dicts/translator-numbers-dic
+tionary/translator-numbers-dictionary-English.dict
+Dictionary: translator-numbers-dictionary, Language: English
+)
+(/usr/share/texmf/tex/latex/beamer/base/translator/dicts/translator-theorem-dic
+tionary/translator-theorem-dictionary-English.dict
+Dictionary: translator-theorem-dictionary, Language: English
+)
+LaTeX Info: Redefining \includegraphics on input line 23.
+ (./scilab-arduino.nav)
+
+Package hyperref Warning: Option `pdfauthor' has already been used,
+(hyperref) setting the option has no effect on input line 33.
+
+
+Overfull \vbox (67.38501pt too high) detected at line 37
+ []
+
+
+LaTeX Font Warning: Font shape `OT1/cmss/bx/n' in size <4> not available
+(Font) size <5> substituted on input line 37.
+
+
+
+pdfTeX warning: pdflatex (file ./3t-logo.pdf): PDF inclusion: found PDF version
+ <1.6>, but at most version <1.5> allowed
+<3t-logo.pdf, id=19, 2007.5pt x 1335.99126pt>
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 37.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+
+LaTeX Font Warning: Font shape `OT1/cmss/m/n' in size <4> not available
+(Font) size <5> substituted on input line 37.
+
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[1
+
+{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} <./3t-logo.pdf>]
+\openout4 = `scilab-arduino.vrb'.
+
+
+(./scilab-arduino.vrb)
+Overfull \vbox (7.82416pt too high) detected at line 50
+ []
+
+File: 3t-logo.pdf Graphic file (type pdf)
+<use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 50.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[2
+
+] (./scilab-arduino.vrb)
+Overfull \vbox (7.82416pt too high) detected at line 50
+ []
+
+File: 3t-logo.pdf Graphic file (type pdf)
+<use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 50.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[3
+
+] (./scilab-arduino.vrb)
+Overfull \vbox (7.82416pt too high) detected at line 50
+ []
+
+File: 3t-logo.pdf Graphic file (type pdf)
+<use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 50.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[4
+
+] (./scilab-arduino.vrb)
+Overfull \vbox (7.82416pt too high) detected at line 50
+ []
+
+File: 3t-logo.pdf Graphic file (type pdf)
+<use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 50.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[5
+
+] (./scilab-arduino.vrb)
+Overfull \vbox (7.82416pt too high) detected at line 50
+ []
+
+File: 3t-logo.pdf Graphic file (type pdf)
+<use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 50.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[6
+
+]
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 58.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[7
+
+]
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 58.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[8
+
+]
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 66.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[9
+
+]
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 66.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[10
+
+]
+\openout4 = `scilab-arduino.vrb'.
+
+ (./scilab-arduino.vrb)
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 77.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[11
+
+] (./scilab-arduino.vrb)
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 77.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[12
+
+]
+\openout4 = `scilab-arduino.vrb'.
+
+ (./scilab-arduino.vrb
+<arduino-shield-top.jpg, id=355, 3276.24pt x 2457.18pt>
+File: arduino-shield-top.jpg Graphic file (type jpg)
+
+<use arduino-shield-top.jpg>
+Package pdftex.def Info: arduino-shield-top.jpg used on input line 6.
+(pdftex.def) Requested size: 138.2795pt x 103.70702pt.
+LaTeX Font Info: Try loading font information for U+msa on input line 7.
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
+File: umsa.fd 2013/01/14 v3.01 AMS symbols A
+)
+LaTeX Font Info: Try loading font information for U+msb on input line 7.
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
+File: umsb.fd 2013/01/14 v3.01 AMS symbols B
+)
+<arduino-shield-side.jpg, id=356, 2457.18pt x 3276.24pt>
+File: arduino-shield-side.jpg Graphic file (type jpg)
+
+<use arduino-shield-side.jpg>
+Package pdftex.def Info: arduino-shield-side.jpg used on input line 10.
+(pdftex.def) Requested size: 124.4507pt x 165.92123pt.
+
+Overfull \hbox (27.64174pt too wide) in paragraph at lines 10--11
+ [][]
+ []
+
+)
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 93.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[13
+
+ <./arduino-shield-top.jpg> <./arduino-shield-side.jpg>]
+\openout4 = `scilab-arduino.vrb'.
+
+
+(./scilab-arduino.vrb)
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 104.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[14
+
+] (./scilab-arduino.vrb)
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 104.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[15
+
+] (./scilab-arduino.vrb)
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 104.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[16
+
+]
+\openout4 = `scilab-arduino.vrb'.
+
+ (./scilab-arduino.vrb)
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 114.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[17
+
+] (./scilab-arduino.vrb)
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 114.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[18
+
+] (./scilab-arduino.vrb)
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 114.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[19
+
+]
+\openout4 = `scilab-arduino.vrb'.
+
+ (./scilab-arduino.vrb)
+Overfull \vbox (7.82416pt too high) detected at line 126
+ []
+
+File: 3t-logo.pdf Graphic file (type pdf)
+<use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 126.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[20
+
+] (./scilab-arduino.vrb)
+Overfull \vbox (7.82416pt too high) detected at line 126
+ []
+
+File: 3t-logo.pdf Graphic file (type pdf)
+<use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 126.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[21
+
+] (./scilab-arduino.vrb)
+Overfull \vbox (7.82416pt too high) detected at line 126
+ []
+
+File: 3t-logo.pdf Graphic file (type pdf)
+<use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 126.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[22
+
+] (./scilab-arduino.vrb)
+Overfull \vbox (7.82416pt too high) detected at line 126
+ []
+
+File: 3t-logo.pdf Graphic file (type pdf)
+<use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 126.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[23
+
+] (./scilab-arduino.vrb)
+Overfull \vbox (7.82416pt too high) detected at line 126
+ []
+
+File: 3t-logo.pdf Graphic file (type pdf)
+<use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 126.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[24
+
+]
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 135.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[25
+
+]
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 145.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[26
+
+]
+File: 3t-logo.pdf Graphic file (type pdf)
+ <use 3t-logo.pdf>
+Package pdftex.def Info: 3t-logo.pdf used on input line 154.
+(pdftex.def) Requested size: 42.73155pt x 28.45274pt.
+
+Overfull \hbox (4.5199pt too wide) has occurred while \output is active
+ [][][][]
+ []
+
+[27
+
+]
+\tf@nav=\write6
+\openout6 = `scilab-arduino.nav'.
+
+\tf@toc=\write7
+\openout7 = `scilab-arduino.toc'.
+
+\tf@snm=\write8
+\openout8 = `scilab-arduino.snm'.
+
+Package atveryend Info: Empty hook `BeforeClearDocument' on input line 158.
+Package atveryend Info: Empty hook `AfterLastShipout' on input line 158.
+ (./scilab-arduino.aux)
+Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 158.
+Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 158.
+Package rerunfilecheck Info: File `scilab-arduino.out' has not changed.
+(rerunfilecheck) Checksum: D41D8CD98F00B204E9800998ECF8427E;0.
+
+
+LaTeX Font Warning: Size substitutions with differences
+(Font) up to 1.0pt have occurred.
+
+Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 158.
+ )
+Here is how much of TeX's memory you used:
+ 16103 strings out of 495028
+ 299182 string characters out of 6181497
+ 372211 words of memory out of 5000000
+ 18811 multiletter control sequences out of 15000+600000
+ 14557 words of font info for 52 fonts, out of 8000000 for 9000
+ 14 hyphenation exceptions out of 8191
+ 55i,16n,60p,437b,556s stack positions out of 5000i,500n,10000p,200000b,80000s
+pdfTeX warning (dest): name{Navigation28} has been referenced but does not ex
+ist, replaced by a fixed one
+
+pdfTeX warning (dest): name{Navigation29} has been referenced but does not exis
+t, replaced by a fixed one
+
+</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmss17.pfb></usr/
+share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmssbx10.pfb>
+Output written on scilab-arduino.pdf (27 pages, 2104694 bytes).
+PDF statistics:
+ 777 PDF objects out of 1000 (max. 8388607)
+ 718 compressed objects within 8 object streams
+ 57 named destinations out of 1000 (max. 500000)
+ 106 words of extra memory for PDF output out of 10000 (max. 10000000)
+
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.nav b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.nav
new file mode 100644
index 0000000..5217ee0
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.nav
@@ -0,0 +1,30 @@
+\beamer@endinputifotherversion {3.24pt}
+\headcommand {\slideentry {0}{0}{1}{1/1}{}{0}}
+\headcommand {\beamer@framepages {1}{1}}
+\headcommand {\slideentry {0}{0}{2}{2/6}{}{0}}
+\headcommand {\beamer@framepages {2}{6}}
+\headcommand {\slideentry {0}{0}{3}{7/8}{}{0}}
+\headcommand {\beamer@framepages {7}{8}}
+\headcommand {\slideentry {0}{0}{4}{9/10}{}{0}}
+\headcommand {\beamer@framepages {9}{10}}
+\headcommand {\slideentry {0}{0}{5}{11/12}{}{0}}
+\headcommand {\beamer@framepages {11}{12}}
+\headcommand {\slideentry {0}{0}{6}{13/13}{}{0}}
+\headcommand {\beamer@framepages {13}{13}}
+\headcommand {\slideentry {0}{0}{7}{14/16}{}{0}}
+\headcommand {\beamer@framepages {14}{16}}
+\headcommand {\slideentry {0}{0}{8}{17/19}{}{0}}
+\headcommand {\beamer@framepages {17}{19}}
+\headcommand {\slideentry {0}{0}{9}{20/24}{}{0}}
+\headcommand {\beamer@framepages {20}{24}}
+\headcommand {\slideentry {0}{0}{10}{25/25}{}{0}}
+\headcommand {\beamer@framepages {25}{25}}
+\headcommand {\slideentry {0}{0}{11}{26/26}{}{0}}
+\headcommand {\beamer@framepages {26}{26}}
+\headcommand {\slideentry {0}{0}{12}{27/27}{}{0}}
+\headcommand {\beamer@framepages {27}{27}}
+\headcommand {\beamer@partpages {1}{27}}
+\headcommand {\beamer@subsectionpages {1}{27}}
+\headcommand {\beamer@sectionpages {1}{27}}
+\headcommand {\beamer@documentpages {27}}
+\headcommand {\def \inserttotalframenumber {12}}
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.out b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.out
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.pdf b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.pdf
new file mode 100644
index 0000000..a5dc01f
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.pdf
Binary files differ
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.snm b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.snm
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.snm
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.tex b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.tex
new file mode 100644
index 0000000..10f46d7
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.tex
@@ -0,0 +1,158 @@
+\documentclass[17pt,xcolor=table]{beamer}
+\definecolor{sbhs}{RGB}{255,69,50}
+\definecolor{sbhs1}{RGB}{255,97,73}
+\setbeamercolor{structure}{fg=sbhs}
+\setbeamercolor{alerted text}{fg=sbhs1}
+\usepackage{verbatim}
+\usepackage{bm}
+%\usepackage{txfonts}
+\newenvironment{colorverbatim}[1][]
+{
+\color{blue}
+}
+{
+\endverbatim
+}
+\usepackage{beamerthemesplit}
+\usepackage{graphicx}
+\usepackage{eso-pic}
+\usepackage{beamerthemeshadow}
+\beamertemplateshadingbackground{blue!5}{yellow!10}
+\usepackage{beamerthemesplit}
+\logo{\includegraphics[height=1cm]{3t-logo.pdf}}
+\begin{document}
+\sffamily \bfseries
+\title
+[\scriptsize {Arduino access- IDE, Scilab \& Xcos}
+\hspace{0.05cm}]
+{\large{Performing LED blinking experiment on Arduino using Arduino IDE, Scilab and Xcos}}
+\author [Manas R. Das]
+{\small Talk To a Teacher \\http://sakshat.ac.in \\ National Mission on Education
+ through ICT \\ http://spoken-tutorial.org \\ [0.2cm]
+ Manas R. Das \\IIT Bombay \\ [0.1cm]
+{\small 2 July 2015}}
+\date{}
+\begin{frame}
+ \titlepage
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Objectives}
+In this tutorial we will learn to:
+\begin{itemize}[<+-|alert@+>]
+\item Connect Arduino to computer
+\item Perform LED blinking experiment using Arduino IDE
+\item Load scilab-arduino toolbox in scilab
+\item Perform LED blinking experiment using scilab script
+\item Perform LED blinking experiment using Xcos
+
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Software requirements}
+\begin{itemize}[<+-|alert@+>]
+\item Scilab 5.5.2 must be installed on your computer
+\item I am using Windows-8 64 bit OS
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Scilab}
+\begin{itemize}[<+-|alert@+>]
+\item Download scilab from \\{\color{red} www.scilab.org}
+\item Watch Scilab installation spoken tutorial available at {\color{red} spoken-tutorial.org}
+\end{itemize}
+\end{frame}
+
+
+
+\begin{frame}[fragile]
+\frametitle{Prerequisites}
+\begin{itemize}[<+-|alert@+>]
+\item Need of Origin folder
+\item Save it on desktop
+\end{itemize}
+
+\end{frame}
+
+
+\begin{frame}[fragile]
+\frametitle{Arduino with shield}
+\begin{figure}
+\centering
+\begin{minipage}{0.45\textwidth}
+\centering
+\includegraphics[width=1\linewidth]{arduino-shield-top.jpg}
+\end{minipage}
+\begin{minipage}{0.45\textwidth}
+\centering
+\includegraphics[width=0.9\linewidth, angle=90]{arduino-shield-side.jpg}
+\end{minipage}
+\end{figure}
+\end{frame}
+
+
+\begin{frame}[fragile]
+\frametitle{Scilab-Arduino toolbox}
+\begin{itemize}[<+-|alert@+>]
+\item Scilab by default cannot communicate with arduino
+\item Functionality provided using scilab-arduino toolbox
+\item Toolbox available for both windows and linux
+\end{itemize}
+
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Scilab-Arduino toolbox Contd...}
+\begin{itemize}[<+-|alert@+>]
+\item Toolbox located at Origin/tool/windows or Origin/tools/linux
+\item Requires a dedicated firmware to work with arduino
+\item Firmware located at Origin/tools/arduino-firmware
+\end{itemize}
+
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Summary}
+In this tutorial, we have learnt how to,
+\begin{itemize}[<+-|alert@+>]
+\item Perform Arduino IDE installation
+\item Perform LED blinking experiment using Arduino IDE
+\item Load scilab-arduino toolbox in scilab
+\item Perform LED blinking experiment using scilab script
+\item Perform LED blinking experiment using Xcos
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{About the Spoken Tutorial Project}
+\begin{itemize}
+\item Watch the video available at {\color{red} http://spoken-tutorial.org /What\_is\_a\_Spoken\_Tutorial}
+\item It summarises the Spoken Tutorial project
+\item If you do not have good bandwidth, you can download and watch it
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Spoken Tutorial Workshops}The Spoken Tutorial Project Team
+\begin{itemize}
+\item Conducts workshops using spoken tutorials
+\item Gives certificates to those who pass an online test
+\end{itemize}
+For more details, contact \\ {\color{red}contact@spoken-tutorial.org}
+
+\end{frame}
+
+\begin{frame}
+\frametitle{Acknowledgements}
+\begin{itemize}
+\item Spoken Tutorial Project is a part of the Talk to a Teacher project
+\item It is supported by the National Mission on Education through ICT, MHRD, Government of India
+\item More information on this Mission is available at: \\ {\color{red} http://spoken-tutorial.org \\ /NMEICT-Intro}
+\end{itemize}
+\end{frame}
+
+
+
+\end{document}
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.toc b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.toc
new file mode 100644
index 0000000..addcdc2
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.toc
@@ -0,0 +1 @@
+\beamer@endinputifotherversion {3.24pt}
diff --git a/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.vrb b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.vrb
new file mode 100644
index 0000000..d449222
--- /dev/null
+++ b/scilab-arduino/spoken/scilab-arduino-slides/scilab-arduino.vrb
@@ -0,0 +1,9 @@
+\frametitle{Summary}
+In this tutorial, we have learnt how to,
+\begin{itemize}[<+-|alert@+>]
+\item Perform Arduino IDE installation
+\item Perform LED blinking experiment using Arduino IDE
+\item Load scilab-arduino toolbox in scilab
+\item Perform LED blinking experiment using scilab script
+\item Perform LED blinking experiment using Xcos
+\end{itemize}
diff --git a/scilab-arduino/spoken/screenshots/USB.PNG b/scilab-arduino/spoken/screenshots/USB.PNG
new file mode 100644
index 0000000..800b406
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/USB.PNG
Binary files differ
diff --git a/scilab-arduino/spoken/screenshots/arduino-ide.jpg b/scilab-arduino/spoken/screenshots/arduino-ide.jpg
new file mode 100644
index 0000000..17fbde3
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/arduino-ide.jpg
Binary files differ
diff --git a/scilab-arduino/spoken/screenshots/builder.png b/scilab-arduino/spoken/screenshots/builder.png
new file mode 100644
index 0000000..a5995e1
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/builder.png
Binary files differ
diff --git a/scilab-arduino/spoken/screenshots/change-directory.png b/scilab-arduino/spoken/screenshots/change-directory.png
new file mode 100644
index 0000000..d581c17
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/change-directory.png
Binary files differ
diff --git a/scilab-arduino/spoken/screenshots/connecting-shield-arduino.JPG b/scilab-arduino/spoken/screenshots/connecting-shield-arduino.JPG
new file mode 100644
index 0000000..8ea7cc8
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/connecting-shield-arduino.JPG
Binary files differ
diff --git a/scilab-arduino/spoken/screenshots/device-manager.png b/scilab-arduino/spoken/screenshots/device-manager.png
new file mode 100644
index 0000000..b10d1cf
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/device-manager.png
Binary files differ
diff --git a/scilab-arduino/spoken/screenshots/led-blue.png b/scilab-arduino/spoken/screenshots/led-blue.png
new file mode 100644
index 0000000..52385a5
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/led-blue.png
Binary files differ
diff --git a/scilab-arduino/spoken/screenshots/loader.png b/scilab-arduino/spoken/screenshots/loader.png
new file mode 100644
index 0000000..f5afd05
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/loader.png
Binary files differ
diff --git a/scilab-arduino/spoken/screenshots/test-code.png b/scilab-arduino/spoken/screenshots/test-code.png
new file mode 100644
index 0000000..a989279
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/test-code.png
Binary files differ
diff --git a/scilab-arduino/spoken/screenshots/test-console.png b/scilab-arduino/spoken/screenshots/test-console.png
new file mode 100644
index 0000000..53269d2
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/test-console.png
Binary files differ
diff --git a/scilab-arduino/spoken/screenshots/xcos-desc.png b/scilab-arduino/spoken/screenshots/xcos-desc.png
new file mode 100644
index 0000000..136aeab
--- /dev/null
+++ b/scilab-arduino/spoken/screenshots/xcos-desc.png
Binary files differ
diff --git a/scilab-arduino/spoken/trash b/scilab-arduino/spoken/trash
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/scilab-arduino/spoken/trash
@@ -0,0 +1 @@
+
diff --git a/scilab-arduino/suppl/IEEEtran.bst b/scilab-arduino/suppl/IEEEtran.bst
new file mode 100644
index 0000000..70af79c
--- /dev/null
+++ b/scilab-arduino/suppl/IEEEtran.bst
@@ -0,0 +1,2369 @@
+%%
+%% IEEEtran.bst
+%% BibTeX Bibliography Style file for IEEE Journals and Conferences (unsorted)
+%% Version 1.11 (2003/04/02)
+%%
+%% Copyright (c) 2003 Michael Shell
+%%
+%% Original starting code base and algorithms obtained from the output of
+%% Patrick W. Daly's makebst package as well as from prior versions of
+%% IEEE BibTeX styles:
+%%
+%% 1. Howard Trickey and Oren Patashnik's ieeetr.bst (1985/1988)
+%% 2. Silvano Balemi and Richard H. Roy's IEEEbib.bst (1993)
+%%
+%%
+%% See:
+%% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/
+%% for latest version and current contact information.
+%%
+%% For use with BibTeX version 0.99a or later
+%%
+%% This is a numerical citation style.
+%%
+%%**********************************************************************
+%% Legal Notice:
+%% This code is offered as-is without any warranty either expressed or
+%% implied; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE!
+%% User assumes all risk.
+%% In no event shall IEEE or any contributor to this code be liable for
+%% any damages or losses, including, but not limited to, incidental,
+%% consequential, or any other damages, resulting from the use or misuse
+%% of any information contained here.
+%%
+%% This code is distributed under the Perl Artistic License
+%% ( http://language.perl.com/misc/Artistic.html )
+%% and may be freely used, distributed and modified - subject to the
+%% constraints therein.
+%% Retain all contribution notices, credits and disclaimers.
+%%
+%% All comments are the opinions of their respective authors and are not
+%% necessarily endorsed by the IEEE.
+%%**********************************************************************
+%
+%
+% Changelog:
+%
+% 1.00 (2002/08/13) Initial release
+%
+% 1.10 (2002/09/27)
+% 1. Corrected minor bug for improperly formed warning message when a
+% book was not given a title. Thanks to Ming Kin Lai for reporting this.
+% 2. Added support for CTLname_format_string and CTLname_latex_cmd fields
+% in the BST control entry type.
+%
+% 1.11 (2003/04/02)
+% 1. Fixed bug with URLs containing underscores when using url.sty. Thanks
+% to Ming Kin Lai for reporting this.
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% DEFAULTS FOR THE CONTROLS OF THE BST STYLE %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% These are the defaults for the user adjustable controls. The values used
+% here can be overridden by the user via IEEEtranBSTCTL entry type.
+
+% NOTE: The recommended LaTeX command to invoke a control entry type is:
+%
+%\makeatletter
+%\def\bstctlcite#1{\@bsphack
+% \@for\@citeb:=#1\do{%
+% \edef\@citeb{\expandafter\@firstofone\@citeb}%
+% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi}%
+% \@esphack}
+%\makeatother
+%
+% It is called at the start of the document, before the first \cite, like:
+% \bstctlcite{IEEEexample:BSTcontrol}
+%
+% IEEEtran.cls V1.6 and later does provide this command.
+
+
+
+% #0 turns off the display of the number for articles.
+% #1 enables
+FUNCTION {default.is.use.number.for.article} { #1 }
+
+
+% #0 turns off the display of the paper and type fields in @inproceedings.
+% #1 enables
+FUNCTION {default.is.use.paper} { #1 }
+
+
+% #0 turns off the forced use of "et al."
+% #1 enables
+FUNCTION {default.is.forced.et.al} { #0 }
+
+% The maximum number of names that can be present beyond which an "et al."
+% usage is forced. Be sure that num.names.shown.with.forced.et.al (below)
+% is not greater than this value!
+% Note: There are many instances of references in IEEE journals which have
+% a very large number of authors as well as instances in which "et al." is
+% used profusely.
+FUNCTION {default.max.num.names.before.forced.et.al} { #10 }
+
+% The number of names that will be shown with a forced "et al.".
+% Must be less than or equal to max.num.names.before.forced.et.al
+FUNCTION {default.num.names.shown.with.forced.et.al} { #1 }
+
+
+% #0 turns off the alternate interword spacing for entries with URLs.
+% #1 enables
+FUNCTION {default.is.use.alt.interword.spacing} { #1 }
+
+% If alternate interword spacing for entries with URLs is enabled, this is
+% the interword spacing stretch factor that will be used. For example, the
+% default "4" here means that the interword spacing in entries with URLs can
+% stretch to four times normal. Does not have to be an integer. Note that
+% the value specified here can be overridden by the user in their LaTeX
+% code via a command such as:
+% "\providecommand\BIBentryALTinterwordstretchfactor{1.5}" in addition to
+% that via the IEEEtranBSTCTL entry type.
+FUNCTION {default.ALTinterwordstretchfactor} { "4" }
+
+
+% #0 turns off the "dashification" of repeated (i.e., identical to those
+% of the previous entry) names. IEEE normally does this.
+% #1 enables
+FUNCTION {default.is.dash.repeated.names} { #1 }
+
+
+% The default name format control string.
+FUNCTION {default.name.format.string}{ "{f.~}{vv~}{ll}{, jj}" }
+
+
+% The default LaTeX font command for the names.
+FUNCTION {default.name.latex.cmd}{ "" }
+
+
+% Other controls that cannot be accessed via IEEEtranBSTCTL entry type.
+
+% #0 turns off the terminal startup banner/completed message so as to
+% operate more quietly.
+% #1 enables
+FUNCTION {is.print.banners.to.terminal} { #1 }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% FILE VERSION AND BANNER %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION{bst.file.version} { "1.11" }
+FUNCTION{bst.file.date} { "2003/04/02" }
+FUNCTION{bst.file.website} { "http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/" }
+
+FUNCTION {banner.message}
+{ is.print.banners.to.terminal
+ { "-- IEEEtran.bst version" " " * bst.file.version *
+ " (" * bst.file.date * ") " * "by Michael Shell." *
+ top$
+ "-- " bst.file.website *
+ top$
+ "-- See the " quote$ * "IEEEtran_bst_HOWTO.pdf" * quote$ * " manual for usage information." *
+ top$
+ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {completed.message}
+{ is.print.banners.to.terminal
+ { ""
+ top$
+ "Done."
+ top$
+ }
+ { skip$ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% STRING CONSTANTS %%
+%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {bbl.and}{ "and" }
+FUNCTION {bbl.etal}{ "et~al." }
+FUNCTION {bbl.editors}{ "eds." }
+FUNCTION {bbl.editor}{ "ed." }
+FUNCTION {bbl.edition}{ "ed." }
+FUNCTION {bbl.volume}{ "vol." }
+FUNCTION {bbl.of}{ "of" }
+FUNCTION {bbl.number}{ "no." }
+FUNCTION {bbl.in}{ "in" }
+FUNCTION {bbl.pages}{ "pp." }
+FUNCTION {bbl.page}{ "p." }
+FUNCTION {bbl.chapter}{ "ch." }
+FUNCTION {bbl.paper}{ "paper" }
+FUNCTION {bbl.part}{ "pt." }
+FUNCTION {bbl.patent}{ "Patent" }
+FUNCTION {bbl.patentUS}{ "U.S." }
+FUNCTION {bbl.revision}{ "Rev." }
+FUNCTION {bbl.series}{ "ser." }
+FUNCTION {bbl.standard}{ "Std." }
+FUNCTION {bbl.techrep}{ "Tech. Rep." }
+FUNCTION {bbl.mthesis}{ "Master's thesis" }
+FUNCTION {bbl.phdthesis}{ "Ph.D. dissertation" }
+FUNCTION {bbl.urlprefix}{ "[Online]. Available:" }
+FUNCTION {bbl.st}{ "st" }
+FUNCTION {bbl.nd}{ "nd" }
+FUNCTION {bbl.rd}{ "rd" }
+FUNCTION {bbl.th}{ "th" }
+
+
+% This is the LaTeX spacer that is used when a larger than normal space
+% is called for (such as just before the address:publisher).
+FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " }
+
+% The LaTeX code for dashes that are used to represent repeated names.
+% Note: Some older IEEE journals used something like
+% "\rule{0.275in}{0.5pt}\," which is fairly thick and runs right along
+% the baseline. However, IEEE now uses a thinner, above baseline,
+% six dash long sequence.
+FUNCTION {repeated.name.dashes} { "------" }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% PREDEFINED STRING MACROS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+
+
+%%%%%%%%%%%%%%%%%%
+%% ENTRY FIELDS %%
+%%%%%%%%%%%%%%%%%%
+
+ENTRY
+ { address
+ assignee
+ author
+ booktitle
+ chapter
+ day
+ dayfiled
+ edition
+ editor
+ howpublished
+ institution
+ intype
+ journal
+ key
+ language
+ month
+ monthfiled
+ nationality
+ note
+ number
+ organization
+ pages
+ paper
+ publisher
+ school
+ series
+ revision
+ title
+ type
+ url
+ volume
+ year
+ yearfiled
+ CTLuse_article_number
+ CTLuse_paper
+ CTLuse_forced_etal
+ CTLmax_names_forced_etal
+ CTLnames_show_etal
+ CTLuse_alt_spacing
+ CTLalt_stretch_factor
+ CTLdash_repeated_names
+ CTLname_format_string
+ CTLname_latex_cmd
+ }
+ {}
+ { label }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%% INTEGER VARIABLES %%
+%%%%%%%%%%%%%%%%%%%%%%%
+
+INTEGERS { prev.status.punct this.status.punct punct.std
+ punct.no punct.comma punct.period
+ prev.status.space this.status.space space.std
+ space.no space.normal space.large
+ prev.status.quote this.status.quote quote.std
+ quote.no quote.close
+ prev.status.nline this.status.nline nline.std
+ nline.no nline.newblock
+ status.cap cap.std
+ cap.no cap.yes}
+
+INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames }
+
+INTEGERS { is.use.number.for.article
+ is.use.paper
+ is.forced.et.al
+ max.num.names.before.forced.et.al
+ num.names.shown.with.forced.et.al
+ is.use.alt.interword.spacing
+ is.dash.repeated.names}
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% STRING VARIABLES %%
+%%%%%%%%%%%%%%%%%%%%%%
+
+STRINGS { bibinfo
+ longest.label
+ oldname
+ s
+ t
+ ALTinterwordstretchfactor
+ name.format.string
+ name.latex.cmd}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LOW LEVEL FUNCTIONS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize.controls}
+{ default.is.use.number.for.article 'is.use.number.for.article :=
+ default.is.use.paper 'is.use.paper :=
+ default.is.forced.et.al 'is.forced.et.al :=
+ default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al :=
+ default.num.names.shown.with.forced.et.al 'num.names.shown.with.forced.et.al :=
+ default.is.use.alt.interword.spacing 'is.use.alt.interword.spacing :=
+ default.is.dash.repeated.names 'is.dash.repeated.names :=
+ default.ALTinterwordstretchfactor 'ALTinterwordstretchfactor :=
+ default.name.format.string 'name.format.string :=
+ default.name.latex.cmd 'name.latex.cmd :=
+}
+
+
+% This IEEEtran.bst features a very powerful and flexible mechanism for
+% controlling the capitalization, punctuation, spacing, quotation, and
+% newlines of the formatted entry fields. (Note: IEEEtran.bst does not need
+% or use the newline/newblock feature, but it has been implemented for
+% possible future use.) The output states of IEEEtran.bst consist of
+% multiple independent attributes and, as such, can be thought of as being
+% vectors, rather than the simple scalar values ("before.all",
+% "mid.sentence", etc.) used in most other .bst files.
+%
+% The more flexible and complex design used here was motivated in part by
+% IEEE's rather unusual bibliography style. For example, IEEE ends the
+% previous field item with a period and large space prior to the publisher
+% address; the @electronic entry types use periods as inter-item punctuation
+% rather than the commas used by the other entry types; and URLs are never
+% followed by periods even though they are the last item in the entry.
+% Although it is possible to accommodate these features with the conventional
+% output state system, the seemingly endless exceptions make for convoluted,
+% unreliable and difficult to maintain code.
+%
+% IEEEtran.bst's output state system can be easily understood via a simple
+% illustration of two most recently formatted entry fields (on the stack):
+%
+% CURRENT_ITEM
+% "PREVIOUS_ITEM
+%
+% which, in this example, is to eventually appear in the bibliography as:
+%
+% "PREVIOUS_ITEM," CURRENT_ITEM
+%
+% It is the job of the output routine to take the previous item off of the
+% stack (while leaving the current item at the top of the stack), apply its
+% trailing punctuation (including closing quote marks) and spacing, and then
+% to write the result to BibTeX's output buffer:
+%
+% "PREVIOUS_ITEM,"
+%
+% Punctuation (and spacing) between items is often determined by both of the
+% items rather than just the first one. The presence of quotation marks
+% further complicates the situation because, in standard English, trailing
+% punctuation marks are supposed to be contained within the quotes.
+%
+% IEEEtran.bst maintains two output state (aka "status") vectors which
+% correspond to the previous and current (aka "this") items. Each vector
+% consists of several independent attributes which track punctuation,
+% spacing, quotation, and newlines. Capitalization status is handled by a
+% separate scalar because the format routines, not the output routine,
+% handle capitalization and, therefore, there is no need to maintain the
+% capitalization attribute for both the "previous" and "this" items.
+%
+% When a format routine adds a new item, it copies the current output status
+% vector to the previous output status vector and (usually) resets the
+% current (this) output status vector to a "standard status" vector. Using a
+% "standard status" vector in this way allows us to redefine what we mean by
+% "standard status" at the start of each entry handler and reuse the same
+% format routines under the various inter-item separation schemes. For
+% example, the standard status vector for the @book entry type may use
+% commas for item separators, while the @electronic type may use periods,
+% yet both entry handlers exploit many of the exact same format routines.
+%
+% Because format routines have write access to the output status vector of
+% the previous item, they can override the punctuation choices of the
+% previous format routine! Therefore, it becomes trivial to implement rules
+% such as "Always use a period and a large space before the publisher." By
+% pushing the generation of the closing quote mark to the output routine, we
+% avoid all the problems caused by having to close a quote before having all
+% the information required to determine what the punctuation should be.
+%
+% The IEEEtran.bst output state system can easily be expanded if needed.
+% For instance, it is easy to add a "space.tie" attribute value if the
+% bibliography rules mandate that two items have to be joined with an
+% unbreakable space.
+
+FUNCTION {initialize.status.constants}
+{ #0 'punct.no :=
+ #1 'punct.comma :=
+ #2 'punct.period :=
+ #0 'space.no :=
+ #1 'space.normal :=
+ #2 'space.large :=
+ #0 'quote.no :=
+ #1 'quote.close :=
+ #0 'cap.no :=
+ #1 'cap.yes :=
+ #0 'nline.no :=
+ #1 'nline.newblock :=
+}
+
+FUNCTION {std.status.using.comma}
+{ punct.comma 'punct.std :=
+ space.normal 'space.std :=
+ quote.no 'quote.std :=
+ nline.no 'nline.std :=
+ cap.no 'cap.std :=
+}
+
+FUNCTION {std.status.using.period}
+{ punct.period 'punct.std :=
+ space.normal 'space.std :=
+ quote.no 'quote.std :=
+ nline.no 'nline.std :=
+ cap.yes 'cap.std :=
+}
+
+FUNCTION {initialize.prev.this.status}
+{ punct.no 'prev.status.punct :=
+ space.no 'prev.status.space :=
+ quote.no 'prev.status.quote :=
+ nline.no 'prev.status.nline :=
+ punct.no 'this.status.punct :=
+ space.no 'this.status.space :=
+ quote.no 'this.status.quote :=
+ nline.no 'this.status.nline :=
+ cap.yes 'status.cap :=
+}
+
+FUNCTION {this.status.std}
+{ punct.std 'this.status.punct :=
+ space.std 'this.status.space :=
+ quote.std 'this.status.quote :=
+ nline.std 'this.status.nline :=
+}
+
+FUNCTION {cap.status.std}{ cap.std 'status.cap := }
+
+FUNCTION {this.to.prev.status}
+{ this.status.punct 'prev.status.punct :=
+ this.status.space 'prev.status.space :=
+ this.status.quote 'prev.status.quote :=
+ this.status.nline 'prev.status.nline :=
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ { skip$ }
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ { skip$ }
+ if$
+}
+
+
+% convert the strings "yes" or "no" to #1 or #0 respectively
+FUNCTION {yes.no.to.int}
+{ "l" change.case$ duplicate$
+ "yes" =
+ { pop$ #1 }
+ { duplicate$ "no" =
+ { pop$ #0 }
+ { "unknown boolean " quote$ * swap$ * quote$ *
+ " in " * cite$ * warning$
+ #0
+ }
+ if$
+ }
+ if$
+}
+
+
+% pushes true if the single char string on the stack is in the
+% range of "0" to "9"
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+% multiplies the integer on the stack by a factor of 10
+FUNCTION {bump.int.mag}
+{ #0 'multiresult :=
+ { duplicate$ #0 > }
+ { #1 -
+ multiresult #10 +
+ 'multiresult :=
+ }
+ while$
+pop$
+multiresult
+}
+
+% converts a single character string on the stack to an integer
+FUNCTION {char.to.integer}
+{ duplicate$
+ is.num
+ { chr.to.int$ "0" chr.to.int$ - }
+ {"noninteger character " quote$ * swap$ * quote$ *
+ " in integer field of " * cite$ * warning$
+ #0
+ }
+ if$
+}
+
+% converts a string on the stack to an integer
+FUNCTION {string.to.integer}
+{ duplicate$ text.length$ 'namesleft :=
+ #1 'nameptr :=
+ #0 'numnames :=
+ { nameptr namesleft > not }
+ { duplicate$ nameptr #1 substring$
+ char.to.integer numnames bump.int.mag +
+ 'numnames :=
+ nameptr #1 +
+ 'nameptr :=
+ }
+ while$
+pop$
+numnames
+}
+
+
+
+
+% The output routines write out the *next* to the top (previous) item on the
+% stack, adding punctuation and such as needed. Since IEEEtran.bst maintains
+% the output status for the top two items on the stack, these output
+% routines have to consider the previous output status (which corresponds to
+% the item that is being output). Full independent control of punctuation,
+% closing quote marks, spacing, and newblock is provided.
+%
+% "output.nonnull" does not check for the presence of a previous empty
+% item.
+%
+% "output" does check for the presence of a previous empty item and will
+% remove an empty item rather than outputing it.
+%
+% "output.warn" is like "output", but will issue a warning if it detects
+% an empty item.
+
+FUNCTION {output.nonnull}
+{ swap$
+ prev.status.punct punct.comma =
+ { "," * }
+ { skip$ }
+ if$
+ prev.status.punct punct.period =
+ { add.period$ }
+ { skip$ }
+ if$
+ prev.status.quote quote.close =
+ { "''" * }
+ { skip$ }
+ if$
+ prev.status.space space.normal =
+ { " " * }
+ { skip$ }
+ if$
+ prev.status.space space.large =
+ { large.space * }
+ { skip$ }
+ if$
+ write$
+ prev.status.nline nline.newblock =
+ { newline$ "\newblock " write$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.warn}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% "fin.entry" is the output routine that handles the last item of the entry
+% (which will be on the top of the stack when "fin.entry" is called).
+
+FUNCTION {fin.entry}
+{ this.status.punct punct.no =
+ { skip$ }
+ { add.period$ }
+ if$
+ this.status.quote quote.close =
+ { "''" * }
+ { skip$ }
+ if$
+write$
+newline$
+}
+
+
+FUNCTION {is.last.char.not.punct}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {is.multiple.pages}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {capitalize}{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {do.name.latex.cmd}
+{ name.latex.cmd
+ empty$
+ { skip$ }
+ { name.latex.cmd "{" * swap$ * "}" * }
+ if$
+}
+
+% IEEEtran.bst uses its own \BIBforeignlanguage command which directly
+% invokes the TeX hyphenation patterns without the need of the Babel
+% package. Babel does a lot more than switch hyphenation patterns and
+% its loading can cause unintended effects in many class files (such as
+% IEEEtran.cls).
+FUNCTION {select.language}
+{ duplicate$ empty$ 'pop$
+ { language empty$ 'skip$
+ { "\BIBforeignlanguage{" language * "}{" * swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {space.word}{ " " swap$ * " " * }
+
+
+% Field Conditioners, Converters, Checkers and External Interfaces
+
+FUNCTION {empty.field.to.null.string}
+{ duplicate$ empty$
+ { pop$ "" }
+ { skip$ }
+ if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ { pop$ }
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {empty.entry.warn}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$ url empty$
+ and and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+% The bibinfo system provides a way for the electronic parsing/acquisition
+% of a bibliography's contents as is done by ReVTeX. For example, a field
+% could be entered into the bibliography as:
+% \bibinfo{volume}{2}
+% Only the "2" would show up in the document, but the LaTeX \bibinfo command
+% could do additional things with the information. IEEEtran.bst does provide
+% a \bibinfo command via "\providecommand{\bibinfo}[2]{#2}". However, it is
+% currently not used as the bogus bibinfo functions defined here output the
+% entry values directly without the \bibinfo wrapper. The bibinfo functions
+% themselves (and the calls to them) are retained for possible future use.
+%
+% bibinfo.check avoids acting on missing fields while bibinfo.warn will
+% issue a warning message if a missing field is detected. Prior to calling
+% the bibinfo functions, the user should push the field value and then its
+% name string, in that order.
+
+FUNCTION {bibinfo.check}
+{ swap$ duplicate$ missing$
+ { pop$ pop$ "" }
+ { duplicate$ empty$
+ { swap$ pop$ }
+ { swap$ pop$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$ duplicate$ missing$
+ { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" }
+ { duplicate$ empty$
+ { swap$ "empty " swap$ * " in " * cite$ * warning$ }
+ { swap$ pop$ }
+ if$
+ }
+ if$
+}
+
+
+% IEEE separates large numbers with more than 4 digits into groups of
+% three. IEEE uses a small space to separate these number groups.
+% Typical applications include patent and page numbers.
+
+% number of consecutive digits required to trigger the group separation.
+FUNCTION {large.number.trigger}{ #5 }
+
+% For numbers longer than the trigger, this is the blocksize of the groups.
+% The blocksize must be less than the trigger threshold, and 2 * blocksize
+% must be greater than the trigger threshold (can't do more than one
+% separation on the initial trigger).
+FUNCTION {large.number.blocksize}{ #3 }
+
+% What is actually inserted between the number groups.
+FUNCTION {large.number.separator}{ "\," }
+
+% So as to save on integer variables by reusing existing ones, numnames
+% holds the current number of consecutive digits read and nameptr holds
+% the number that will trigger an inserted space.
+FUNCTION {large.number.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ large.number.trigger 'nameptr :=
+ { t empty$ not }
+ { t #-1 #1 substring$ is.num
+ { numnames #1 + 'numnames := }
+ { #0 'numnames :=
+ large.number.trigger 'nameptr :=
+ }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames nameptr =
+ { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$
+ nameptr large.number.blocksize - #1 + global.max$ substring$
+ large.number.separator swap$ * *
+ nameptr large.number.blocksize - 'numnames :=
+ large.number.blocksize #1 + 'nameptr :=
+ }
+ { skip$ }
+ if$
+ }
+ while$
+}
+
+% Converts all single dashes "-" to double dashes "--".
+FUNCTION {n.dashify}
+{ large.number.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+% This function detects entries with names that are identical to that of
+% the previous entry and replaces the repeated names with dashes (if the
+% "is.dash.repeated.names" user control is nonzero).
+FUNCTION {name.or.dash}
+{ 's :=
+ oldname empty$
+ { s 'oldname := s }
+ { s oldname =
+ { is.dash.repeated.names
+ { repeated.name.dashes }
+ { s 'oldname := s }
+ if$
+ }
+ { s 'oldname := s }
+ if$
+ }
+ if$
+}
+
+% Converts the number string on the top of the stack to
+% "numerical ordinal form" (e.g., "7" to "7th"). There is
+% no artificial limit to the upper bound of the numbers as the
+% least significant digit always determines the ordinal form.
+FUNCTION {num.to.ordinal}
+{ duplicate$ #-1 #1 substring$ "1" =
+ { bbl.st * }
+ { duplicate$ #-1 #1 substring$ "2" =
+ { bbl.nd * }
+ { duplicate$ #-1 #1 substring$ "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+% If the string on the top of the stack begins with a number,
+% (e.g., 11th) then replace the string with the leading number
+% it contains. Otherwise retain the string as-is. s holds the
+% extracted number, t holds the part of the string that remains
+% to be scanned.
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+% Converts the word number string on the top of the stack to
+% Arabic string form. Will be successful up to "tenth".
+FUNCTION {word.to.num}
+{ duplicate$ "l" change.case$ 's :=
+ s "first" =
+ { pop$ "1" }
+ { skip$ }
+ if$
+ s "second" =
+ { pop$ "2" }
+ { skip$ }
+ if$
+ s "third" =
+ { pop$ "3" }
+ { skip$ }
+ if$
+ s "fourth" =
+ { pop$ "4" }
+ { skip$ }
+ if$
+ s "fifth" =
+ { pop$ "5" }
+ { skip$ }
+ if$
+ s "sixth" =
+ { pop$ "6" }
+ { skip$ }
+ if$
+ s "seventh" =
+ { pop$ "7" }
+ { skip$ }
+ if$
+ s "eighth" =
+ { pop$ "8" }
+ { skip$ }
+ if$
+ s "ninth" =
+ { pop$ "9" }
+ { skip$ }
+ if$
+ s "tenth" =
+ { pop$ "10" }
+ { skip$ }
+ if$
+}
+
+
+% Converts the string on the top of the stack to numerical
+% ordinal (e.g., "11th") form.
+FUNCTION {convert.edition}
+{ duplicate$ empty$ 'skip$
+ { duplicate$ #1 #1 substring$ is.num
+ { extract.num
+ num.to.ordinal
+ }
+ { word.to.num
+ duplicate$ #1 #1 substring$ is.num
+ { num.to.ordinal }
+ { "edition ordinal word " quote$ * edition * quote$ *
+ " may be too high (or improper) for conversion" * " in " * cite$ * warning$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LATEX BIBLIOGRAPHY CODE %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {start.entry}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ initialize.prev.this.status
+}
+
+% Here we write out all the LaTeX code that we will need. The most involved
+% code sequences are those that control the alternate interword spacing and
+% foreign language hyphenation patterns. The heavy use of \providecommand
+% gives users a way to override the defaults. Special thanks to Javier Bezos,
+% Johannes Braams, Robin Fairburns, Heiko Oberdiek, Donald Arseneau and all
+% the other gurus on comp.text.tex for their help and advice on the topic of
+% \selectlanguage, Babel and BibTeX.
+FUNCTION {begin.bib}
+{ preamble$ empty$ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\providecommand{\url}[1]{#1}"
+ write$ newline$
+ "\csname url@rmstyle\endcsname"
+ write$ newline$
+ "\providecommand{\newblock}{\relax}"
+ write$ newline$
+ "\providecommand{\bibinfo}[2]{#2}"
+ write$ newline$
+ "\providecommand\BIBentrySTDinterwordspacing{\spaceskip=0pt\relax}"
+ write$ newline$
+ "\providecommand\BIBentryALTinterwordstretchfactor{"
+ ALTinterwordstretchfactor * "}" *
+ write$ newline$
+ "\providecommand\BIBentryALTinterwordspacing{\spaceskip=\fontdimen2\font plus "
+ write$ newline$
+ "\BIBentryALTinterwordstretchfactor\fontdimen3\font minus \fontdimen4\font\relax}"
+ write$ newline$
+ "\providecommand\BIBforeignlanguage[2]{{%"
+ write$ newline$
+ "\expandafter\ifx\csname l@#1\endcsname\relax"
+ write$ newline$
+ "\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%"
+ write$ newline$
+ "\typeout{** loaded for the language `#1'. Using the pattern for}%"
+ write$ newline$
+ "\typeout{** the default language instead.}%"
+ write$ newline$
+ "\else"
+ write$ newline$
+ "\language=\csname l@#1\endcsname"
+ write$ newline$
+ "\fi"
+ write$ newline$
+ "#2}}"
+ write$ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$ "\end{thebibliography}" write$ newline$ }
+
+FUNCTION {if.url.alt.interword.spacing}
+{ is.use.alt.interword.spacing
+ {url empty$ 'skip$ {"\BIBentryALTinterwordspacing" write$ newline$} if$}
+ { skip$ }
+ if$
+}
+
+FUNCTION {if.url.std.interword.spacing}
+{ is.use.alt.interword.spacing
+ {url empty$ 'skip$ {"\BIBentrySTDinterwordspacing" write$ newline$} if$}
+ { skip$ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% LONGEST LABEL PASS %%
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%
+%% FORMAT HANDLERS %%
+%%%%%%%%%%%%%%%%%%%%%
+
+%% Lower Level Formats (used by higher level formats)
+
+FUNCTION {format.address.org.or.pub.date}
+{ 't :=
+ ""
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { skip$ }
+ if$
+ address empty$ t empty$ and
+ year empty$ and month empty$ and
+ { skip$ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ address "address" bibinfo.check *
+ t empty$
+ { skip$ }
+ { punct.period 'prev.status.punct :=
+ space.large 'prev.status.space :=
+ address empty$
+ { skip$ }
+ { ": " * }
+ if$
+ t *
+ }
+ if$
+ year empty$ month empty$ and
+ { skip$ }
+ { t empty$ address empty$ and
+ { skip$ }
+ { ", " * }
+ if$
+ month empty$
+ { year empty$
+ { skip$ }
+ { year "year" bibinfo.check * }
+ if$
+ }
+ { month "month" bibinfo.check *
+ year empty$
+ { skip$ }
+ { " " * year "year" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ this.to.prev.status
+ this.status.std
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ name.format.string
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ { nameptr num.names.shown.with.forced.et.al #1 + =
+ numnames max.num.names.before.forced.et.al >
+ is.forced.et.al and and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ { skip$ }
+ if$
+ namesleft #1 >
+ { ", " * t do.name.latex.cmd * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ bbl.and
+ space.word * t do.name.latex.cmd *
+ }
+ if$
+ }
+ if$
+ }
+ { t do.name.latex.cmd }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ cap.status.std
+ } if$
+}
+
+
+
+
+%% Higher Level Formats
+
+%% addresses/locations
+
+FUNCTION {format.address}
+{ address duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% author/editor names
+
+FUNCTION {format.authors}{ author "author" format.names }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ { ", " *
+ get.bbl.editor
+ capitalize
+ *
+ }
+ if$
+}
+
+
+
+%% date
+
+FUNCTION {format.date}
+{
+ month "month" bibinfo.check duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ "there's a month but no year in " cite$ * warning$ }
+ if$
+ *
+ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ swap$ 'skip$
+ {
+ swap$
+ " " * swap$
+ }
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {format.date.electronic}
+{ month "month" bibinfo.check duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$
+ { pop$ }
+ { "there's a month but no year in " cite$ * warning$
+ pop$ ")" * "(" swap$ *
+ this.to.prev.status
+ punct.no 'this.status.punct :=
+ space.normal 'this.status.space :=
+ quote.no 'this.status.quote :=
+ cap.yes 'status.cap :=
+ }
+ if$
+ }
+ { swap$
+ { swap$ pop$ ")" * "(" swap$ * }
+ { "(" swap$ * ", " * swap$ * ")" * }
+ if$
+ this.to.prev.status
+ punct.no 'this.status.punct :=
+ space.normal 'this.status.space :=
+ quote.no 'this.status.quote :=
+ cap.yes 'status.cap :=
+ }
+ if$
+}
+
+
+
+%% edition/title
+
+% Note: IEEE considers the edition to be closely associated with
+% the title of a book. So, in IEEEtran.bst the edition is normally handled
+% within the formatting of the title. The format.edition function is
+% retained here for possible future use.
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ convert.edition
+ status.cap
+ { "t" }
+ { "l" }
+ if$ change.case$
+ "edition" bibinfo.check
+ "~" * bbl.edition *
+ cap.status.std
+ }
+ if$
+}
+
+% This is used to format the booktitle of a conference proceedings.
+% Here we use the "intype" field to provide the user a way to
+% override the word "in" (e.g., with things like "presented at")
+% Use of intype stops the emphasis of the booktitle to indicate that
+% we no longer mean the written conference proceedings, but the
+% conference itself.
+FUNCTION {format.in.booktitle}
+{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ select.language
+ intype missing$
+ { emphasize
+ bbl.in " " *
+ }
+ { intype " " * }
+ if$
+ swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+% This is used to format the booktitle of collection.
+% Here the "intype" field is not supported, but "edition" is.
+FUNCTION {format.in.booktitle.edition}
+{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ select.language
+ emphasize
+ edition empty$ 'skip$
+ { ", " *
+ edition
+ convert.edition
+ "l" change.case$
+ * "~" * bbl.edition *
+ }
+ if$
+ bbl.in " " * swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.article.title}
+{ title duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ "t" change.case$
+ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { quote.close 'this.status.quote :=
+ is.last.char.not.punct
+ { punct.std 'this.status.punct := }
+ { punct.no 'this.status.punct := }
+ if$
+ select.language
+ "``" swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.article.title.electronic}
+{ title duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ "t" change.case$
+ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$
+ { skip$ }
+ { select.language }
+ if$
+}
+
+FUNCTION {format.book.title.edition}
+{ title "title" bibinfo.check
+ duplicate$ empty$
+ { "empty title in " cite$ * warning$ }
+ { this.to.prev.status
+ this.status.std
+ select.language
+ emphasize
+ edition empty$ 'skip$
+ { ", " *
+ edition
+ convert.edition
+ status.cap
+ { "t" }
+ { "l" }
+ if$
+ change.case$
+ * "~" * bbl.edition *
+ }
+ if$
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.book.title}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ select.language
+ emphasize
+ }
+ if$
+}
+
+
+
+%% journal
+
+FUNCTION {format.journal}
+{ journal duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ select.language
+ emphasize
+ }
+ if$
+}
+
+
+
+%% how published
+
+FUNCTION {format.howpublished}
+{ howpublished duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% institutions/organization/publishers/school
+
+FUNCTION {format.institution}
+{ institution duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.organization}
+{ organization duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.address.publisher.date}
+{ publisher "publisher" bibinfo.warn format.address.org.or.pub.date }
+
+FUNCTION {format.address.publisher.date.nowarn}
+{ publisher "publisher" bibinfo.check format.address.org.or.pub.date }
+
+FUNCTION {format.address.organization.date}
+{ organization "organization" bibinfo.check format.address.org.or.pub.date }
+
+FUNCTION {format.school}
+{ school duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% volume/number/series/chapter/pages
+
+FUNCTION {format.volume}
+{ volume empty.field.to.null.string
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ bbl.volume
+ status.cap
+ { capitalize }
+ { skip$ }
+ if$
+ swap$ tie.or.space.prefix
+ "volume" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty.field.to.null.string
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ status.cap
+ { bbl.number capitalize }
+ { bbl.number }
+ if$
+ swap$ tie.or.space.prefix
+ "number" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.number.if.use.for.article}
+{ is.use.number.for.article
+ { format.number }
+ { "" }
+ if$
+}
+
+% IEEE does not seem to tie the series so closely with the volume
+% and number as is done in other bibliography styles. Instead the
+% series is treated somewhat like an extension of the title.
+FUNCTION {format.series}
+{ series empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ bbl.series " " *
+ series "series" bibinfo.check *
+ cap.status.std
+ }
+ if$
+}
+
+
+FUNCTION {format.chapter}
+{ chapter empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+% The intended use of format.paper is for paper numbers of inproceedings.
+% The paper type can be overridden via the type field.
+% We allow the type to be displayed even if the paper number is absent
+% for things like "postdeadline paper"
+FUNCTION {format.paper}
+{ is.use.paper
+ { paper empty$
+ { type empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ type "type" bibinfo.check
+ cap.status.std
+ }
+ if$
+ }
+ { this.to.prev.status
+ this.status.std
+ type empty$
+ { bbl.paper }
+ { type "type" bibinfo.check }
+ if$
+ " " * paper
+ "paper" bibinfo.check
+ *
+ cap.status.std
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ duplicate$ is.multiple.pages
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% technical report number
+
+FUNCTION {format.tech.report.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$
+ this.to.prev.status
+ this.status.std
+ cap.status.std
+ bbl.techrep
+ }
+ { skip$ }
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ tie.or.space.prefix * * }
+ if$
+}
+
+
+
+%% note
+
+FUNCTION {format.note}
+{ note empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ punct.period 'this.status.punct :=
+ note #1 #1 substring$
+ duplicate$ "{" =
+ { skip$ }
+ { status.cap
+ { "u" }
+ { "l" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ cap.yes 'status.cap :=
+ }
+ if$
+}
+
+
+
+%% patent
+
+FUNCTION {format.patent.date}
+{ this.to.prev.status
+ this.status.std
+ year empty$
+ { monthfiled duplicate$ empty$
+ { "monthfiled" bibinfo.check pop$ "" }
+ { "monthfiled" bibinfo.check }
+ if$
+ dayfiled duplicate$ empty$
+ { "dayfiled" bibinfo.check pop$ "" * }
+ { "dayfiled" bibinfo.check
+ monthfiled empty$
+ { "dayfiled without a monthfiled in " cite$ * warning$
+ *
+ }
+ { " " swap$ * * }
+ if$
+ }
+ if$
+ yearfiled empty$
+ { "no year or yearfiled in " cite$ * warning$ }
+ { yearfiled "yearfiled" bibinfo.check
+ swap$
+ duplicate$ empty$
+ { pop$ }
+ { ", " * swap$ * }
+ if$
+ }
+ if$
+ }
+ { month duplicate$ empty$
+ { "month" bibinfo.check pop$ "" }
+ { "month" bibinfo.check }
+ if$
+ day duplicate$ empty$
+ { "day" bibinfo.check pop$ "" * }
+ { "day" bibinfo.check
+ month empty$
+ { "day without a month in " cite$ * warning$
+ *
+ }
+ { " " swap$ * * }
+ if$
+ }
+ if$
+ year "year" bibinfo.check
+ swap$
+ duplicate$ empty$
+ { pop$ }
+ { ", " * swap$ * }
+ if$
+ }
+ if$
+ cap.status.std
+}
+
+FUNCTION {format.patent.nationality.type.number}
+{ this.to.prev.status
+ this.status.std
+ nationality duplicate$ empty$
+ { "nationality" bibinfo.warn pop$ "" }
+ { "nationality" bibinfo.check
+ duplicate$ "l" change.case$ "united states" =
+ { pop$ bbl.patentUS }
+ { skip$ }
+ if$
+ " " *
+ }
+ if$
+ type empty$
+ { bbl.patent "type" bibinfo.check }
+ { type "type" bibinfo.check }
+ if$
+ *
+ number duplicate$ empty$
+ { "number" bibinfo.warn pop$ }
+ { "number" bibinfo.check
+ large.number.separate
+ swap$ " " * swap$ *
+ }
+ if$
+ cap.status.std
+}
+
+
+
+%% standard
+
+FUNCTION {format.organization.institution.standard.type.number}
+{ this.to.prev.status
+ this.status.std
+ organization duplicate$ empty$
+ { pop$
+ institution duplicate$ empty$
+ { "institution" bibinfo.warn }
+ { "institution" bibinfo.warn " " * }
+ if$
+ }
+ { "organization" bibinfo.warn " " * }
+ if$
+ type empty$
+ { bbl.standard "type" bibinfo.check }
+ { type "type" bibinfo.check }
+ if$
+ *
+ number duplicate$ empty$
+ { "number" bibinfo.check pop$ }
+ { "number" bibinfo.check
+ large.number.separate
+ swap$ " " * swap$ *
+ }
+ if$
+ cap.status.std
+}
+
+FUNCTION {format.revision}
+{ revision empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ bbl.revision
+ revision tie.or.space.prefix
+ "revision" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+%% thesis
+
+FUNCTION {format.master.thesis.type}
+{ this.to.prev.status
+ this.status.std
+ type empty$
+ {
+ bbl.mthesis
+ }
+ {
+ type "type" bibinfo.check
+ }
+ if$
+cap.status.std
+}
+
+FUNCTION {format.phd.thesis.type}
+{ this.to.prev.status
+ this.status.std
+ type empty$
+ {
+ bbl.phdthesis
+ }
+ {
+ type "type" bibinfo.check
+ }
+ if$
+cap.status.std
+}
+
+
+
+%% URL
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ cap.yes 'status.cap :=
+ bbl.urlprefix " " *
+ "\url{" * url * "}" *
+ punct.no 'this.status.punct :=
+ punct.period 'prev.status.punct :=
+ space.normal 'this.status.space :=
+ space.normal 'prev.status.space :=
+ quote.no 'this.status.quote :=
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%
+%% ENTRY HANDLERS %%
+%%%%%%%%%%%%%%%%%%%%
+
+
+% Note: In many journals, IEEE (or the authors) tend not to show the number
+% for articles, so the display of the number is controlled here by the
+% switch "is.use.number.for.article"
+FUNCTION {article}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.journal "journal" bibinfo.check "journal" output.warn
+ format.volume output
+ format.number.if.use.for.article output
+ format.pages output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {book}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ author empty$
+ { format.editors "author and editor" output.warn }
+ { format.authors output.nonnull }
+ if$
+ name.or.dash
+ format.book.title.edition output
+ format.series output
+ author empty$
+ { skip$ }
+ { format.editors output }
+ if$
+ format.address.publisher.date output
+ format.volume output
+ format.number output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {booklet}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {electronic}
+{ std.status.using.period
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.date.electronic output
+ format.article.title.electronic output
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {inbook}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ author empty$
+ { format.editors "author and editor" output.warn }
+ { format.authors output.nonnull }
+ if$
+ name.or.dash
+ format.book.title.edition output
+ format.series output
+ format.address.publisher.date output
+ format.volume output
+ format.number output
+ format.chapter output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {incollection}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.in.booktitle.edition "booktitle" output.warn
+ format.series output
+ format.editors output
+ format.address.publisher.date.nowarn output
+ format.volume output
+ format.number output
+ format.chapter output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {inproceedings}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.in.booktitle "booktitle" output.warn
+ format.series output
+ format.editors output
+ format.volume output
+ format.number output
+ publisher empty$
+ { format.address.organization.date output }
+ { format.organization "organization" bibinfo.check output
+ format.address.publisher.date output
+ }
+ if$
+ format.paper output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {manual}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.book.title.edition "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {mastersthesis}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.master.thesis.type output.nonnull
+ format.school "school" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {misc}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title output
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.pages output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {patent}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title output
+ format.patent.nationality.type.number output
+ format.patent.date output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {periodical}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.editors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.series output
+ format.volume output
+ format.number output
+ format.organization "organization" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {phdthesis}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.phd.thesis.type output.nonnull
+ format.school "school" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {proceedings}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.editors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.series output
+ format.volume output
+ format.number output
+ publisher empty$
+ { format.address.organization.date output }
+ { format.organization "organization" bibinfo.check output
+ format.address.publisher.date output
+ }
+ if$
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {standard}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization.institution.standard.type.number output
+ format.revision output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {techreport}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.institution "institution" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.tech.report.number output.nonnull
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {unpublished}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.date output
+ format.note "note" output.warn
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+
+% The special entry type which provides the user interface to the
+% BST controls
+FUNCTION {IEEEtranBSTCTL}
+{ is.print.banners.to.terminal
+ { "** IEEEtran BST control entry " quote$ * cite$ * quote$ * " detected." *
+ top$
+ }
+ { skip$ }
+ if$
+ CTLuse_article_number
+ empty$
+ { skip$ }
+ { CTLuse_article_number
+ yes.no.to.int
+ 'is.use.number.for.article :=
+ }
+ if$
+ CTLuse_paper
+ empty$
+ { skip$ }
+ { CTLuse_paper
+ yes.no.to.int
+ 'is.use.paper :=
+ }
+ if$
+ CTLuse_forced_etal
+ empty$
+ { skip$ }
+ { CTLuse_forced_etal
+ yes.no.to.int
+ 'is.forced.et.al :=
+ }
+ if$
+ CTLmax_names_forced_etal
+ empty$
+ { skip$ }
+ { CTLmax_names_forced_etal
+ string.to.integer
+ 'max.num.names.before.forced.et.al :=
+ }
+ if$
+ CTLnames_show_etal
+ empty$
+ { skip$ }
+ { CTLnames_show_etal
+ string.to.integer
+ 'num.names.shown.with.forced.et.al :=
+ }
+ if$
+ CTLuse_alt_spacing
+ empty$
+ { skip$ }
+ { CTLuse_alt_spacing
+ yes.no.to.int
+ 'is.use.alt.interword.spacing :=
+ }
+ if$
+ CTLalt_stretch_factor
+ empty$
+ { skip$ }
+ { CTLalt_stretch_factor
+ 'ALTinterwordstretchfactor :=
+ "\renewcommand\BIBentryALTinterwordstretchfactor{"
+ ALTinterwordstretchfactor * "}" *
+ write$ newline$
+ }
+ if$
+ CTLdash_repeated_names
+ empty$
+ { skip$ }
+ { CTLdash_repeated_names
+ yes.no.to.int
+ 'is.dash.repeated.names :=
+ }
+ if$
+ CTLname_format_string
+ empty$
+ { skip$ }
+ { CTLname_format_string
+ 'name.format.string :=
+ }
+ if$
+ CTLname_latex_cmd
+ empty$
+ { skip$ }
+ { CTLname_latex_cmd
+ 'name.latex.cmd :=
+ }
+ if$
+
+
+ num.names.shown.with.forced.et.al max.num.names.before.forced.et.al >
+ { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$
+ max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al :=
+ }
+ { skip$ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%
+%% ENTRY ALIASES %%
+%%%%%%%%%%%%%%%%%%%
+FUNCTION {conference}{inproceedings}
+FUNCTION {online}{electronic}
+FUNCTION {internet}{electronic}
+FUNCTION {webpage}{electronic}
+FUNCTION {default.type}{misc}
+
+
+
+%%%%%%%%%%%%%%%%%%
+%% MAIN PROGRAM %%
+%%%%%%%%%%%%%%%%%%
+
+READ
+
+EXECUTE {initialize.controls}
+EXECUTE {initialize.status.constants}
+EXECUTE {banner.message}
+
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+EXECUTE {end.bib}
+
+EXECUTE{completed.message}
+
+
+%% That's all folks, mds.
diff --git a/scilab-arduino/suppl/IEEEtranS.bst b/scilab-arduino/suppl/IEEEtranS.bst
new file mode 100644
index 0000000..412347e
--- /dev/null
+++ b/scilab-arduino/suppl/IEEEtranS.bst
@@ -0,0 +1,2550 @@
+%%
+%% IEEEtranS.bst
+%% BibTeX Bibliography Style file
+%% Sorting version of IEEEtran.bst
+%% *** Not for use with work to be submitted to the IEEE ***
+%% Version 1.11 (2003/04/02)
+%%
+%% Copyright (c) 2003 Michael Shell
+%%
+%% Original starting code base and algorithms obtained from the output of
+%% Patrick W. Daly's makebst package as well as from prior versions of
+%% IEEE BibTeX styles:
+%%
+%% 1. Howard Trickey and Oren Patashnik's ieeetr.bst (1985/1988)
+%% 2. Silvano Balemi and Richard H. Roy's IEEEbib.bst (1993)
+%%
+%% Added sorting code is from plain.bst.
+%%
+%% See:
+%% http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/
+%% for latest version and current contact information.
+%%
+%% For use with BibTeX version 0.99a or later
+%%
+%% This is a numerical citation style.
+%%
+%%**********************************************************************
+%% Legal Notice:
+%% This code is offered as-is without any warranty either expressed or
+%% implied; without even the implied warranty of MERCHANTABILITY or
+%% FITNESS FOR A PARTICULAR PURPOSE!
+%% User assumes all risk.
+%% In no event shall IEEE or any contributor to this code be liable for
+%% any damages or losses, including, but not limited to, incidental,
+%% consequential, or any other damages, resulting from the use or misuse
+%% of any information contained here.
+%%
+%% This code is distributed under the Perl Artistic License
+%% ( http://language.perl.com/misc/Artistic.html )
+%% and may be freely used, distributed and modified - subject to the
+%% constraints therein.
+%% Retain all contribution notices, credits and disclaimers.
+%%
+%% All comments are the opinions of their respective authors and are not
+%% necessarily endorsed by the IEEE.
+%%**********************************************************************
+%
+%
+% Changelog:
+%
+% 1.10 (2002/09/27) Initial release
+%
+% 1.11 (2003/04/02)
+% 1. Fixed bug with URLs containing underscores when using url.sty. Thanks
+% to Ming Kin Lai for reporting this.
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% DEFAULTS FOR THE CONTROLS OF THE BST STYLE %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% These are the defaults for the user adjustable controls. The values used
+% here can be overridden by the user via IEEEtranBSTCTL entry type.
+
+% NOTE: The recommended LaTeX command to invoke a control entry type is:
+%
+%\makeatletter
+%\def\bstctlcite#1{\@bsphack
+% \@for\@citeb:=#1\do{%
+% \edef\@citeb{\expandafter\@firstofone\@citeb}%
+% \if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi}%
+% \@esphack}
+%\makeatother
+%
+% It is called at the start of the document, before the first \cite, like:
+% \bstctlcite{IEEEexample:BSTcontrol}
+%
+% IEEEtran.cls V1.6 and later does provide this command.
+
+
+
+% #0 turns off the display of the number for articles.
+% #1 enables
+FUNCTION {default.is.use.number.for.article} { #1 }
+
+
+% #0 turns off the display of the paper and type fields in @inproceedings.
+% #1 enables
+FUNCTION {default.is.use.paper} { #1 }
+
+
+% #0 turns off the forced use of "et al."
+% #1 enables
+FUNCTION {default.is.forced.et.al} { #0 }
+
+% The maximum number of names that can be present beyond which an "et al."
+% usage is forced. Be sure that num.names.shown.with.forced.et.al (below)
+% is not greater than this value!
+% Note: There are many instances of references in IEEE journals which have
+% a very large number of authors as well as instances in which "et al." is
+% used profusely.
+FUNCTION {default.max.num.names.before.forced.et.al} { #10 }
+
+% The number of names that will be shown with a forced "et al.".
+% Must be less than or equal to max.num.names.before.forced.et.al
+FUNCTION {default.num.names.shown.with.forced.et.al} { #1 }
+
+
+% #0 turns off the alternate interword spacing for entries with URLs.
+% #1 enables
+FUNCTION {default.is.use.alt.interword.spacing} { #1 }
+
+% If alternate interword spacing for entries with URLs is enabled, this is
+% the interword spacing stretch factor that will be used. For example, the
+% default "4" here means that the interword spacing in entries with URLs can
+% stretch to four times normal. Does not have to be an integer. Note that
+% the value specified here can be overridden by the user in their LaTeX
+% code via a command such as:
+% "\providecommand\BIBentryALTinterwordstretchfactor{1.5}" in addition to
+% that via the IEEEtranBSTCTL entry type.
+FUNCTION {default.ALTinterwordstretchfactor} { "4" }
+
+
+% #0 turns off the "dashification" of repeated (i.e., identical to those
+% of the previous entry) names. IEEE normally does this.
+% #1 enables
+FUNCTION {default.is.dash.repeated.names} { #1 }
+
+
+% The default name format control string.
+FUNCTION {default.name.format.string}{ "{f.~}{vv~}{ll}{, jj}" }
+
+
+% The default LaTeX font command for the names.
+FUNCTION {default.name.latex.cmd}{ "" }
+
+
+% Other controls that cannot be accessed via IEEEtranBSTCTL entry type.
+
+% #0 turns off the terminal startup banner/completed message so as to
+% operate more quietly.
+% #1 enables
+FUNCTION {is.print.banners.to.terminal} { #1 }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% FILE VERSION AND BANNER %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION{bst.file.version} { "1.11" }
+FUNCTION{bst.file.date} { "2003/04/02" }
+FUNCTION{bst.file.website} { "http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/" }
+
+FUNCTION {banner.message}
+{ is.print.banners.to.terminal
+ { "-- IEEEtranS.bst version" " " * bst.file.version *
+ " (" * bst.file.date * ") " * "by Michael Shell." *
+ top$
+ "-- " bst.file.website *
+ top$
+ "-- See the " quote$ * "IEEEtran_bst_HOWTO.pdf" * quote$ * " manual for usage information." *
+ top$
+ "** Sorting version - not for use with work to be submitted to the IEEE."
+ top$
+ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {completed.message}
+{ is.print.banners.to.terminal
+ { ""
+ top$
+ "Done."
+ top$
+ }
+ { skip$ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% STRING CONSTANTS %%
+%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {bbl.and}{ "and" }
+FUNCTION {bbl.etal}{ "et~al." }
+FUNCTION {bbl.editors}{ "eds." }
+FUNCTION {bbl.editor}{ "ed." }
+FUNCTION {bbl.edition}{ "ed." }
+FUNCTION {bbl.volume}{ "vol." }
+FUNCTION {bbl.of}{ "of" }
+FUNCTION {bbl.number}{ "no." }
+FUNCTION {bbl.in}{ "in" }
+FUNCTION {bbl.pages}{ "pp." }
+FUNCTION {bbl.page}{ "p." }
+FUNCTION {bbl.chapter}{ "ch." }
+FUNCTION {bbl.paper}{ "paper" }
+FUNCTION {bbl.part}{ "pt." }
+FUNCTION {bbl.patent}{ "Patent" }
+FUNCTION {bbl.patentUS}{ "U.S." }
+FUNCTION {bbl.revision}{ "Rev." }
+FUNCTION {bbl.series}{ "ser." }
+FUNCTION {bbl.standard}{ "Std." }
+FUNCTION {bbl.techrep}{ "Tech. Rep." }
+FUNCTION {bbl.mthesis}{ "Master's thesis" }
+FUNCTION {bbl.phdthesis}{ "Ph.D. dissertation" }
+FUNCTION {bbl.urlprefix}{ "[Online]. Available:" }
+FUNCTION {bbl.st}{ "st" }
+FUNCTION {bbl.nd}{ "nd" }
+FUNCTION {bbl.rd}{ "rd" }
+FUNCTION {bbl.th}{ "th" }
+
+
+% This is the LaTeX spacer that is used when a larger than normal space
+% is called for (such as just before the address:publisher).
+FUNCTION {large.space} { "\hskip 1em plus 0.5em minus 0.4em\relax " }
+
+% The LaTeX code for dashes that are used to represent repeated names.
+% Note: Some older IEEE journals used something like
+% "\rule{0.275in}{0.5pt}\," which is fairly thick and runs right along
+% the baseline. However, IEEE now uses a thinner, above baseline,
+% six dash long sequence.
+FUNCTION {repeated.name.dashes} { "------" }
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% PREDEFINED STRING MACROS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+MACRO {jan} {"Jan."}
+MACRO {feb} {"Feb."}
+MACRO {mar} {"Mar."}
+MACRO {apr} {"Apr."}
+MACRO {may} {"May"}
+MACRO {jun} {"June"}
+MACRO {jul} {"July"}
+MACRO {aug} {"Aug."}
+MACRO {sep} {"Sept."}
+MACRO {oct} {"Oct."}
+MACRO {nov} {"Nov."}
+MACRO {dec} {"Dec."}
+
+
+
+%%%%%%%%%%%%%%%%%%
+%% ENTRY FIELDS %%
+%%%%%%%%%%%%%%%%%%
+
+ENTRY
+ { address
+ assignee
+ author
+ booktitle
+ chapter
+ day
+ dayfiled
+ edition
+ editor
+ howpublished
+ institution
+ intype
+ journal
+ key
+ language
+ month
+ monthfiled
+ nationality
+ note
+ number
+ organization
+ pages
+ paper
+ publisher
+ school
+ series
+ revision
+ title
+ type
+ url
+ volume
+ year
+ yearfiled
+ CTLuse_article_number
+ CTLuse_paper
+ CTLuse_forced_etal
+ CTLmax_names_forced_etal
+ CTLnames_show_etal
+ CTLuse_alt_spacing
+ CTLalt_stretch_factor
+ CTLdash_repeated_names
+ CTLname_format_string
+ CTLname_latex_cmd
+ }
+ {}
+ { label }
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%
+%% INTEGER VARIABLES %%
+%%%%%%%%%%%%%%%%%%%%%%%
+
+INTEGERS { prev.status.punct this.status.punct punct.std
+ punct.no punct.comma punct.period
+ prev.status.space this.status.space space.std
+ space.no space.normal space.large
+ prev.status.quote this.status.quote quote.std
+ quote.no quote.close
+ prev.status.nline this.status.nline nline.std
+ nline.no nline.newblock
+ status.cap cap.std
+ cap.no cap.yes}
+
+INTEGERS { longest.label.width multiresult nameptr namesleft number.label numnames }
+
+INTEGERS { is.use.number.for.article
+ is.use.paper
+ is.forced.et.al
+ max.num.names.before.forced.et.al
+ num.names.shown.with.forced.et.al
+ is.use.alt.interword.spacing
+ is.dash.repeated.names}
+
+
+%%%%%%%%%%%%%%%%%%%%%%
+%% STRING VARIABLES %%
+%%%%%%%%%%%%%%%%%%%%%%
+
+STRINGS { bibinfo
+ longest.label
+ oldname
+ s
+ t
+ ALTinterwordstretchfactor
+ name.format.string
+ name.latex.cmd}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LOW LEVEL FUNCTIONS %%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize.controls}
+{ default.is.use.number.for.article 'is.use.number.for.article :=
+ default.is.use.paper 'is.use.paper :=
+ default.is.forced.et.al 'is.forced.et.al :=
+ default.max.num.names.before.forced.et.al 'max.num.names.before.forced.et.al :=
+ default.num.names.shown.with.forced.et.al 'num.names.shown.with.forced.et.al :=
+ default.is.use.alt.interword.spacing 'is.use.alt.interword.spacing :=
+ default.is.dash.repeated.names 'is.dash.repeated.names :=
+ default.ALTinterwordstretchfactor 'ALTinterwordstretchfactor :=
+ default.name.format.string 'name.format.string :=
+ default.name.latex.cmd 'name.latex.cmd :=
+}
+
+
+% This IEEEtran.bst features a very powerful and flexible mechanism for
+% controlling the capitalization, punctuation, spacing, quotation, and
+% newlines of the formatted entry fields. (Note: IEEEtran.bst does not need
+% or use the newline/newblock feature, but it has been implemented for
+% possible future use.) The output states of IEEEtran.bst consist of
+% multiple independent attributes and, as such, can be thought of as being
+% vectors, rather than the simple scalar values ("before.all",
+% "mid.sentence", etc.) used in most other .bst files.
+%
+% The more flexible and complex design used here was motivated in part by
+% IEEE's rather unusual bibliography style. For example, IEEE ends the
+% previous field item with a period and large space prior to the publisher
+% address; the @electronic entry types use periods as inter-item punctuation
+% rather than the commas used by the other entry types; and URLs are never
+% followed by periods even though they are the last item in the entry.
+% Although it is possible to accommodate these features with the conventional
+% output state system, the seemingly endless exceptions make for convoluted,
+% unreliable and difficult to maintain code.
+%
+% IEEEtran.bst's output state system can be easily understood via a simple
+% illustration of two most recently formatted entry fields (on the stack):
+%
+% CURRENT_ITEM
+% "PREVIOUS_ITEM
+%
+% which, in this example, is to eventually appear in the bibliography as:
+%
+% "PREVIOUS_ITEM," CURRENT_ITEM
+%
+% It is the job of the output routine to take the previous item off of the
+% stack (while leaving the current item at the top of the stack), apply its
+% trailing punctuation (including closing quote marks) and spacing, and then
+% to write the result to BibTeX's output buffer:
+%
+% "PREVIOUS_ITEM,"
+%
+% Punctuation (and spacing) between items is often determined by both of the
+% items rather than just the first one. The presence of quotation marks
+% further complicates the situation because, in standard English, trailing
+% punctuation marks are supposed to be contained within the quotes.
+%
+% IEEEtran.bst maintains two output state (aka "status") vectors which
+% correspond to the previous and current (aka "this") items. Each vector
+% consists of several independent attributes which track punctuation,
+% spacing, quotation, and newlines. Capitalization status is handled by a
+% separate scalar because the format routines, not the output routine,
+% handle capitalization and, therefore, there is no need to maintain the
+% capitalization attribute for both the "previous" and "this" items.
+%
+% When a format routine adds a new item, it copies the current output status
+% vector to the previous output status vector and (usually) resets the
+% current (this) output status vector to a "standard status" vector. Using a
+% "standard status" vector in this way allows us to redefine what we mean by
+% "standard status" at the start of each entry handler and reuse the same
+% format routines under the various inter-item separation schemes. For
+% example, the standard status vector for the @book entry type may use
+% commas for item separators, while the @electronic type may use periods,
+% yet both entry handlers exploit many of the exact same format routines.
+%
+% Because format routines have write access to the output status vector of
+% the previous item, they can override the punctuation choices of the
+% previous format routine! Therefore, it becomes trivial to implement rules
+% such as "Always use a period and a large space before the publisher." By
+% pushing the generation of the closing quote mark to the output routine, we
+% avoid all the problems caused by having to close a quote before having all
+% the information required to determine what the punctuation should be.
+%
+% The IEEEtran.bst output state system can easily be expanded if needed.
+% For instance, it is easy to add a "space.tie" attribute value if the
+% bibliography rules mandate that two items have to be joined with an
+% unbreakable space.
+
+FUNCTION {initialize.status.constants}
+{ #0 'punct.no :=
+ #1 'punct.comma :=
+ #2 'punct.period :=
+ #0 'space.no :=
+ #1 'space.normal :=
+ #2 'space.large :=
+ #0 'quote.no :=
+ #1 'quote.close :=
+ #0 'cap.no :=
+ #1 'cap.yes :=
+ #0 'nline.no :=
+ #1 'nline.newblock :=
+}
+
+FUNCTION {std.status.using.comma}
+{ punct.comma 'punct.std :=
+ space.normal 'space.std :=
+ quote.no 'quote.std :=
+ nline.no 'nline.std :=
+ cap.no 'cap.std :=
+}
+
+FUNCTION {std.status.using.period}
+{ punct.period 'punct.std :=
+ space.normal 'space.std :=
+ quote.no 'quote.std :=
+ nline.no 'nline.std :=
+ cap.yes 'cap.std :=
+}
+
+FUNCTION {initialize.prev.this.status}
+{ punct.no 'prev.status.punct :=
+ space.no 'prev.status.space :=
+ quote.no 'prev.status.quote :=
+ nline.no 'prev.status.nline :=
+ punct.no 'this.status.punct :=
+ space.no 'this.status.space :=
+ quote.no 'this.status.quote :=
+ nline.no 'this.status.nline :=
+ cap.yes 'status.cap :=
+}
+
+FUNCTION {this.status.std}
+{ punct.std 'this.status.punct :=
+ space.std 'this.status.space :=
+ quote.std 'this.status.quote :=
+ nline.std 'this.status.nline :=
+}
+
+FUNCTION {cap.status.std}{ cap.std 'status.cap := }
+
+FUNCTION {this.to.prev.status}
+{ this.status.punct 'prev.status.punct :=
+ this.status.space 'prev.status.space :=
+ this.status.quote 'prev.status.quote :=
+ this.status.nline 'prev.status.nline :=
+}
+
+
+FUNCTION {not}
+{ { #0 }
+ { #1 }
+ if$
+}
+
+FUNCTION {and}
+{ { skip$ }
+ { pop$ #0 }
+ if$
+}
+
+FUNCTION {or}
+{ { pop$ #1 }
+ { skip$ }
+ if$
+}
+
+
+% convert the strings "yes" or "no" to #1 or #0 respectively
+FUNCTION {yes.no.to.int}
+{ "l" change.case$ duplicate$
+ "yes" =
+ { pop$ #1 }
+ { duplicate$ "no" =
+ { pop$ #0 }
+ { "unknown boolean " quote$ * swap$ * quote$ *
+ " in " * cite$ * warning$
+ #0
+ }
+ if$
+ }
+ if$
+}
+
+
+% pushes true if the single char string on the stack is in the
+% range of "0" to "9"
+FUNCTION {is.num}
+{ chr.to.int$
+ duplicate$ "0" chr.to.int$ < not
+ swap$ "9" chr.to.int$ > not and
+}
+
+% multiplies the integer on the stack by a factor of 10
+FUNCTION {bump.int.mag}
+{ #0 'multiresult :=
+ { duplicate$ #0 > }
+ { #1 -
+ multiresult #10 +
+ 'multiresult :=
+ }
+ while$
+pop$
+multiresult
+}
+
+% converts a single character string on the stack to an integer
+FUNCTION {char.to.integer}
+{ duplicate$
+ is.num
+ { chr.to.int$ "0" chr.to.int$ - }
+ {"noninteger character " quote$ * swap$ * quote$ *
+ " in integer field of " * cite$ * warning$
+ #0
+ }
+ if$
+}
+
+% converts a string on the stack to an integer
+FUNCTION {string.to.integer}
+{ duplicate$ text.length$ 'namesleft :=
+ #1 'nameptr :=
+ #0 'numnames :=
+ { nameptr namesleft > not }
+ { duplicate$ nameptr #1 substring$
+ char.to.integer numnames bump.int.mag +
+ 'numnames :=
+ nameptr #1 +
+ 'nameptr :=
+ }
+ while$
+pop$
+numnames
+}
+
+
+
+
+% The output routines write out the *next* to the top (previous) item on the
+% stack, adding punctuation and such as needed. Since IEEEtran.bst maintains
+% the output status for the top two items on the stack, these output
+% routines have to consider the previous output status (which corresponds to
+% the item that is being output). Full independent control of punctuation,
+% closing quote marks, spacing, and newblock is provided.
+%
+% "output.nonnull" does not check for the presence of a previous empty
+% item.
+%
+% "output" does check for the presence of a previous empty item and will
+% remove an empty item rather than outputing it.
+%
+% "output.warn" is like "output", but will issue a warning if it detects
+% an empty item.
+
+FUNCTION {output.nonnull}
+{ swap$
+ prev.status.punct punct.comma =
+ { "," * }
+ { skip$ }
+ if$
+ prev.status.punct punct.period =
+ { add.period$ }
+ { skip$ }
+ if$
+ prev.status.quote quote.close =
+ { "''" * }
+ { skip$ }
+ if$
+ prev.status.space space.normal =
+ { " " * }
+ { skip$ }
+ if$
+ prev.status.space space.large =
+ { large.space * }
+ { skip$ }
+ if$
+ write$
+ prev.status.nline nline.newblock =
+ { newline$ "\newblock " write$ }
+ { skip$ }
+ if$
+}
+
+FUNCTION {output}
+{ duplicate$ empty$
+ 'pop$
+ 'output.nonnull
+ if$
+}
+
+FUNCTION {output.warn}
+{ 't :=
+ duplicate$ empty$
+ { pop$ "empty " t * " in " * cite$ * warning$ }
+ 'output.nonnull
+ if$
+}
+
+% "fin.entry" is the output routine that handles the last item of the entry
+% (which will be on the top of the stack when "fin.entry" is called).
+
+FUNCTION {fin.entry}
+{ this.status.punct punct.no =
+ { skip$ }
+ { add.period$ }
+ if$
+ this.status.quote quote.close =
+ { "''" * }
+ { skip$ }
+ if$
+write$
+newline$
+}
+
+
+FUNCTION {is.last.char.not.punct}
+{ duplicate$
+ "}" * add.period$
+ #-1 #1 substring$ "." =
+}
+
+FUNCTION {is.multiple.pages}
+{ 't :=
+ #0 'multiresult :=
+ { multiresult not
+ t empty$ not
+ and
+ }
+ { t #1 #1 substring$
+ duplicate$ "-" =
+ swap$ duplicate$ "," =
+ swap$ "+" =
+ or or
+ { #1 'multiresult := }
+ { t #2 global.max$ substring$ 't := }
+ if$
+ }
+ while$
+ multiresult
+}
+
+FUNCTION {capitalize}{ "u" change.case$ "t" change.case$ }
+
+FUNCTION {emphasize}
+{ duplicate$ empty$
+ { pop$ "" }
+ { "\emph{" swap$ * "}" * }
+ if$
+}
+
+FUNCTION {do.name.latex.cmd}
+{ name.latex.cmd
+ empty$
+ { skip$ }
+ { name.latex.cmd "{" * swap$ * "}" * }
+ if$
+}
+
+% IEEEtran.bst uses its own \BIBforeignlanguage command which directly
+% invokes the TeX hyphenation patterns without the need of the Babel
+% package. Babel does a lot more than switch hyphenation patterns and
+% its loading can cause unintended effects in many class files (such as
+% IEEEtran.cls).
+FUNCTION {select.language}
+{ duplicate$ empty$ 'pop$
+ { language empty$ 'skip$
+ { "\BIBforeignlanguage{" language * "}{" * swap$ * "}" * }
+ if$
+ }
+ if$
+}
+
+FUNCTION {tie.or.space.prefix}
+{ duplicate$ text.length$ #3 <
+ { "~" }
+ { " " }
+ if$
+ swap$
+}
+
+FUNCTION {get.bbl.editor}
+{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
+
+FUNCTION {space.word}{ " " swap$ * " " * }
+
+
+% Field Conditioners, Converters, Checkers and External Interfaces
+
+FUNCTION {empty.field.to.null.string}
+{ duplicate$ empty$
+ { pop$ "" }
+ { skip$ }
+ if$
+}
+
+FUNCTION {either.or.check}
+{ empty$
+ { pop$ }
+ { "can't use both " swap$ * " fields in " * cite$ * warning$ }
+ if$
+}
+
+FUNCTION {empty.entry.warn}
+{ author empty$ title empty$ howpublished empty$
+ month empty$ year empty$ note empty$ url empty$
+ and and and and and and
+ { "all relevant fields are empty in " cite$ * warning$ }
+ 'skip$
+ if$
+}
+
+
+% The bibinfo system provides a way for the electronic parsing/acquisition
+% of a bibliography's contents as is done by ReVTeX. For example, a field
+% could be entered into the bibliography as:
+% \bibinfo{volume}{2}
+% Only the "2" would show up in the document, but the LaTeX \bibinfo command
+% could do additional things with the information. IEEEtran.bst does provide
+% a \bibinfo command via "\providecommand{\bibinfo}[2]{#2}". However, it is
+% currently not used as the bogus bibinfo functions defined here output the
+% entry values directly without the \bibinfo wrapper. The bibinfo functions
+% themselves (and the calls to them) are retained for possible future use.
+%
+% bibinfo.check avoids acting on missing fields while bibinfo.warn will
+% issue a warning message if a missing field is detected. Prior to calling
+% the bibinfo functions, the user should push the field value and then its
+% name string, in that order.
+
+FUNCTION {bibinfo.check}
+{ swap$ duplicate$ missing$
+ { pop$ pop$ "" }
+ { duplicate$ empty$
+ { swap$ pop$ }
+ { swap$ pop$ }
+ if$
+ }
+ if$
+}
+
+FUNCTION {bibinfo.warn}
+{ swap$ duplicate$ missing$
+ { swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ "" }
+ { duplicate$ empty$
+ { swap$ "empty " swap$ * " in " * cite$ * warning$ }
+ { swap$ pop$ }
+ if$
+ }
+ if$
+}
+
+
+% IEEE separates large numbers with more than 4 digits into groups of
+% three. IEEE uses a small space to separate these number groups.
+% Typical applications include patent and page numbers.
+
+% number of consecutive digits required to trigger the group separation.
+FUNCTION {large.number.trigger}{ #5 }
+
+% For numbers longer than the trigger, this is the blocksize of the groups.
+% The blocksize must be less than the trigger threshold, and 2 * blocksize
+% must be greater than the trigger threshold (can't do more than one
+% separation on the initial trigger).
+FUNCTION {large.number.blocksize}{ #3 }
+
+% What is actually inserted between the number groups.
+FUNCTION {large.number.separator}{ "\," }
+
+% So as to save on integer variables by reusing existing ones, numnames
+% holds the current number of consecutive digits read and nameptr holds
+% the number that will trigger an inserted space.
+FUNCTION {large.number.separate}
+{ 't :=
+ ""
+ #0 'numnames :=
+ large.number.trigger 'nameptr :=
+ { t empty$ not }
+ { t #-1 #1 substring$ is.num
+ { numnames #1 + 'numnames := }
+ { #0 'numnames :=
+ large.number.trigger 'nameptr :=
+ }
+ if$
+ t #-1 #1 substring$ swap$ *
+ t #-2 global.max$ substring$ 't :=
+ numnames nameptr =
+ { duplicate$ #1 nameptr large.number.blocksize - substring$ swap$
+ nameptr large.number.blocksize - #1 + global.max$ substring$
+ large.number.separator swap$ * *
+ nameptr large.number.blocksize - 'numnames :=
+ large.number.blocksize #1 + 'nameptr :=
+ }
+ { skip$ }
+ if$
+ }
+ while$
+}
+
+% Converts all single dashes "-" to double dashes "--".
+FUNCTION {n.dashify}
+{ large.number.separate
+ 't :=
+ ""
+ { t empty$ not }
+ { t #1 #1 substring$ "-" =
+ { t #1 #2 substring$ "--" = not
+ { "--" *
+ t #2 global.max$ substring$ 't :=
+ }
+ { { t #1 #1 substring$ "-" = }
+ { "-" *
+ t #2 global.max$ substring$ 't :=
+ }
+ while$
+ }
+ if$
+ }
+ { t #1 #1 substring$ *
+ t #2 global.max$ substring$ 't :=
+ }
+ if$
+ }
+ while$
+}
+
+
+% This function detects entries with names that are identical to that of
+% the previous entry and replaces the repeated names with dashes (if the
+% "is.dash.repeated.names" user control is nonzero).
+FUNCTION {name.or.dash}
+{ 's :=
+ oldname empty$
+ { s 'oldname := s }
+ { s oldname =
+ { is.dash.repeated.names
+ { repeated.name.dashes }
+ { s 'oldname := s }
+ if$
+ }
+ { s 'oldname := s }
+ if$
+ }
+ if$
+}
+
+% Converts the number string on the top of the stack to
+% "numerical ordinal form" (e.g., "7" to "7th"). There is
+% no artificial limit to the upper bound of the numbers as the
+% least significant digit always determines the ordinal form.
+FUNCTION {num.to.ordinal}
+{ duplicate$ #-1 #1 substring$ "1" =
+ { bbl.st * }
+ { duplicate$ #-1 #1 substring$ "2" =
+ { bbl.nd * }
+ { duplicate$ #-1 #1 substring$ "3" =
+ { bbl.rd * }
+ { bbl.th * }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+% If the string on the top of the stack begins with a number,
+% (e.g., 11th) then replace the string with the leading number
+% it contains. Otherwise retain the string as-is. s holds the
+% extracted number, t holds the part of the string that remains
+% to be scanned.
+FUNCTION {extract.num}
+{ duplicate$ 't :=
+ "" 's :=
+ { t empty$ not }
+ { t #1 #1 substring$
+ t #2 global.max$ substring$ 't :=
+ duplicate$ is.num
+ { s swap$ * 's := }
+ { pop$ "" 't := }
+ if$
+ }
+ while$
+ s empty$
+ 'skip$
+ { pop$ s }
+ if$
+}
+
+% Converts the word number string on the top of the stack to
+% Arabic string form. Will be successful up to "tenth".
+FUNCTION {word.to.num}
+{ duplicate$ "l" change.case$ 's :=
+ s "first" =
+ { pop$ "1" }
+ { skip$ }
+ if$
+ s "second" =
+ { pop$ "2" }
+ { skip$ }
+ if$
+ s "third" =
+ { pop$ "3" }
+ { skip$ }
+ if$
+ s "fourth" =
+ { pop$ "4" }
+ { skip$ }
+ if$
+ s "fifth" =
+ { pop$ "5" }
+ { skip$ }
+ if$
+ s "sixth" =
+ { pop$ "6" }
+ { skip$ }
+ if$
+ s "seventh" =
+ { pop$ "7" }
+ { skip$ }
+ if$
+ s "eighth" =
+ { pop$ "8" }
+ { skip$ }
+ if$
+ s "ninth" =
+ { pop$ "9" }
+ { skip$ }
+ if$
+ s "tenth" =
+ { pop$ "10" }
+ { skip$ }
+ if$
+}
+
+
+% Converts the string on the top of the stack to numerical
+% ordinal (e.g., "11th") form.
+FUNCTION {convert.edition}
+{ duplicate$ empty$ 'skip$
+ { duplicate$ #1 #1 substring$ is.num
+ { extract.num
+ num.to.ordinal
+ }
+ { word.to.num
+ duplicate$ #1 #1 substring$ is.num
+ { num.to.ordinal }
+ { "edition ordinal word " quote$ * edition * quote$ *
+ " may be too high (or improper) for conversion" * " in " * cite$ * warning$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% LATEX BIBLIOGRAPHY CODE %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {start.entry}
+{ newline$
+ "\bibitem{" write$
+ cite$ write$
+ "}" write$
+ newline$
+ ""
+ initialize.prev.this.status
+}
+
+% Here we write out all the LaTeX code that we will need. The most involved
+% code sequences are those that control the alternate interword spacing and
+% foreign language hyphenation patterns. The heavy use of \providecommand
+% gives users a way to override the defaults. Special thanks to Javier Bezos,
+% Johannes Braams, Robin Fairburns, Heiko Oberdiek, Donald Arseneau and all
+% the other gurus on comp.text.tex for their help and advice on the topic of
+% \selectlanguage, Babel and BibTeX.
+FUNCTION {begin.bib}
+{ preamble$ empty$ 'skip$
+ { preamble$ write$ newline$ }
+ if$
+ "\begin{thebibliography}{" longest.label * "}" *
+ write$ newline$
+ "\providecommand{\url}[1]{#1}"
+ write$ newline$
+ "\csname url@rmstyle\endcsname"
+ write$ newline$
+ "\providecommand{\newblock}{\relax}"
+ write$ newline$
+ "\providecommand{\bibinfo}[2]{#2}"
+ write$ newline$
+ "\providecommand\BIBentrySTDinterwordspacing{\spaceskip=0pt\relax}"
+ write$ newline$
+ "\providecommand\BIBentryALTinterwordstretchfactor{"
+ ALTinterwordstretchfactor * "}" *
+ write$ newline$
+ "\providecommand\BIBentryALTinterwordspacing{\spaceskip=\fontdimen2\font plus "
+ write$ newline$
+ "\BIBentryALTinterwordstretchfactor\fontdimen3\font minus \fontdimen4\font\relax}"
+ write$ newline$
+ "\providecommand\BIBforeignlanguage[2]{{%"
+ write$ newline$
+ "\expandafter\ifx\csname l@#1\endcsname\relax"
+ write$ newline$
+ "\typeout{** WARNING: IEEEtran.bst: No hyphenation pattern has been}%"
+ write$ newline$
+ "\typeout{** loaded for the language `#1'. Using the pattern for}%"
+ write$ newline$
+ "\typeout{** the default language instead.}%"
+ write$ newline$
+ "\else"
+ write$ newline$
+ "\language=\csname l@#1\endcsname"
+ write$ newline$
+ "\fi"
+ write$ newline$
+ "#2}}"
+ write$ newline$
+}
+
+FUNCTION {end.bib}
+{ newline$ "\end{thebibliography}" write$ newline$ }
+
+FUNCTION {if.url.alt.interword.spacing}
+{ is.use.alt.interword.spacing
+ {url empty$ 'skip$ {"\BIBentryALTinterwordspacing" write$ newline$} if$}
+ { skip$ }
+ if$
+}
+
+FUNCTION {if.url.std.interword.spacing}
+{ is.use.alt.interword.spacing
+ {url empty$ 'skip$ {"\BIBentrySTDinterwordspacing" write$ newline$} if$}
+ { skip$ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%
+%% LONGEST LABEL PASS %%
+%%%%%%%%%%%%%%%%%%%%%%%%
+
+FUNCTION {initialize.longest.label}
+{ "" 'longest.label :=
+ #1 'number.label :=
+ #0 'longest.label.width :=
+}
+
+FUNCTION {longest.label.pass}
+{ number.label int.to.str$ 'label :=
+ number.label #1 + 'number.label :=
+ label width$ longest.label.width >
+ { label 'longest.label :=
+ label width$ 'longest.label.width :=
+ }
+ 'skip$
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%
+%% FORMAT HANDLERS %%
+%%%%%%%%%%%%%%%%%%%%%
+
+%% Lower Level Formats (used by higher level formats)
+
+FUNCTION {format.address.org.or.pub.date}
+{ 't :=
+ ""
+ year empty$
+ { "empty year in " cite$ * warning$ }
+ { skip$ }
+ if$
+ address empty$ t empty$ and
+ year empty$ and month empty$ and
+ { skip$ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ address "address" bibinfo.check *
+ t empty$
+ { skip$ }
+ { punct.period 'prev.status.punct :=
+ space.large 'prev.status.space :=
+ address empty$
+ { skip$ }
+ { ": " * }
+ if$
+ t *
+ }
+ if$
+ year empty$ month empty$ and
+ { skip$ }
+ { t empty$ address empty$ and
+ { skip$ }
+ { ", " * }
+ if$
+ month empty$
+ { year empty$
+ { skip$ }
+ { year "year" bibinfo.check * }
+ if$
+ }
+ { month "month" bibinfo.check *
+ year empty$
+ { skip$ }
+ { " " * year "year" bibinfo.check * }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+}
+
+
+FUNCTION {format.names}
+{ 'bibinfo :=
+ duplicate$ empty$ 'skip$ {
+ this.to.prev.status
+ this.status.std
+ 's :=
+ "" 't :=
+ #1 'nameptr :=
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { s nameptr
+ name.format.string
+ format.name$
+ bibinfo bibinfo.check
+ 't :=
+ nameptr #1 >
+ { nameptr num.names.shown.with.forced.et.al #1 + =
+ numnames max.num.names.before.forced.et.al >
+ is.forced.et.al and and
+ { "others" 't :=
+ #1 'namesleft :=
+ }
+ { skip$ }
+ if$
+ namesleft #1 >
+ { ", " * t do.name.latex.cmd * }
+ {
+ numnames #2 >
+ { "," * }
+ 'skip$
+ if$
+ s nameptr "{ll}" format.name$ duplicate$ "others" =
+ { 't := }
+ { pop$ }
+ if$
+ t "others" =
+ {
+ " " * bbl.etal emphasize *
+ }
+ {
+ bbl.and
+ space.word * t do.name.latex.cmd *
+ }
+ if$
+ }
+ if$
+ }
+ { t do.name.latex.cmd }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+ cap.status.std
+ } if$
+}
+
+
+
+
+%% Higher Level Formats
+
+%% addresses/locations
+
+FUNCTION {format.address}
+{ address duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% author/editor names
+
+FUNCTION {format.authors}{ author "author" format.names }
+
+FUNCTION {format.editors}
+{ editor "editor" format.names duplicate$ empty$ 'skip$
+ { ", " *
+ get.bbl.editor
+ capitalize
+ *
+ }
+ if$
+}
+
+
+
+%% date
+
+FUNCTION {format.date}
+{
+ month "month" bibinfo.check duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ "there's a month but no year in " cite$ * warning$ }
+ if$
+ *
+ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ swap$ 'skip$
+ {
+ swap$
+ " " * swap$
+ }
+ if$
+ *
+ }
+ if$
+}
+
+FUNCTION {format.date.electronic}
+{ month "month" bibinfo.check duplicate$ empty$
+ year "year" bibinfo.check duplicate$ empty$
+ { swap$
+ { pop$ }
+ { "there's a month but no year in " cite$ * warning$
+ pop$ ")" * "(" swap$ *
+ this.to.prev.status
+ punct.no 'this.status.punct :=
+ space.normal 'this.status.space :=
+ quote.no 'this.status.quote :=
+ cap.yes 'status.cap :=
+ }
+ if$
+ }
+ { swap$
+ { swap$ pop$ ")" * "(" swap$ * }
+ { "(" swap$ * ", " * swap$ * ")" * }
+ if$
+ this.to.prev.status
+ punct.no 'this.status.punct :=
+ space.normal 'this.status.space :=
+ quote.no 'this.status.quote :=
+ cap.yes 'status.cap :=
+ }
+ if$
+}
+
+
+
+%% edition/title
+
+% Note: IEEE considers the edition to be closely associated with
+% the title of a book. So, in IEEEtran.bst the edition is normally handled
+% within the formatting of the title. The format.edition function is
+% retained here for possible future use.
+FUNCTION {format.edition}
+{ edition duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ convert.edition
+ status.cap
+ { "t" }
+ { "l" }
+ if$ change.case$
+ "edition" bibinfo.check
+ "~" * bbl.edition *
+ cap.status.std
+ }
+ if$
+}
+
+% This is used to format the booktitle of a conference proceedings.
+% Here we use the "intype" field to provide the user a way to
+% override the word "in" (e.g., with things like "presented at")
+% Use of intype stops the emphasis of the booktitle to indicate that
+% we no longer mean the written conference proceedings, but the
+% conference itself.
+FUNCTION {format.in.booktitle}
+{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ select.language
+ intype missing$
+ { emphasize
+ bbl.in " " *
+ }
+ { intype " " * }
+ if$
+ swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+% This is used to format the booktitle of collection.
+% Here the "intype" field is not supported, but "edition" is.
+FUNCTION {format.in.booktitle.edition}
+{ booktitle "booktitle" bibinfo.check duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ select.language
+ emphasize
+ edition empty$ 'skip$
+ { ", " *
+ edition
+ convert.edition
+ "l" change.case$
+ * "~" * bbl.edition *
+ }
+ if$
+ bbl.in " " * swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.article.title}
+{ title duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ "t" change.case$
+ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { quote.close 'this.status.quote :=
+ is.last.char.not.punct
+ { punct.std 'this.status.punct := }
+ { punct.no 'this.status.punct := }
+ if$
+ select.language
+ "``" swap$ *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.article.title.electronic}
+{ title duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ "t" change.case$
+ }
+ if$
+ "title" bibinfo.check
+ duplicate$ empty$
+ { skip$ }
+ { select.language }
+ if$
+}
+
+FUNCTION {format.book.title.edition}
+{ title "title" bibinfo.check
+ duplicate$ empty$
+ { "empty title in " cite$ * warning$ }
+ { this.to.prev.status
+ this.status.std
+ select.language
+ emphasize
+ edition empty$ 'skip$
+ { ", " *
+ edition
+ convert.edition
+ status.cap
+ { "t" }
+ { "l" }
+ if$
+ change.case$
+ * "~" * bbl.edition *
+ }
+ if$
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.book.title}
+{ title "title" bibinfo.check
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ select.language
+ emphasize
+ }
+ if$
+}
+
+
+
+%% journal
+
+FUNCTION {format.journal}
+{ journal duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ select.language
+ emphasize
+ }
+ if$
+}
+
+
+
+%% how published
+
+FUNCTION {format.howpublished}
+{ howpublished duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% institutions/organization/publishers/school
+
+FUNCTION {format.institution}
+{ institution duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.organization}
+{ organization duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.address.publisher.date}
+{ publisher "publisher" bibinfo.warn format.address.org.or.pub.date }
+
+FUNCTION {format.address.publisher.date.nowarn}
+{ publisher "publisher" bibinfo.check format.address.org.or.pub.date }
+
+FUNCTION {format.address.organization.date}
+{ organization "organization" bibinfo.check format.address.org.or.pub.date }
+
+FUNCTION {format.school}
+{ school duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% volume/number/series/chapter/pages
+
+FUNCTION {format.volume}
+{ volume empty.field.to.null.string
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ bbl.volume
+ status.cap
+ { capitalize }
+ { skip$ }
+ if$
+ swap$ tie.or.space.prefix
+ "volume" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.number}
+{ number empty.field.to.null.string
+ duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ status.cap
+ { bbl.number capitalize }
+ { bbl.number }
+ if$
+ swap$ tie.or.space.prefix
+ "number" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+FUNCTION {format.number.if.use.for.article}
+{ is.use.number.for.article
+ { format.number }
+ { "" }
+ if$
+}
+
+% IEEE does not seem to tie the series so closely with the volume
+% and number as is done in other bibliography styles. Instead the
+% series is treated somewhat like an extension of the title.
+FUNCTION {format.series}
+{ series empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ bbl.series " " *
+ series "series" bibinfo.check *
+ cap.status.std
+ }
+ if$
+}
+
+
+FUNCTION {format.chapter}
+{ chapter empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ type empty$
+ { bbl.chapter }
+ { type "l" change.case$
+ "type" bibinfo.check
+ }
+ if$
+ chapter tie.or.space.prefix
+ "chapter" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+% The intended use of format.paper is for paper numbers of inproceedings.
+% The paper type can be overridden via the type field.
+% We allow the type to be displayed even if the paper number is absent
+% for things like "postdeadline paper"
+FUNCTION {format.paper}
+{ is.use.paper
+ { paper empty$
+ { type empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ type "type" bibinfo.check
+ cap.status.std
+ }
+ if$
+ }
+ { this.to.prev.status
+ this.status.std
+ type empty$
+ { bbl.paper }
+ { type "type" bibinfo.check }
+ if$
+ " " * paper
+ "paper" bibinfo.check
+ *
+ cap.status.std
+ }
+ if$
+ }
+ { "" }
+ if$
+}
+
+
+FUNCTION {format.pages}
+{ pages duplicate$ empty$ 'skip$
+ { this.to.prev.status
+ this.status.std
+ duplicate$ is.multiple.pages
+ {
+ bbl.pages swap$
+ n.dashify
+ }
+ {
+ bbl.page swap$
+ }
+ if$
+ tie.or.space.prefix
+ "pages" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+
+%% technical report number
+
+FUNCTION {format.tech.report.number}
+{ number "number" bibinfo.check
+ type duplicate$ empty$
+ { pop$
+ this.to.prev.status
+ this.status.std
+ cap.status.std
+ bbl.techrep
+ }
+ { skip$ }
+ if$
+ "type" bibinfo.check
+ swap$ duplicate$ empty$
+ { pop$ }
+ { this.to.prev.status
+ this.status.std
+ cap.status.std
+ tie.or.space.prefix * * }
+ if$
+}
+
+
+
+%% note
+
+FUNCTION {format.note}
+{ note empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ punct.period 'this.status.punct :=
+ note #1 #1 substring$
+ duplicate$ "{" =
+ { skip$ }
+ { status.cap
+ { "u" }
+ { "l" }
+ if$
+ change.case$
+ }
+ if$
+ note #2 global.max$ substring$ * "note" bibinfo.check
+ cap.yes 'status.cap :=
+ }
+ if$
+}
+
+
+
+%% patent
+
+FUNCTION {format.patent.date}
+{ this.to.prev.status
+ this.status.std
+ year empty$
+ { monthfiled duplicate$ empty$
+ { "monthfiled" bibinfo.check pop$ "" }
+ { "monthfiled" bibinfo.check }
+ if$
+ dayfiled duplicate$ empty$
+ { "dayfiled" bibinfo.check pop$ "" * }
+ { "dayfiled" bibinfo.check
+ monthfiled empty$
+ { "dayfiled without a monthfiled in " cite$ * warning$
+ *
+ }
+ { " " swap$ * * }
+ if$
+ }
+ if$
+ yearfiled empty$
+ { "no year or yearfiled in " cite$ * warning$ }
+ { yearfiled "yearfiled" bibinfo.check
+ swap$
+ duplicate$ empty$
+ { pop$ }
+ { ", " * swap$ * }
+ if$
+ }
+ if$
+ }
+ { month duplicate$ empty$
+ { "month" bibinfo.check pop$ "" }
+ { "month" bibinfo.check }
+ if$
+ day duplicate$ empty$
+ { "day" bibinfo.check pop$ "" * }
+ { "day" bibinfo.check
+ month empty$
+ { "day without a month in " cite$ * warning$
+ *
+ }
+ { " " swap$ * * }
+ if$
+ }
+ if$
+ year "year" bibinfo.check
+ swap$
+ duplicate$ empty$
+ { pop$ }
+ { ", " * swap$ * }
+ if$
+ }
+ if$
+ cap.status.std
+}
+
+FUNCTION {format.patent.nationality.type.number}
+{ this.to.prev.status
+ this.status.std
+ nationality duplicate$ empty$
+ { "nationality" bibinfo.warn pop$ "" }
+ { "nationality" bibinfo.check
+ duplicate$ "l" change.case$ "united states" =
+ { pop$ bbl.patentUS }
+ { skip$ }
+ if$
+ " " *
+ }
+ if$
+ type empty$
+ { bbl.patent "type" bibinfo.check }
+ { type "type" bibinfo.check }
+ if$
+ *
+ number duplicate$ empty$
+ { "number" bibinfo.warn pop$ }
+ { "number" bibinfo.check
+ large.number.separate
+ swap$ " " * swap$ *
+ }
+ if$
+ cap.status.std
+}
+
+
+
+%% standard
+
+FUNCTION {format.organization.institution.standard.type.number}
+{ this.to.prev.status
+ this.status.std
+ organization duplicate$ empty$
+ { pop$
+ institution duplicate$ empty$
+ { "institution" bibinfo.warn }
+ { "institution" bibinfo.warn " " * }
+ if$
+ }
+ { "organization" bibinfo.warn " " * }
+ if$
+ type empty$
+ { bbl.standard "type" bibinfo.check }
+ { type "type" bibinfo.check }
+ if$
+ *
+ number duplicate$ empty$
+ { "number" bibinfo.check pop$ }
+ { "number" bibinfo.check
+ large.number.separate
+ swap$ " " * swap$ *
+ }
+ if$
+ cap.status.std
+}
+
+FUNCTION {format.revision}
+{ revision empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ bbl.revision
+ revision tie.or.space.prefix
+ "revision" bibinfo.check
+ * *
+ cap.status.std
+ }
+ if$
+}
+
+
+%% thesis
+
+FUNCTION {format.master.thesis.type}
+{ this.to.prev.status
+ this.status.std
+ type empty$
+ {
+ bbl.mthesis
+ }
+ {
+ type "type" bibinfo.check
+ }
+ if$
+cap.status.std
+}
+
+FUNCTION {format.phd.thesis.type}
+{ this.to.prev.status
+ this.status.std
+ type empty$
+ {
+ bbl.phdthesis
+ }
+ {
+ type "type" bibinfo.check
+ }
+ if$
+cap.status.std
+}
+
+
+
+%% URL
+
+FUNCTION {format.url}
+{ url empty$
+ { "" }
+ { this.to.prev.status
+ this.status.std
+ cap.yes 'status.cap :=
+ bbl.urlprefix " " *
+ "\url{" * url * "}" *
+ punct.no 'this.status.punct :=
+ punct.period 'prev.status.punct :=
+ space.normal 'this.status.space :=
+ space.normal 'prev.status.space :=
+ quote.no 'this.status.quote :=
+ }
+ if$
+}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%
+%% ENTRY HANDLERS %%
+%%%%%%%%%%%%%%%%%%%%
+
+
+% Note: In many journals, IEEE (or the authors) tend not to show the number
+% for articles, so the display of the number is controlled here by the
+% switch "is.use.number.for.article"
+FUNCTION {article}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.journal "journal" bibinfo.check "journal" output.warn
+ format.volume output
+ format.number.if.use.for.article output
+ format.pages output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {book}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ author empty$
+ { format.editors "author and editor" output.warn }
+ { format.authors output.nonnull }
+ if$
+ name.or.dash
+ format.book.title.edition output
+ format.series output
+ author empty$
+ { skip$ }
+ { format.editors output }
+ if$
+ format.address.publisher.date output
+ format.volume output
+ format.number output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {booklet}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {electronic}
+{ std.status.using.period
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.date.electronic output
+ format.article.title.electronic output
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {inbook}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ author empty$
+ { format.editors "author and editor" output.warn }
+ { format.authors output.nonnull }
+ if$
+ name.or.dash
+ format.book.title.edition output
+ format.series output
+ format.address.publisher.date output
+ format.volume output
+ format.number output
+ format.chapter output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {incollection}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.in.booktitle.edition "booktitle" output.warn
+ format.series output
+ format.editors output
+ format.address.publisher.date.nowarn output
+ format.volume output
+ format.number output
+ format.chapter output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {inproceedings}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.in.booktitle "booktitle" output.warn
+ format.series output
+ format.editors output
+ format.volume output
+ format.number output
+ publisher empty$
+ { format.address.organization.date output }
+ { format.organization "organization" bibinfo.check output
+ format.address.publisher.date output
+ }
+ if$
+ format.paper output
+ format.pages output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {manual}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.book.title.edition "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {mastersthesis}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.master.thesis.type output.nonnull
+ format.school "school" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {misc}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title output
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization "organization" bibinfo.check output
+ format.address "address" bibinfo.check output
+ format.pages output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {patent}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.article.title output
+ format.patent.nationality.type.number output
+ format.patent.date output
+ format.note output
+ format.url output
+ fin.entry
+ empty.entry.warn
+ if.url.std.interword.spacing
+}
+
+FUNCTION {periodical}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.editors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.series output
+ format.volume output
+ format.number output
+ format.organization "organization" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {phdthesis}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.phd.thesis.type output.nonnull
+ format.school "school" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {proceedings}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.editors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.series output
+ format.volume output
+ format.number output
+ publisher empty$
+ { format.address.organization.date output }
+ { format.organization "organization" bibinfo.check output
+ format.address.publisher.date output
+ }
+ if$
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {standard}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors output
+ name.or.dash
+ format.book.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.organization.institution.standard.type.number output
+ format.revision output
+ format.date output
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {techreport}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.howpublished "howpublished" bibinfo.check output
+ format.institution "institution" bibinfo.warn output
+ format.address "address" bibinfo.check output
+ format.tech.report.number output.nonnull
+ format.date "year" output.warn
+ format.note output
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+FUNCTION {unpublished}
+{ std.status.using.comma
+ start.entry
+ if.url.alt.interword.spacing
+ format.authors "author" output.warn
+ name.or.dash
+ format.article.title "title" output.warn
+ format.date output
+ format.note "note" output.warn
+ format.url output
+ fin.entry
+ if.url.std.interword.spacing
+}
+
+
+% The special entry type which provides the user interface to the
+% BST controls
+FUNCTION {IEEEtranBSTCTL}
+{ is.print.banners.to.terminal
+ { "** IEEEtran BST control entry " quote$ * cite$ * quote$ * " detected." *
+ top$
+ }
+ { skip$ }
+ if$
+ CTLuse_article_number
+ empty$
+ { skip$ }
+ { CTLuse_article_number
+ yes.no.to.int
+ 'is.use.number.for.article :=
+ }
+ if$
+ CTLuse_paper
+ empty$
+ { skip$ }
+ { CTLuse_paper
+ yes.no.to.int
+ 'is.use.paper :=
+ }
+ if$
+ CTLuse_forced_etal
+ empty$
+ { skip$ }
+ { CTLuse_forced_etal
+ yes.no.to.int
+ 'is.forced.et.al :=
+ }
+ if$
+ CTLmax_names_forced_etal
+ empty$
+ { skip$ }
+ { CTLmax_names_forced_etal
+ string.to.integer
+ 'max.num.names.before.forced.et.al :=
+ }
+ if$
+ CTLnames_show_etal
+ empty$
+ { skip$ }
+ { CTLnames_show_etal
+ string.to.integer
+ 'num.names.shown.with.forced.et.al :=
+ }
+ if$
+ CTLuse_alt_spacing
+ empty$
+ { skip$ }
+ { CTLuse_alt_spacing
+ yes.no.to.int
+ 'is.use.alt.interword.spacing :=
+ }
+ if$
+ CTLalt_stretch_factor
+ empty$
+ { skip$ }
+ { CTLalt_stretch_factor
+ 'ALTinterwordstretchfactor :=
+ "\renewcommand\BIBentryALTinterwordstretchfactor{"
+ ALTinterwordstretchfactor * "}" *
+ write$ newline$
+ }
+ if$
+ CTLdash_repeated_names
+ empty$
+ { skip$ }
+ { CTLdash_repeated_names
+ yes.no.to.int
+ 'is.dash.repeated.names :=
+ }
+ if$
+ CTLname_format_string
+ empty$
+ { skip$ }
+ { CTLname_format_string
+ 'name.format.string :=
+ }
+ if$
+ CTLname_latex_cmd
+ empty$
+ { skip$ }
+ { CTLname_latex_cmd
+ 'name.latex.cmd :=
+ }
+ if$
+
+
+ num.names.shown.with.forced.et.al max.num.names.before.forced.et.al >
+ { "CTLnames_show_etal cannot be greater than CTLmax_names_forced_etal in " cite$ * warning$
+ max.num.names.before.forced.et.al 'num.names.shown.with.forced.et.al :=
+ }
+ { skip$ }
+ if$
+}
+
+
+%%%%%%%%%%%%%%%%%%%
+%% ENTRY ALIASES %%
+%%%%%%%%%%%%%%%%%%%
+FUNCTION {conference}{inproceedings}
+FUNCTION {online}{electronic}
+FUNCTION {internet}{electronic}
+FUNCTION {webpage}{electronic}
+FUNCTION {default.type}{misc}
+
+
+
+%%%%%%%%%%%%%%%%%%
+%% MAIN PROGRAM %%
+%%%%%%%%%%%%%%%%%%
+
+READ
+
+EXECUTE {initialize.controls}
+EXECUTE {initialize.status.constants}
+EXECUTE {banner.message}
+
+
+
+% BEGIN sort code based on that of plain.bst
+
+FUNCTION {sortify}
+{ purify$
+ "l" change.case$
+}
+
+INTEGERS { len }
+
+FUNCTION {chop.word}
+{ 's :=
+ 'len :=
+ s #1 len substring$ =
+ { s len #1 + global.max$ substring$ }
+ { s }
+ if$
+}
+
+FUNCTION {sort.format.names}
+{ 's :=
+ #1 'nameptr :=
+ ""
+ s num.names$ 'numnames :=
+ numnames 'namesleft :=
+ { namesleft #0 > }
+ { nameptr #1 >
+ { " " * }
+ { skip$ }
+ if$
+ s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
+ nameptr numnames = t "others" = and
+ { "et al" * }
+ { t sortify * }
+ if$
+ nameptr #1 + 'nameptr :=
+ namesleft #1 - 'namesleft :=
+ }
+ while$
+}
+
+FUNCTION {sort.format.title}
+{ 't :=
+ "A " #2
+ "An " #3
+ "The " #4 t chop.word
+ chop.word
+ chop.word
+ sortify
+ #1 global.max$ substring$
+}
+
+FUNCTION {author.sort}
+{ author empty$
+ { key empty$
+ { "to sort, need author or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.editor.sort}
+{ author empty$
+ { editor empty$
+ { key empty$
+ { "to sort, need author, editor, or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.sort}
+{ author empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need author, organization, or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+FUNCTION {editor.organization.sort}
+{ editor empty$
+ { organization empty$
+ { key empty$
+ { "to sort, need editor, organization, or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { editor sort.format.names }
+ if$
+}
+
+FUNCTION {author.organization.institution.sort}
+{ author empty$
+ { organization empty$
+ { institution empty$
+ { key empty$
+ { "to sort, need author, organization, institution or key in " cite$ * warning$ "" }
+ { key sortify }
+ if$
+ }
+ { "The " #4 institution chop.word sortify }
+ if$
+ }
+ { "The " #4 organization chop.word sortify }
+ if$
+ }
+ { author sort.format.names }
+ if$
+}
+
+
+FUNCTION {presort}
+{ type$ "ieeetranbstctl" =
+ { key empty$
+ { "_" }
+ { key sortify }
+ if$
+ }
+ { type$ "book" =
+ type$ "inbook" =
+ or
+ { author.editor.sort }
+ { type$ "proceedings" =
+ type$ "periodical" =
+ or
+ { editor.organization.sort }
+ { type$ "manual" =
+ type$ "electronic" =
+ type$ "misc" =
+ or or
+ { author.organization.sort }
+ { type$ "standard" =
+ { author.organization.institution.sort }
+ { author.sort }
+ if$
+ }
+ if$
+ }
+ if$
+ }
+ if$
+ " "
+ *
+ year empty.field.to.null.string sortify
+ *
+ " "
+ *
+ title empty.field.to.null.string
+ sort.format.title
+ *
+ }
+ if$
+ #1 entry.max$ substring$
+ 'sort.key$ :=
+}
+
+ITERATE {presort}
+
+SORT
+
+% END sort code based on that of plain.bst
+
+
+
+EXECUTE {initialize.longest.label}
+ITERATE {longest.label.pass}
+
+EXECUTE {begin.bib}
+ITERATE {call.type$}
+EXECUTE {end.bib}
+
+EXECUTE{completed.message}
+
+
+%% That's all folks, mds.
diff --git a/scilab-arduino/suppl/acr.tex b/scilab-arduino/suppl/acr.tex
new file mode 100644
index 0000000..91d0a48
--- /dev/null
+++ b/scilab-arduino/suppl/acr.tex
@@ -0,0 +1,56 @@
+\chapter*{List of Acronyms\markboth{\bf List of Acronyms}{}}
+\addcontentsline{toc}{chapter}{\protect\numberline{List of Acronyms}}
+\begin{tabular}{ll} \\
+ACM & Abstract Control Model \\
+ADC & Analog to Digital Converter \\
+ADK & Accessory Development Kit \\
+ALU & Arithmetic and Logic Unit \\
+ARM & Advanced RISC Machines \\
+BIOS & Basic Input/ Output System \\
+CD & Compact Disc \\
+CNES & National Centre for Space Studies \\
+COM Port & Communication Port \\
+CPU & Central Processing Unit \\
+DAC & Digital to Analog Converter \\
+DC & Direct Current \\
+DIY & Do It Yourself \\
+DVD & Digital Versatile Disc \\
+EEPROM & Electronically Erasable Programmable Read-Only Memory \\
+FPGA & Field-programmable Gate Array \\
+GNU & GNU's Not Unix \\
+GPS & Global Positioning System \\
+GPL & General Public License \\
+GSM & Global System for Mobile Communications \\
+GUI & Graphical User Interface \\
+ICSP & In-Circuit Serial Programming \\
+IDE & Integrated Development Environment \\
+LAPACK & Linear Algebra Package \\
+LCD & Liquid Crystal Display \\
+LDR & Light Dependent Resistor \\
+LED & Light Emitting Diode \\
+\end{tabular}
+
+\begin{tabular}{ll} \\
+MRI & Magnetic Resonance Imaging \\
+MISO & Master Input, Slave output \\
+MOSI & Master out, Slave input \\
+NTC & Negative Temperature Coefficient \\
+OGP & Open Graphics Project \\
+OS & Operating System \\
+OSHW & Open Source Hardware \\
+PCB & Printed Circuit Board \\
+PTC & Positive Temperature Coefficient \\
+PWM & Pulse width modulation \\
+RAM & Random-access Memory \\
+ROM & Read Only Memory \\
+RS & Recommended Standard \\
+RTC & Real Time Clock \\
+Rx & Receiver \\
+SD Card & Secure Digital Card \\
+SPI & Serial Peripheral Interface \\
+SRAM & Static Random Access Memory \\
+TCL & Tool Command Language \\
+Tx & Transmitter \\
+UART & Universal Asynchronous Receiver/Transmitter \\
+USB & Universal Serial Bus \\
+\end{tabular}
diff --git a/scilab-arduino/suppl/acr.tex-old b/scilab-arduino/suppl/acr.tex-old
new file mode 100644
index 0000000..332dea2
--- /dev/null
+++ b/scilab-arduino/suppl/acr.tex-old
@@ -0,0 +1,5 @@
+\chapter*{List of Acronyms\markboth{\bf List of Acronyms}{}}
+\addcontentsline{toc}{chapter}{\protect\numberline{List of Acronyms}}
+\begin{tabular}{ll} \\
+IDE & Integrated Development Environment \\
+\end{tabular}
diff --git a/scilab-arduino/suppl/auto/intro.el b/scilab-arduino/suppl/auto/intro.el
new file mode 100644
index 0000000..1351a6f
--- /dev/null
+++ b/scilab-arduino/suppl/auto/intro.el
@@ -0,0 +1,6 @@
+(TeX-add-style-hook "intro"
+ (lambda ()
+ (LaTeX-add-labels
+ "sec:intro"
+ "fn:file-loc")))
+
diff --git a/scilab-arduino/suppl/auto/styles.el b/scilab-arduino/suppl/auto/styles.el
new file mode 100644
index 0000000..1d7faa3
--- /dev/null
+++ b/scilab-arduino/suppl/auto/styles.el
@@ -0,0 +1,26 @@
+(TeX-add-style-hook "styles"
+ (lambda ()
+ (LaTeX-add-environments
+ "codemass"
+ "scicode"
+ "ardmass"
+ "ardcode"
+ "pycode"
+ "pymass"
+ "indented"
+ "thmenumerate"
+ "egmass"
+ "exercise")
+ (TeX-add-symbols
+ '("acaption" 1)
+ '("ccaption" 1)
+ "listofcode"
+ "l"
+ "listofard"
+ "item"
+ "eop"
+ "qed")
+ (TeX-run-style-hooks
+ "theorem"
+ "ntheorem")))
+
diff --git a/scilab-arduino/suppl/dedicate.tex b/scilab-arduino/suppl/dedicate.tex
new file mode 100644
index 0000000..68fb59f
--- /dev/null
+++ b/scilab-arduino/suppl/dedicate.tex
@@ -0,0 +1,38 @@
+\begin{center}
+{\bf {\Huge Oscad} \\ [0.1in]
+\LARGE An open source EDA tool for circuit design,
+ simulation, analysis and PCB design} \\
+\vfill
+\includegraphics[width=0.3\linewidth]{figures/logo-trimmed}
+\vfill
+%
+Yogesh Save, Rakhi R, Shambhulingayya N. D. \\
+Rupak M. Rokade, Ambikeshwar Srivastava \\
+Manas Ranjan Das, Lavitha Pereira \\
+Sachin Patil, Srikant Patnaik \\
+Kannan M. Moudgalya \\
+\vfill
+\includegraphics[width=0.2\linewidth]{iitblogo} \\
+Indian Institute of Technology Bombay \\ [2mm]
+{\LARGE \byncnd} \\ [1mm]
+May 2013
+\end{center}
+% \clearpage
+
+% \vfill
+% \copyright\ Kannan M. Moudgalya
+% \vfill
+
+\cleardoublepage
+
+\null\vspace{2.25in}
+\begin{center}
+To \\ [2mm]
+{\large Mr. Narendra Kumar Sinha, IAS \\
+An Electronics Engineer and a Bureaucrat, \\
+Who dreamt of educating all Indians through NMEICT and \\
+Who envisioned and made possible the Aakash Tablet
+}
+\end{center}
+\vfill
+\cleardoublepage \ No newline at end of file
diff --git a/scilab-arduino/suppl/iitblogo.PNG b/scilab-arduino/suppl/iitblogo.PNG
new file mode 100644
index 0000000..208bcef
--- /dev/null
+++ b/scilab-arduino/suppl/iitblogo.PNG
Binary files differ
diff --git a/scilab-arduino/suppl/intro.log b/scilab-arduino/suppl/intro.log
new file mode 100644
index 0000000..783f3cf
--- /dev/null
+++ b/scilab-arduino/suppl/intro.log
@@ -0,0 +1,2795 @@
+This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010) (format=pdflatex 2011.1.23) 19 NOV 2015 13:44
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**\input intro.tex
+(./intro.tex
+! Undefined control sequence.
+l.1 \chapter
+ {Introduction}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.1 \chapter{I
+ ntroduction}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 1--9
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.10 S
+ cilab is a state of the art computing software. It is also open
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{CNES-Scilab}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.13 extensively use Scilab \cite{CNES-Scilab}
+ , why can't others rely on
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `CNES-Scilab' on page undefined on input line 13.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ? in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no ? in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 10--17
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 10--17
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.18 A
+ lthough Arduino and Scilab are versatile, powerful and free, there
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+! Undefined control sequence.
+l.22 Simulink\trademark
+ of Matlab.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 18--23
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.24 T
+ he only way we can become versatile in hardware is through hands-on
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+l.26 \arduino
+ \ board to introduce the reader to computer interfacing. We
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.29 firmware to make the \arduino
+ \ board communicate with the computer.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.30 ...to control the peripherals on the \arduino
+ \ board with
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 24--32
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.33 T
+ he Scilab Arduino toolbox is already available for Windows
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{scilab-arduino}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.34 \cite{scilab-arduino}
+ . We have suitably modified it, so that it works
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `scilab-arduino' on page undefined on input line 34.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 33--41
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 33--41
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.42 T
+ his book teaches how to access the following sensors and actuators:
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 42--47
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.48 T
+ his book is written for self learners and hobbyists. It has been
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no J in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no Q in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 48--53
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.54 A
+ ll the code described in this book is available at
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+l.55 \url
+ {http://os-hardware.in/arduino/scilab-arduino-files.zip}. On
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+! Undefined control sequence.
+l.56 ...d unzipping it, it will open a folder {\tt
+ Origin} in
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <7> on input line 58.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line 58.
+! Undefined control sequence.
+\@footnotetext ...tins {\reset@font \footnotesize
+ \interlinepenalty \interfo...
+l.60 ... file and use it while reading this book.}
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\@footnotetext ...}\color@begingroup \@makefntext
+ {\rule \z@ \footnotesep \i...
+l.60 ... file and use it while reading this book.}
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+Overfull \hbox (19.50003pt too wide) in paragraph at lines 60--60
+[][][]\OT1/cmr/m/n/10 This
+ []
+
+
+Overfull \hbox (22.22227pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 nam-
+ []
+
+
+Overfull \hbox (13.33337pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 ing
+ []
+
+
+Overfull \hbox (18.33336pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 con-
+ []
+
+
+Overfull \hbox (18.33336pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 ven-
+ []
+
+
+Overfull \hbox (17.22227pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 tion
+ []
+
+
+Overfull \hbox (15.55559pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 will
+ []
+
+
+Overfull \hbox (10.2778pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 be
+ []
+
+
+Overfull \hbox (19.50003pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 used
+ []
+
+
+Overfull \hbox (37.80565pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 through-
+ []
+
+
+Overfull \hbox (14.44449pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 out
+ []
+
+
+Overfull \hbox (16.1667pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 this
+ []
+
+
+Overfull \hbox (24.16676pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 book.
+ []
+
+
+Overfull \hbox (23.75002pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 Users
+ []
+
+
+Overfull \hbox (13.36113pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 are
+ []
+
+
+Overfull \hbox (13.05557pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 ex-
+ []
+
+
+Overfull \hbox (28.61116pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 pected
+ []
+
+
+Overfull \hbox (8.88892pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 to
+ []
+
+
+Overfull \hbox (26.38893pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 down-
+ []
+
+
+Overfull \hbox (18.33339pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 load
+ []
+
+
+Overfull \hbox (16.1667pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 this
+ []
+
+
+Overfull \hbox (12.7778pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 file
+ []
+
+
+Overfull \hbox (16.11116pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 and
+ []
+
+
+Overfull \hbox (13.94446pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 use
+ []
+
+
+Overfull \hbox (6.66669pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 it
+ []
+
+
+Overfull \hbox (22.77782pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 while
+ []
+
+
+Overfull \hbox (22.25003pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 read-
+ []
+
+
+Overfull \hbox (13.33337pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 ing
+ []
+
+
+Overfull \hbox (16.1667pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 this
+ []
+
+
+Overfull \hbox (24.16676pt too wide) in paragraph at lines 60--60
+\OT1/cmr/m/n/10 book.|
+ []
+
+Missing character: There is no . in font nullfont!
+)
+! Emergency stop.
+<*> \input intro.tex
+
+*** (job aborted, no legal \end found)
+
+
+Here is how much of TeX's memory you used:
+ 12 strings out of 493747
+ 200 string characters out of 3143546
+ 51070 words of memory out of 3000000
+ 3403 multiletter control sequences out of 15000+200000
+ 3948 words of font info for 15 fonts, out of 3000000 for 9000
+ 714 hyphenation exceptions out of 8191
+ 24i,5n,26p,106b,102s stack positions out of 5000i,500n,10000p,200000b,50000s
+! ==> Fatal error occurred, no output PDF file produced!
diff --git a/scilab-arduino/suppl/intro.tex b/scilab-arduino/suppl/intro.tex
new file mode 100644
index 0000000..0285b91
--- /dev/null
+++ b/scilab-arduino/suppl/intro.tex
@@ -0,0 +1,64 @@
+\chapter{Introduction}
+\thispagestyle{empty}
+\label{sec:intro}
+Microcontrollers are the foundation for a modern, manufacturing based,
+economy. One cannot fulfill the dreams of one's citizens without a
+thriving manufacturing sector. As it is open source, Arduino is of
+particular interest to hobbyists, students, small and medium scale
+manufacturers, and people from developing countries, in particular.
+
+Scilab is a state of the art computing software. It is also open
+source. As a result, this is also extremely useful to the groups
+mentioned above. If the French National Space Agency CNES can
+extensively use Scilab \cite{CNES-Scilab}, why can't others rely on
+it? If many of India's satellites can be placed in their precise
+orbits by the Ariane rockets launched by CNES through Scilab
+calculations, why can't others use Scilab?
+
+Although Arduino and Scilab are versatile, powerful and free, there
+has not been much literature that teaches how to integrate them. To
+address this gap, we have written this book. Xcos is a GUI based
+system building tool for Scilab, somewhat similar to
+Simulink$^{\textregistered}$\footnote{Simulink$^{\textregistered}$ is
+ a registered trademark of Mathworks, Inc.}. Through Xcos, it is
+possible to build interconnected systems graphically. Xcos also is an
+open source software tool. In this book, we provide Xcos code to
+drive \arduino\ board.
+
+The only way we can become versatile in hardware is through hands-on
+training. To this end, we make use of the easily available low cost
+\arduino\ board to introduce the reader to computer interfacing. We
+also make available the details of a shield that makes the Arduino use
+extremely easy and intuitive. We tell the user how to install the
+firmware to make the \arduino\ board communicate with the computer.
+We explain how to control the peripherals on the \arduino\ board with
+user developed software.
+
+The Scilab Arduino toolbox is already available for Windows
+\cite{scilab-arduino}. We have suitably modified it, so that it works
+on Linux also. In addition to these toolboxes, we provide the
+firmware and a program to check it. Finally, we give the required
+programs to experiment with the sensors and actuators that come with
+the shield, a DC motor and a servomotor. These programs are available
+for all of the following three environments: Arduino IDE, Scilab
+scripts and Xcos.
+
+This book teaches how to access the following sensors and actuators:
+LED, pushbutton, DC motor, Potentiometer and Servo motor. A set of
+two to five programs are given for each. These are given for Arduino
+IDE, Scilab and Xcos. We explain where to find these programs and how
+to execute them for each experiment.
+
+This book is written for self learners and hobbyists. It has been
+field tested by 250 people who attended a hands-on workshop conducted
+at IIT Bombay in July 2015. It has also been field tested by 25
+people who participated in a TEQIP course held in Amravati in November
+2015.
+
+All the code described in this book is available at
+\url{http://os-hardware.in/arduino/scilab-arduino-files.zip}. On
+downloading and unzipping it, it will open a folder {\tt Origin} in
+the current directory. All the files mentioned in this book are
+with reference to this folder\footnote{\label{fn:file-loc}This naming
+ convention will be used throughout this book. Users are expected to
+ download this file and use it while reading this book.}.
diff --git a/scilab-arduino/suppl/paralist.sty b/scilab-arduino/suppl/paralist.sty
new file mode 100644
index 0000000..316031a
--- /dev/null
+++ b/scilab-arduino/suppl/paralist.sty
@@ -0,0 +1,366 @@
+%%
+%% This is file `paralist.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% paralist.dtx (with options: `package')
+%%
+%% Copyright 1998-2000 Bernd Schandl
+%% email schandl@gmx.net
+%% www http://members.xoom.com/schandl/paralist
+%%
+%% This file can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License distributed from CTAN
+%% archives in the directory macros/latex/base/lppl.txt; either
+%% version 1 of the license, or (at your option) any later version.
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+\ProvidesPackage{paralist}%
+ [2001/03/03 v2.0a Some new list environments (BS)]
+\NeedsTeXFormat{LaTeX2e}
+\newif\if@plnewitem\@plnewitemfalse
+\newif\if@plnewenum\@plnewenumfalse
+\newif\if@pldefblank\@pldefblankfalse
+\newif\if@plincreaseonly\@plincreaseonlyfalse
+\newif\if@plpointedenum\@plpointedenumfalse
+\newif\if@plpointlessenum\@plpointlessenumfalse
+\newif\if@plloadcfg
+\DeclareOption{newitem}{\@plnewitemtrue}
+\DeclareOption{newenum}{\@plnewenumtrue}
+\DeclareOption{defblank}{\@pldefblanktrue}
+\DeclareOption{increaseonly}{\@plincreaseonlytrue}
+\DeclareOption{pointedenum}{\@plpointedenumtrue}
+\DeclareOption{pointlessenum}{\@plpointlessenumtrue}
+\DeclareOption{cfg}{\@plloadcfgtrue}
+\DeclareOption{nocfg}{\@plloadcfgfalse}
+\ExecuteOptions{cfg}
+\ProcessOptions\relax
+\newlength{\pltopsep}
+\newlength{\plpartopsep}
+\newlength{\plitemsep}
+\newlength{\plparsep}
+\setlength{\pltopsep}{0pt}
+\setlength{\plpartopsep}{0pt}
+\setlength{\plitemsep}{0pt}
+\setlength{\plparsep}{0pt}
+\def\if@empty#1#2#3{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty#2\else#3\fi}
+\def\pl@item[#1]{%
+ \if@noitemarg
+ \@noitemargfalse
+ \if@nmbrlist
+ \refstepcounter{\@listctr}%
+ \fi
+ \fi
+ \settowidth{\@tempdima}{#1}%
+ \ifdim\@tempdima>\z@{#1}\nobreakspace\fi
+ \ignorespaces
+ }
+\newtoks\pl@lab
+\def\pl@qmark{?}
+\def\pl@label#1#2{%
+ \edef\pl@the{\noexpand#1{\@enumctr}}%
+ \pl@lab\expandafter{\the\pl@lab\csname the\@enumctr\endcsname}%
+ \advance\@tempcnta1
+ \pl@loop}
+\def\pl@space{\afterassignment\pl@sp@ce\let\@tempa= }
+\def\pl@sp@ce{\pl@lab\expandafter{\the\pl@lab\space}\pl@loop}
+\def\pl@group#1{\pl@lab\expandafter{\the\pl@lab{#1}}\pl@loop}
+\def\pl@other#1{\pl@lab\expandafter{\the\pl@lab#1}\pl@loop}
+\def\pl@loop{\futurelet\pl@temp\pl@loop@}
+\def\pl@loop@{%
+ \ifx A\pl@temp \def\@tempa{\pl@label\Alph }\else
+ \ifx a\pl@temp \def\@tempa{\pl@label\alph }\else
+ \ifx i\pl@temp \def\@tempa{\pl@label\roman }\else
+ \ifx I\pl@temp \def\@tempa{\pl@label\Roman }\else
+ \ifx 1\pl@temp \def\@tempa{\pl@label\arabic}\else
+ \ifx \@sptoken\pl@temp \let\@tempa\pl@space \else
+ \ifx \bgroup\pl@temp \let\@tempa\pl@group \else
+ \ifx \@@@\pl@temp \let\@tempa\@gobble \else
+ \let\@tempa\pl@other
+ \pl@hook
+ \fi\fi\fi\fi\fi\fi\fi\fi
+ \@tempa}
+\providecommand\pl@hook{}
+\def\@enumlabel@#1[#2]{%
+ \@tempcnta0
+ \pl@lab{}%
+ \let\pl@the\pl@qmark
+ \expandafter\pl@loop\@gobble#2\@@@
+ \ifnum\@tempcnta=1\else
+ \PackageWarning{paralist}{Incorrect label; no or multiple
+ counters.\MessageBreak The label is: \@gobble#2}%
+ \fi
+ \expandafter\edef\csname label\@enumctr\endcsname{\the\pl@lab}%
+ \expandafter\let\csname the\@enumctr\endcsname\pl@the
+ \csname c@\@enumctr\endcsname7
+ \if@plincreaseonly
+ \settowidth{\@tempdima}{\the\pl@lab\hspace{\labelsep}}%
+ \ifdim\@tempdima >
+ \csname leftmargin\romannumeral\@enumdepth\endcsname
+ \csname leftmargin\romannumeral\@enumdepth\endcsname
+ \@tempdima
+ \fi
+ \else
+ \expandafter\settowidth
+ \csname leftmargin\romannumeral\@enumdepth\endcsname
+ {\the\pl@lab\hspace{\labelsep}}%
+ \fi
+ #1}
+\def\@itemlabel@#1[#2]{%
+ \def\pl@itemitem{#2}%
+ \def\@itemitem{pl@itemitem}%
+ \if@plincreaseonly
+ \settowidth{\@tempdima}{#2\hspace{\labelsep}}%
+ \ifdim\@tempdima >
+ \csname leftmargin\romannumeral\@itemdepth\endcsname
+ \csname leftmargin\romannumeral\@itemdepth\endcsname
+ \@tempdima
+ \fi
+ \else
+ \expandafter\settowidth
+ \csname leftmargin\romannumeral\@itemdepth\endcsname
+ {#2\hspace{\labelsep}}%
+ \fi
+ #1}
+\def\asparaenum{%
+ \ifnum\@enumdepth>\thr@@
+ \@toodeep
+ \else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \fi
+ \@ifnextchar[{\@enumlabel@{\@asparaenum@}[}{\@asparaenum@}}
+\def\@asparaenum@{%
+ \expandafter\list\csname label\@enumctr\endcsname{%
+ \usecounter{\@enumctr}%
+ \labelwidth\z@
+ \labelsep.5em
+ \leftmargin\z@
+ \parsep\parskip
+ \itemsep\z@
+ \topsep\z@
+ \partopsep\parskip
+ \itemindent\parindent
+ \advance\itemindent\labelsep
+ \def\makelabel##1{##1}}}
+\let\endasparaenum\endlist
+\def\inparaenum{%
+ \ifnum\@enumdepth>\thr@@
+ \@toodeep
+ \else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \fi
+ \@ifnextchar[{\@enumlabel@{\@inparaenum@}[}{\@inparaenum@}}
+\def\@inparaenum@{%
+ \usecounter{\@enumctr}%
+ \def\@itemlabel{\csname label\@enumctr\endcsname}%
+ \let\@item\pl@item
+ \ignorespaces}
+\let\endinparaenum\ignorespacesafterend
+\def\compactenum{%
+ \ifnum\@enumdepth>\thr@@
+ \@toodeep
+ \else
+ \advance\@enumdepth\@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \fi
+ \@ifnextchar[{\@enumlabel@{\@compactenum@}[}{\@compactenum@}}
+\def\@compactenum@{%
+ \expandafter\list\csname label\@enumctr\endcsname{%
+ \usecounter{\@enumctr}%
+ \parsep\plparsep
+ \itemsep\plitemsep
+ \topsep\pltopsep
+ \partopsep\plpartopsep
+ \def\makelabel##1{\hss\llap{##1}}}}
+\let\endcompactenum\endlist
+\if@plnewenum
+ \def\enumerate{%
+ \ifnum \@enumdepth >\thr@@
+ \@toodeep
+ \else
+ \advance\@enumdepth \@ne
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \fi
+ \@ifnextchar[{\@enumlabel@{\@enumerate@}[}{\@enumerate@}}
+ \def\@enumerate@{%
+ \expandafter\list\csname label\@enumctr\endcsname{%
+ \usecounter{\@enumctr}%
+ \def\makelabel##1{\hss\llap{##1}}}}
+\fi % \if@plnewenum
+\def\asparaitem{%
+ \ifnum\@itemdepth>\thr@@
+ \@toodeep
+ \else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \fi
+ \@ifnextchar[{\@itemlabel@{\@asparaitem@}}{\@asparaitem@}}
+\def\@asparaitem@{%
+ \expandafter\list\csname\@itemitem\endcsname{%
+ \labelwidth\z@
+ \labelsep.5em
+ \leftmargin\z@
+ \parsep\parskip
+ \itemsep\z@
+ \topsep\z@
+ \partopsep\parskip
+ \itemindent\parindent
+ \advance\itemindent\labelsep
+ \def\makelabel##1{##1}}}
+\let\endasparaitem\endlist
+\def\inparaitem{%
+ \ifnum\@itemdepth>\thr@@
+ \@toodeep
+ \else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \fi
+ \@ifnextchar[{\@itemlabel@{\@inparaitem@}}{\@inparaitem@}}
+\def\@inparaitem@{%
+ \def\@itemlabel{\csname\@itemitem\endcsname}%
+ \let\@item\pl@item
+ \ignorespaces}
+\let\endinparaitem\ignorespacesafterend
+\def\compactitem{%
+ \ifnum\@itemdepth>\thr@@
+ \@toodeep
+ \else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \fi
+ \@ifnextchar[{\@itemlabel@{\@compactitem@}}{\@compactitem@}}
+\def\@compactitem@{%
+ \expandafter\list\csname\@itemitem\endcsname{%
+ \parsep\plparsep
+ \itemsep\plitemsep
+ \topsep\pltopsep
+ \partopsep\plpartopsep
+ \def\makelabel##1{\hss\llap{##1}}}}
+\let\endcompactitem\endlist
+\if@plnewitem
+ \def\itemize{%
+ \ifnum \@itemdepth >\thr@@
+ \@toodeep
+ \else
+ \advance\@itemdepth\@ne
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \fi
+ \@ifnextchar[{\@itemlabel@{\@itemize@}}{\@itemize@}}
+ \def\@itemize@{%
+ \expandafter\list\csname\@itemitem\endcsname{%
+ \def\makelabel##1{\hss\llap{##1}}}}
+\fi % \if@plnewitem
+\def\compactdesc{%
+ \list{}{%
+ \parsep\plparsep
+ \itemsep\plitemsep
+ \topsep\pltopsep
+ \partopsep\plpartopsep
+ \labelwidth\z@
+ \itemindent-\leftmargin
+ \let\makelabel\descriptionlabel}}
+\let\endcompactdesc\endlist
+\if@pldefblank
+ \def\asparablank{%
+ \list{}{%
+ \labelwidth\z@
+ \labelsep\z@
+ \leftmargin\z@
+ \parsep\parskip
+ \itemsep\z@
+ \topsep\z@
+ \partopsep\parskip
+ \itemindent\parindent
+ \advance\itemindent\labelsep
+ \def\makelabel##1{##1}}}
+ \let\endasparablank\endlist
+ \def\inparablank{%
+ \let\@itemlabel\@empty
+ \let\@item\pl@item
+ \ignorespaces}
+ \let\endinparablank\ignorespacesafterend
+\fi % \if@pldefblank
+\def\defaultitem#1#2#3#4{%
+ \if@empty{#1}{}{\def\labelitemi{#1}}%
+ \if@empty{#2}{}{\def\labelitemii{#2}}%
+ \if@empty{#3}{}{\def\labelitemiii{#3}}%
+ \if@empty{#4}{}{\def\labelitemiv{#4}}}
+\def\defaultenum#1#2#3#4{%
+ \if@empty{#1}{}{%
+ \@tempdimb\leftmargini
+ \def\@enumctr{enumi}%
+ \@enumlabel@{\relax}[[#1]%
+ \leftmargini\@tempdimb}%
+ \if@empty{#2}{}{%
+ \@tempdimb\leftmarginii
+ \def\@enumctr{enumii}%
+ \@enumlabel@{\relax}[[#2]%
+ \leftmarginii\@tempdimb}%
+ \if@empty{#3}{}{%
+ \@tempdimb\leftmarginiii
+ \def\@enumctr{enumiii}%
+ \@enumlabel@{\relax}[[#3]%
+ \leftmarginiii\@tempdimb}%
+ \if@empty{#4}{}{%
+ \@tempdimb\leftmarginiv
+ \def\@enumctr{enumiv}%
+ \@enumlabel@{\relax}[[#4]%
+ \leftmarginiv\@tempdimb}%
+ \relax}
+\def\defaultleftmargin#1#2#3#4{%
+ \if@empty{#1}{}{\leftmargini#1}%
+ \if@empty{#2}{}{\leftmarginii#2}%
+ \if@empty{#3}{}{\leftmarginiii#3}%
+ \if@empty{#4}{}{\leftmarginiv#4}%
+ \relax}
+\def\pl@pointxxxenum{%
+ \def\theenumi{\arabic{enumi}}%
+ \def\theenumii{\theenumi.\arabic{enumii}}%
+ \def\theenumiii{\theenumii.\arabic{enumiii}}%
+ \def\theenumiv{\theenumiii.\arabic{enumiv}}%
+ \def\p@enumi{}%
+ \def\p@enumii{}%
+ \def\p@enumiii{}%
+ \def\p@enumiv{}}
+\def\pl@pointedenum{%
+ \def\labelenumi{\theenumi.}%
+ \def\labelenumii{\theenumii.}%
+ \def\labelenumiii{\theenumiii.}%
+ \def\labelenumiv{\theenumiv.}}
+\def\pl@pointlessenum{%
+ \def\labelenumi{\theenumi}%
+ \def\labelenumii{\theenumii}%
+ \def\labelenumiii{\theenumiii}%
+ \def\labelenumiv{\theenumiv}}
+\def\pointedenum{\pl@pointxxxenum\pl@pointedenum}
+\def\pointlessenum{\pl@pointxxxenum\pl@pointlessenum}
+\if@plpointedenum\pointedenum\fi
+\if@plpointlessenum\pointlessenum\fi
+\if@plloadcfg
+ \InputIfFileExists{paralist.cfg}{%
+ \typeout{Using the configuration file paralist.cfg}}{}
+\fi
+
+\endinput
+%%
+%% End of file `paralist.sty'.
diff --git a/scilab-arduino/suppl/preface.tex b/scilab-arduino/suppl/preface.tex
new file mode 100644
index 0000000..285dda5
--- /dev/null
+++ b/scilab-arduino/suppl/preface.tex
@@ -0,0 +1,198 @@
+\chapter*{Preface\markboth{\bf Preface}{}}
+\thispagestyle{empty}
+\addcontentsline{toc}{chapter}{\protect\numberline{Preface}}
+
+Seeds for Oscad were sown when the National Mission on Education
+through ICT (NMEICT) was launched: the mission document identified
+\emph{Adaption \& deployment of open source simulation packages
+ equivalent to Matlab, OrCAD, etc.}, as one of the areas NMEICT would
+concentrate on.
+The FOSSEE (free and open source software in science and engineering
+education) group at IIT Bombay, of which we are a part of, initially
+started working on Python and Scilab. The Standing Committee of
+NMEICT encouraged us to contribute to other open source software as
+well. This push helped us develop Oscad, an open source alternative
+to OrCAD.
+
+Oscad is an electronic design automation (EDA) tool, developed using
+KiCad, Ngspice and Scilab. We have made the netlist files generated
+by KiCad suitable for simulation through Ngspice. In order to provide
+an explanation facility, we have developed a method to automatically
+generate differential equations that describe a given analog circuit
+and to solve them using Scilab. Once satisfied with simulation
+results, the user can create a Gerber file for PCB fabrication.
+
+While working on Scilab and Python, the FOSSEE group, jointly with the
+Spoken Tutorial team, created a large number of Spoken Tutorials
+\cite{kmm11-csi}. Spoken Tutorials are audio-video tutorials in the
+IT and simulation areas, created for self learning using screencast
+technology. This instructional material has been used to train more
+than 20,000 college students on Scilab and Python in the past two
+years.
+
+We have created seven spoken tutorials of ten minutes each, using
+which, a beginner level SELF workshop can be conducted on Oscad. We
+plan to conduct these workshops in about 100 colleges in the next one
+year, free of cost.
+
+The FOSSEE team has also created more than 160 Scilab Textbook
+Companions, each of which contains Scilab code for worked out examples
+of standard textbooks, mostly in engineering and science. These have
+been created by the students and professors from various
+educational institutions in India. These textbooks can be downloaded
+free of cost from \cite{scilab}. They can also be executed remotely
+on GARUDA cloud \cite{GARUDA}.
+
+We are embarking on a similar methodology for Oscad as well: we have
+solved most of the worked out examples of \cite{sedra} and given the
+solution in Appendix~\ref{ch:appen}. We hope to create Oscad Textbook
+Companions for all other relevant standard textbooks as well in the
+near future, once again through students and other volunteers.
+
+Solving the worked out examples of \cite{sedra} was a good exercise,
+as it helped identify and
+include some missing features. The yet to be created Oscad Textbook
+Companions are expected to help in this regard, while simultaneously
+increasing the available documentation.
+
+Lab migration is another important activity that the FOSSEE team is
+involved in. It provides equivalent Scilab code for Matlab based
+labs. This is also carried out through students and volunteers. We
+are starting this activity for Oscad as well: we will try to provide
+equivalent Oscad based solution to all circuit design labs that
+currently use proprietary software.
+
+We have successfully ported Oscad on Aakash, the world's lowest cost
+computing tablet. As Ubuntu 12.10 runs on native mode on Aakash, we
+could port Oscad to it. \chapref{chap11} explains this activity,
+along with a few screenshots. As the Aakash tablet costs Rs. 2,263,
+and hence, for less than Rs. 2,500 (including a keyboard and a mouse),
+one can get access to a powerful EDA system. This is expected to help
+the students who are enthusiastic about circuit design, but cannot
+afford expensive hardware and software.
+
+Porting of Oscad demonstrates the power of the concept of Aakash: an
+unlimited number of open source educational software systems can be
+made available even in a low cost device. Aakash can serve the dual
+purpose of a tablet and a computing device. This is the only way to
+address the aspirations of the millions of poor students who cannot
+afford even a computer system or an expensive tablet, let alone
+both.
+
+The FOSSEE team is currently working on the promotion/development of
+the following open source software systems as well:
+\begin{inparaenum}
+\item OpenFOAM, a CFD solver and an open source alternative to Fluent
+ and StarCD.
+\item COIN-OR, an open source software suite for optimisation
+ problems.
+\item OpenFormal for formal verification of computer software.
+\end{inparaenum}
+About ten professors and 25 full time staff members and students are
+working on FOSSEE projects at IIT Bombay. Many more are expected to
+join in the near future.
+
+Another important project supported by NMEICT is the Teach 10,000
+Teachers (T10KT) programme. This methodology, pioneered at IIT Bombay
+\cite{T10KT,T10KT-kal} has demonstrated that it is possible for the best people
+in the field to provide extremely high quality training to a large
+number of learners simultaneously. Oscad is expected to be used in
+the forthcoming T10KT course on Analog Electronics, organised by IIT
+Kharagpur \cite{T10KT-kgp}.
+
+We invite all EDA enthusiasts to work with us through the following
+resources:
+\begin{inparaenum}
+\item URL for all FOSSEE activities: http://fossee.in
+\item URL for all Oscad resources: http://oscad.in
+\item Textbook companion: textbook-companion@oscad.in
+\item Lab migration: lab-migration@oscad.in
+\item SELF workshops: SELF-workshop@oscad.in
+\item Oscad development and enhancing its capabilities:
+ Oscad-dev@oscad.in
+\item Feedback on this book: Oscad-textbook@oscad.in.
+\end{inparaenum}
+We also hope to establish forum based discussion services for
+Oscad.
+
+Finally, an electronic version of this book is available for
+noncommercial purposes at http://oscad.in.
+
+\clearpage
+\section*{Acknowledgements}
+\addcontentsline{toc}{chapter}{\protect\numberline{Acknowledgements}}
+We would first like to thank Mr. N. K. Sinha, IAS, for without him,
+there would have been no National Mission on Education through ICT
+(NMEICT), without which, there would have been no FOSSEE, without
+which, there would have been no Oscad. The idealistic guiding
+principles of NMEICT, namely, reliance on open source software,
+providing free access to e-content, Internet connectivity for all
+educational institutions and providing a low cost access device to
+every student through Aakash, egged us to contribute our best and one
+of the outcomes is Oscad.
+
+We would like to thank the former Human Resource Development Minister
+(HRM) Mr. Arjun Singh for getting NMEICT started. We would like to
+acknowledge the former HRM Mr. Kapil Sibal for his unstinting support
+and the faith he had in the NMEICT administration team. We would like
+to thank the current HRM Dr. Pallam Raju for extending the tenure of
+NMEICT by five more years.
+
+We want to thank the Members of the Standing Committee of NMEICT who
+met once in two weeks for almost two years to review project proposals
+and to recommend them for funding or giving suggestions for
+improvement. We also want to thank them for urging us to work on more
+FOSS systems than what we were prepared for. Without this kind of
+active support, the ecosystem required for projects like Oscad to
+flourish, established at IIT Bombay through the many projects funded
+through NMEICT, would not have materialised.
+
+We want to thank the FOSSEE faculty members Profs. Prabhu
+Ramachandran, Madhu Belur, Mani Bhushan, Shiva Gopalakrishnan,
+Jayendran Venkateswaran, Ashutosh Mahajan and Supratik Chakraborty for
+establishing a vibrant FOSSEE group at IIT Bombay. We want to thank
+Prof. D. B. Phatak for being a constant source of inspiration and
+encouragement and for supporting our activities directly and
+indirectly through the Teach 10,000 Teacher Programme \cite{T10KT} and
+the Aakash \cite{aakash} Project. We want to thank other faculty
+members with NMEICT projects at IIT Bombay, namely, Profs. Kavi Arya,
+Ravi Poovaiah, Santosh Noronha, Anil Kulkarni, Sridhar Iyer, Sahana
+Murthy and Shishir Jha for sharing their dreams, processes and
+facilities. We want to thank the staff members of all NMEICT projects
+at IIT Bombay in general and of FOSSEE and Spoken Tutorial projects in
+particular, for providing a wonderful work environment.
+
+We want to thank the IIT Bombay administration in general and R\&D
+office in particular for providing us with an excellent environment to
+make us work efficiently. We want to thank the researchers and
+faculty members in our departments for providing us with necessary
+space and for putting up with our tantrums.
+
+We would like to thank the professors, staff and students affiliated
+with the Wadhwani Electronics lab at IIT Bombay for trying out Oscad
+in lab courses and for the useful suggestions. We would like to thank
+Abhishek Pawar for creating Spoken Tutorials on KiCad. We would like
+to thank Saket Choudhary for making the netlist files generated by
+KiCad compatible with Ngspice. We want to thank Hardik for his help
+in implementing the current GUI of Oscad. We want to thank Kiran for
+designing the logo of Oscad. We want to thank Bella for helping with
+the coordination of FOSSEE in general and Oscad in particular. We
+want to thank Mr.~Sunil Shastri of Shroff Publishers for
+bringing out this book in a short time.
+
+Finally, we want to thank our family members for allowing us to work
+extended hours and for bearing with us. \\ [1cm]
+
+\setlength{\tabcolsep}{0.5cm}
+\begin{center}
+\begin{tabular}{ccc}
+Yogesh Save & Rakhi R & Shambhulingayya N. D. \\ [1mm]
+Rupak M. Rokade & Ambikeshwar Srivastava & Manas Ranjan Das \\ [1mm]
+Lavitha Pereira & Sachin Patil & Srikant Patnaik \\ [1mm]
+& Kannan M. Moudgalya \\ [5mm]
+& IIT Bombay \\
+& 22 May 2013
+\end{tabular}
+\end{center}
+
+\cleardoublepage
diff --git a/scilab-arduino/suppl/ref.bib b/scilab-arduino/suppl/ref.bib
new file mode 100644
index 0000000..f0185a6
--- /dev/null
+++ b/scilab-arduino/suppl/ref.bib
@@ -0,0 +1,175 @@
+@book{spice,
+author = {Steven M. Sandler and Charls Hymowitz},
+title = {SPICE Circuit Handbook},
+publisher = {McGraw-Hill Professional},
+address = {New York},
+institution = {NYU},
+year = {2006}}
+
+@INPROCEEDINGS{yogesh-paper,
+title = {Open Source CAD (OSCAD) tool for Electronic and Electrical
+ Engineers},
+author = {Yogesh Dilip Save and Saket Chaudhury and Kannan M Moudgalya},
+}
+
+@Electronic{kicad,
+ author ={Jean-Pierre Charras and Fabrizio Tappero},
+ url = {http://www.kicad-pcb.org/display/KICAD/KiCad+Documentation},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{ngspice,
+author = {Paolo Nenzi and Holger Vogt},
+title = {Ngspice Users Manual version 25plus},
+url = {http://ngspice.sourceforge.net/docs/ngspice-manual.pdf},
+year = {2013}}
+
+@Electronic{eeschema,
+ url = {http://www.kicad-pcb.org/display/KICAD/KiCad+EDA+Software+Suite},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{ngspice-web,
+ url = {http://ngspice.sourceforge.net/},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{scilab,
+ url = {http://www.scilab.org/},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{scilab-in,
+ url = {http://scilab.in/},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{oscad,
+ url = {http://oscad.in/},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{st,
+ url = {http://www.spoken-tutorial.org/},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{aakash,
+ url = {http://www.aakashlabs.org/},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{eda,
+ url = {http://en.wikipedia.org/wiki/Electronic_design_automation},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{synaptic,
+title = {{Synaptic Package Manager Spoken Tutorial}},
+ url = {http://www.spoken-tutorial.org/list_videos?view=1&foss=Linux&language=English},
+ month = {July},
+ year = 2013
+}
+
+@book{sedra,
+author = {A. S. Sedra and K. C. Smith and A. N. Chandorkar},
+title = {Microelectronic Circuits - Theory and Applications},
+publisher = {Oxford University Press},
+place = {Oxford},
+year = 2009}
+
+@Article{kmm11-TUGboat,
+ author = {Moudgalya, K. M.},
+ title = {{\LaTeX\ Training through Spoken Tutorials}},
+ journal = {TUGboat},
+ year = 2011,
+ volume = 32,
+ number = 3,
+ pages = {251-257}
+}
+
+@Article{kmm11-csi,
+ author = {Moudgalya, K. M.},
+ title = {{Spoken Tutorial: A Collaborative and Scalable
+ Education Technology}},
+ journal = {CSI Communications},
+ year = 2011,
+ volume = 35,
+ number = 6,
+ pages = {10-12},
+ month = {September},
+ note = {Available at \url{http://spoken-tutorial.org/CSI.pdf}}
+}
+
+@Electronic{T10KT-kgp,
+title = {Teach 10,000 Teacher Programme on Analog Electronics},
+ url = {http://www.nmeict.iitkgp.ernet.in/Analogmain.htm},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{T10KT,
+title = {Teach 10,000 Teacher Programme},
+ url = {http://www.it.iitb.ac.in/nmeict/MegaWorkshop.do},
+author = {D. B. Phatak},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{GARUDA,
+ url = {http://scilab-test.garudaindia.in/scilab_in/, http://scilab-test.garudaindia.in/cloud},
+ month = {July},
+ year = 2013
+}
+
+@Electronic{kicad2,
+author = {David Jahshan and Phil Hutchinson},
+url = {http://bazaar.launchpad.net/~kicad-developers/kicad/doc/files/head:/doc/tutorials/},
+ month = {July},
+ year = 2013
+}
+
+
+@InCollection{T10KT-kal,
+ author = {Kalpana Kannan and K. Narayanan},
+ title = {ICT-Enabled Scalable Workshops for Engineering
+ College Teachers in India},
+ booktitle = {Post-Secondary Education and Technology: A Global
+ Perspective on Opportunities and Obstacles to
+ Development (International and Development
+ Education)},
+ publisher = {Palgrave Macmillan},
+ year = 2012,
+ editor = {R. Clohey and S. Austin-Li and J. C. Weldman}}
+
+@Book{RLB2011,
+ author = {Boylestad, R. L.},
+ title = {Introductory Circuit Analysis},
+ publisher = {Pearson},
+ year = 2011,
+ address = {New Delhi}}
+
+@Book{save2013,
+ author = {Y. Save and R Rakhi and N. D. Shambulingayya and
+ R. M. Rokade and A. Srivastava and M. R. Das and
+ L. Pereira and S. Patil and S. Patnaik and
+ K. M. Moudgalya},
+ title = {{Oscad: An open source EDA tool for circuit design,
+ simulation, analysis and PCB design}},
+ publisher = {Shroff Publishers},
+ year = 2013}
+
+@Electronic{sakshat,
+ url = {http://www.sakshat.ac.in},
+ month = {July},
+ year = 2013
+}
diff --git a/scilab-arduino/suppl/styles.log b/scilab-arduino/suppl/styles.log
new file mode 100644
index 0000000..1d7fad6
--- /dev/null
+++ b/scilab-arduino/suppl/styles.log
@@ -0,0 +1,805 @@
+This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010) (format=pdflatex 2011.1.23) 20 JUN 2015 23:28
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**\input styles.tex
+(./styles.tex
+
+! LaTeX Error: \usepackage before \documentclass.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.2 \usepackage{
+ ntheorem}
+\usepackage may only appear in the document preamble, i.e.,
+between \documentclass and \begin{document}.
+
+! Undefined control sequence.
+l.3 {\theorembodyfont
+ {\rmfamily} \newtheorem{codemass}{Scilab Code}[chapter]}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+\c@codemass=\count79
+
+! LaTeX Error: No counter 'chapter' defined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.3 ...\newtheorem{codemass}{Scilab Code}[chapter]
+ }
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: \@pnumwidth undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.19 \renewcommand\@pnumwidth
+ {2.1em}
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+
+! LaTeX Error: \tableofcontents undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.23 \renewcommand\tableofcontents
+ {%
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+
+! LaTeX Error: \listoffigures undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.36 \renewcommand\listoffigures
+ {%
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+
+! LaTeX Error: \listoftables undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.49 \renewcommand\listoftables
+ {%
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+
+! LaTeX Error: Environment theindex undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.62 \renewenvironment{theindex}
+
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+
+! LaTeX Error: Environment thebibliography undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.78 \renewenvironment{thebibliography}
+ [1]
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+! Undefined control sequence.
+l.110 \lstdefinestyle
+ {mystyle}{
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.110 \lstdefinestyle{m
+ ystyle}{
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no m in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.111 numberstyle=\tiny
+ ,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.112 basicstyle=\footnotesize
+ ,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 2 in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 110--124
+[]
+ []
+
+! Undefined control sequence.
+l.125 \lstset
+ {style=mystyle,language=Scilab,numbers=left,numberstyle=\tiny,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.125 \lstset{s
+ tyle=mystyle,language=Scilab,numbers=left,numberstyle=\tiny,
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.125 ...age=Scilab,numbers=left,numberstyle=\tiny
+ ,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.126 breaklines,commentstyle=\scriptsize
+ }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 125--127
+[]
+ []
+
+! Undefined control sequence.
+l.128 \lstdefinestyle
+ {nonumbers}{
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.128 \lstdefinestyle{n
+ onumbers}{
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.130 basicstyle=\footnotesize
+ ,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 2 in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 128--140
+[]
+ []
+
+! Undefined control sequence.
+l.141 \lstset
+ {style=mystyle,language=C,numbers=left,numberstyle=\tiny,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.141 \lstset{s
+ tyle=mystyle,language=C,numbers=left,numberstyle=\tiny,
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.141 ...language=C,numbers=left,numberstyle=\tiny
+ ,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.142 breaklines,commentstyle=\scriptsize
+ }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+)
+! Emergency stop.
+<*> \input styles.tex
+
+*** (job aborted, no legal \end found)
+
+
+Here is how much of TeX's memory you used:
+ 41 strings out of 493747
+ 502 string characters out of 3143546
+ 49070 words of memory out of 3000000
+ 3433 multiletter control sequences out of 15000+200000
+ 3640 words of font info for 14 fonts, out of 3000000 for 9000
+ 714 hyphenation exceptions out of 8191
+ 13i,0n,11p,142b,58s stack positions out of 5000i,500n,10000p,200000b,50000s
+! ==> Fatal error occurred, no output PDF file produced!
diff --git a/scilab-arduino/suppl/styles.tex b/scilab-arduino/suppl/styles.tex
new file mode 100644
index 0000000..79b30f6
--- /dev/null
+++ b/scilab-arduino/suppl/styles.tex
@@ -0,0 +1,257 @@
+% code environment
+\usepackage{ntheorem}
+{\theorembodyfont{\rmfamily} \newtheorem{codemass}{Scilab Code}[chapter]}
+\newenvironment{scicode}%
+{\begin{codemass}}{\hrule \end{codemass}}
+
+% create listing for code
+
+\newcommand\ccaption[1]
+ {\addcontentsline{cod}{section}{\protect\numberline {\thecodemass}#1}}
+\makeatletter \newcommand\listofcode
+ {\chapter*{List of Scilab, Python, Julia \& OpenModelica Code\markboth%
+ {\bf List of Scilab, Python, Julia \& OpenModelica Code}{}}%
+\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{3em}}%
+\addcontentsline{toc}{chapter}{\protect\numberline{List of Scilab, Python, Julia \& OpenModelica Code}}
+\@starttoc{cod}}
+\newcommand\l@scilab[3]
+ {#1 \par\noindent#2, #3 \par}
+\renewcommand\@pnumwidth{2.1em}
+\makeatother
+
+\usepackage{ntheorem}
+{\theorembodyfont{\rmfamily} \newtheorem{ardmass}{Arduino Code}[chapter]}
+
+\newenvironment{ardcode}%
+{\begin{ardmass}}{\hrule \end{ardmass}}
+
+\newcommand\acaption[1]
+ {\addcontentsline{ard}{section}{\protect\numberline {\theardmass}#1}}
+
+\makeatletter \newcommand\listofard
+ {\chapter*{List of Arduino Code\markboth%
+ {\bf List of Arduino Code}{}}%
+\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{3em}}%
+\addcontentsline{toc}{chapter}{\protect\numberline{List of Arduino \ Code}}
+\@starttoc{ard}}
+\newcommand\l@arduino[3]
+ {#1 \par\noindent#2, #3 \par}
+\renewcommand\@pnumwidth{2.1em}
+\makeatother
+
+%%%%%%%%%%python
+\usepackage{ntheorem}
+{\theorembodyfont{\rmfamily} \newtheorem{pymass}{Python Code}[chapter]}
+\newenvironment{pycode}%
+{\begin{pymass}}{\hrule \end{pymass}}
+
+% create listing for code
+
+\newcommand\pcaption[1]
+ {\addcontentsline{cod}{section}{\protect\numberline {\thepymass}#1}}
+\makeatletter \newcommand\listofpyd
+ {\chapter*{List of Python Code\markboth%
+ {\bf List of Python Code}{}}%
+\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{3em}}%
+\addcontentsline{toc}{chapter}{\protect\numberline{List of Python \ Code}}
+\@starttoc{pyd}}
+\newcommand\l@python[3]
+ {#1 \par\noindent#2, #3 \par}
+\renewcommand\@pnumwidth{2.1em}
+\makeatother
+%%%%%%%%%python
+
+%%%%%%%%%%julia
+\usepackage{ntheorem}
+{\theorembodyfont{\rmfamily} \newtheorem{juliamass}{Julia Code}[chapter]}
+\newenvironment{juliacode}%
+{\begin{juliamass}}{\hrule \end{juliamass}}
+
+% create listing for code
+
+\newcommand\jcaption[1]
+ {\addcontentsline{cod}{section}{\protect\numberline {\thejuliamass}#1}}
+\makeatletter \newcommand\listofjuliad
+ {\chapter*{List of Julia Code\markboth%
+ {\bf List of Julia Code}{}}%
+ %{\bf List of Julia Code}{}}%
+\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{3em}}%
+\addcontentsline{toc}{chapter}{\protect\numberline{List of Julia\ Code}}
+\@starttoc{juliad}}
+\newcommand\l@julia[3]
+ {#1 \par\noindent#2, #3 \par}
+\renewcommand\@pnumwidth{2.1em}
+\makeatother
+%%%%%%%%%julia
+
+%%%%%%%%%%OpenModelica
+\usepackage{ntheorem}
+{\theorembodyfont{\rmfamily} \newtheorem{OpenModelicamass}{OpenModelica Code}[chapter]}
+\newenvironment{OpenModelicacode}%
+{\begin{OpenModelicamass}}{\hrule \end{OpenModelicamass}}
+
+% create listing for code
+
+\newcommand\mcaption[1]
+ {\addcontentsline{cod}{section}{\protect\numberline {\theOpenModelicamass}#1}}
+\makeatletter \newcommand\listofOpenModelicad
+ {\chapter*{List of OpenModelica Code\markboth%
+ {\bf List of OpenModelica Code}{}}%
+ %{\bf List of Julia Code}{}}%
+\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{3em}}%
+\addcontentsline{toc}{chapter}{\protect\numberline{List of OpenModelica\ Code}}
+\@starttoc{OpenMOdelicad}}
+\newcommand\l@OpenModelica[3]
+ {#1 \par\noindent#2, #3 \par}
+\renewcommand\@pnumwidth{2.1em}
+\makeatother
+%%%%%%%%%OpenModelica
+
+
+\makeatletter
+\renewcommand\tableofcontents{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\contentsname
+ \@mkboth{%
+ \bf \contentsname}{\bf \contentsname}}%
+ \@starttoc{toc}%
+ \if@restonecol\twocolumn\fi
+ }
+%
+\renewcommand\listoffigures{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listfigurename
+ \@mkboth{%
+ \bf \listfigurename}{\bf \listfigurename}}%
+\addcontentsline{toc}{chapter}{\protect\numberline{List of Figures}}
+ \@starttoc{lof}%
+ \if@restonecol\twocolumn\fi
+ }
+%
+\renewcommand\listoftables{%
+ \if@twocolumn
+ \@restonecoltrue\onecolumn
+ \else
+ \@restonecolfalse
+ \fi
+ \chapter*{\listtablename
+ \@mkboth{%
+ \bf \listtablename}{\bf \listtablename}}%
+\addcontentsline{toc}{chapter}{\protect\numberline{List of Tables}}
+ \@starttoc{lot}%
+ \if@restonecol\twocolumn\fi
+ }
+%
+\renewenvironment{theindex}
+ {\if@twocolumn
+ \@restonecolfalse
+ \else
+ \@restonecoltrue
+ \fi
+ \columnseprule \z@
+ \columnsep 35\p@
+ \twocolumn[\@makeschapterhead{\indexname}]%
+ \@mkboth{\bf \indexname}%
+ {\bf \indexname}%
+\addcontentsline{toc}{chapter}{\protect\numberline{\indexname}}%
+ \thispagestyle{plain}\parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \let\item\@idxitem}
+ {\if@restonecol\onecolumn\else\clearpage\fi}
+\renewenvironment{thebibliography}[1]
+ {\chapter*{\bibname}%
+ \@mkboth{\bf \bibname}{\bf \bibname}%
+\addcontentsline{toc}{chapter}{\protect\numberline{References}}%
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+\makeatother
+
+%\makeatletter
+%\renewcommand{\p@subfigure}{}
+%\renewcommand{\@thesubfigure}{\thesubfigure:\hskip\subfiglabelskip}
+%\makeatother
+%\setcounter{lofdepth}{2}
+
+%\makeatletter\renewcommand{\p@subfigure}{}\renewcommand{\@thesubfigure}{\thesubfigure:\hskip\subfiglabelskip}\makeatother
+
+%\setcounter{lofdepth}{2}
+
+\lstdefinestyle{mystyle}{
+ numberstyle=\tiny,
+ basicstyle=\footnotesize,
+ breakatwhitespace=false,
+ breaklines=true,
+ captionpos=b,
+ keepspaces=true,
+ numbers=left,
+ numbersep=5pt,
+ showspaces=false,
+ showstringspaces=false,
+ showtabs=false,
+ tabsize=2
+}
+
+\lstset{style=mystyle,language=Scilab,numbers=left,numberstyle=\tiny,
+ breaklines,commentstyle=\scriptsize}
+
+\lstdefinestyle{nonumbers}{
+ numbers=none,
+ basicstyle=\footnotesize,
+ breakatwhitespace=false,
+ breaklines=true,
+ captionpos=b,
+ keepspaces=true,
+ showspaces=false,
+ showstringspaces=false,
+ showtabs=false,
+ tabsize=2
+}
+
+\lstset{style=mystyle,language=C,numbers=left,numberstyle=\tiny,
+ breaklines,commentstyle=\scriptsize}
+
+\newenvironment{indented}[1][]%
+ {\list{}%
+ {\leftmargin \parindent%
+ \rightmargin \parindent%
+ \labelsep 1em%
+ \itemindent 0in}%
+ \item#1\relax}%
+ {\endlist\noindent}%
+\def\eop{ \hbox{{\vrule height7pt width3pt depth0pt}}}
+\def\qed{\hspace*{\fill}\eop}
+
+\newenvironment{thmenumerate}{%
+\leavevmode\vspace{-1.4em}
+\begin{enumerate}[label=(\arabic*),leftmargin=*,align=left]
+}{%
+\end{enumerate}
+}
+
+\usepackage{theorem}
+{\theorembodyfont{\sffamily} \newtheorem{egmass}{Exercise}[chapter]}
+\newenvironment{exercise}%
+{\begin{indented}\begin{egmass} }{\end{egmass} \vspace{-2ex} \qed%
+\end{indented}}
diff --git a/scilab-arduino/tools/arduino-firmware/arduino-firmware.ino b/scilab-arduino/tools/arduino-firmware/arduino-firmware.ino
new file mode 100644
index 0000000..f96af69
--- /dev/null
+++ b/scilab-arduino/tools/arduino-firmware/arduino-firmware.ino
@@ -0,0 +1,794 @@
+/* This file is meant to be used with the SCILAB arduino
+ toolbox, however, it can be used from the IDE environment
+ (or any other serial terminal) by typing commands like:
+
+ Conversion ascii -> number
+ 48->'0' ... 57->'9' 58->':' 59->';' 60->'<' 61->'=' 62->'>' 63->'?' 64->'@'
+ 65->'A' ... 90->'Z' 91->'[' 92->'\' 93->']' 94->'^' 95->'_' 96->'`'
+ 97->'a' ... 122->'z'
+
+ Dan0 or Dan1 : attach digital pin n (ascii from 2 to b) to input (0) or output (1)
+ Drn : read digital value (0 or 1) on pin n (ascii from 2 to b)
+ Dwn0 or Dwn1 : write 1 or 0 on pin n
+ An : reads analog pin n (ascii from 0 to 19)
+ Wnm : write analog value m (ascii from 0 to 255) on pin n (ascii from 0 to 19)
+ Sa1 or Sa2 : Attach servo 1 (digital pin 9) or 2 (digital pin 10)
+ Sw1n or Sw2n : moves servo 1 or servo 2 to position n (from ascii(0) to ascii(180))
+ Sd1 or Sd2 : Detach servo 1 or 2
+
+ Generic DC_Motor
+ Cijkl : setup for generic DCmotor number i (1 to 4), PW1 on pin number j, PWM2 or direction on pin number k, mode=l
+ l=0 for L293 (2 PWM) and l=1 for L298 (1PWM + 1 bit for direction)
+ Mijk : sets speed for generic DCmotor number i, j=0/1 for direction, k=ascii(0) .. ascii(255)
+ Mir : releases motor i (r=release)
+
+ Generic Interrupt counter
+ Iai : activate counter on INT number i (i=ascii(2 or 3 or 18 or 19 or 20 or 21)
+ Iri : release counter on INT number i
+ Ipi : read counter on INT number i
+ Izi : reset counter on INT number i
+
+ Generic Encoder
+ Eajkl: activate encoder on channelA on INT number j (j=ascii(2 or 3 or 18 or 19 or 20 or 21) et channelB on pin k or INT number k (k=ascii(0)..ascii(53))
+ and l=1 or 2 or 4 for 1x mode (count every rising of chA) or 2x mode (count every change statement of chA)
+ or 4x mode (every change statement of chA et chB)
+ Eri : release encoder on INTi
+ Epi : read position of encoder on INTi
+ Ezi : reset value of encoder on INTi position
+
+ R0 : sets analog reference to DEFAULT
+ R1 : sets analog reference to INTERNAL
+ R2 : sets analog reference to EXTERNAL
+
+ */
+
+#include <Servo.h>
+
+/* define internal for the MEGA as 1.1V (as as for the 328) */
+#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
+#define INTERNAL INTERNAL1V1
+#endif
+
+/* create and initialize servos */
+Servo servo1;
+Servo servo2;
+
+/* Generic motors */
+int dcm1_pin1,dcm1_pin2,dcm1_mode;
+int dcm2_pin1,dcm2_pin2,dcm2_mode;
+int dcm3_pin1,dcm3_pin2,dcm3_mode;
+int dcm4_pin1,dcm4_pin2,dcm4_mode;
+
+// Generic encoder
+/* Encoders initialisation */
+// volatile declare as those variables will change in interrupts
+volatile long int encoder_0_position = 0,encoder_1_position = 0, encoder_2_position = 0, encoder_3_position = 0, encoder_4_position = 0, encoder_5_position = 0;
+int encoder_0_int2 ; // Pin used for encoder0 chanel B : define from scilab
+int encoder_1_int2 ; // Pin used for encoder1 chanel B : define from scilab
+int encoder_2_int2 ; // Pin used for encoder2 chanel B : define from scilab
+int encoder_3_int2 ; // Pin used for encoder3 chanel B : define from scilab
+int encoder_4_int2 ; // Pin used for encoder4 chanel B : define from scilab
+int encoder_5_int2 ; // Pin used for encoder5 chanel B : define from scilab
+int encoder_num, encoder_int2;
+int corresp[6]={2,3,21,20,19,18}; //Correspondance beetween interrupt number and pin number
+
+//Generic counter
+volatile long int counter_0=0,counter_1=0,counter_2=0,counter_3=0,counter_4=0,counter_5=0;
+
+int initiat=1;
+
+void setup() {
+ /* initialize serial */
+ Serial.begin(115200);
+
+}
+void loop() {
+
+
+
+ /* variables declaration and initialization */
+
+ static int s = -1; /* state */
+ static int pin = 13; /* generic pin number */
+ static int dcm = 4; /* generic dc motor number */
+
+ int val = 0; /* generic value read from serial */
+ int agv = 0; /* generic analog value */
+ int dgv = 0; /* generic digital value */
+ static int enc = 1; /* encoder number 1 (or 2 for Arduino mega) */
+
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read();
+
+ //Checking for availability of firmware
+ if(val==118)
+ {
+ delay(10);
+ Serial.write("ok");
+ }
+
+// if (val==0){// version
+// Serial.print('v3');
+// val=-1;
+// }
+ //case A -> Analog
+ else if (val==65){//A -> Analog read
+ while (Serial.available()==0) {}; // Waiting char
+// val=Serial.read();
+// if (val==114){ //'r'-> read pin
+// while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>47 && val<67) { //from pin 0, to pin 19
+ pin=val-48; //number of the pin
+ agv=analogRead(pin);
+ //Serial.println(agv);
+ Serial.write((uint8_t*)&agv,2); /* send binary value via serial */
+ }
+ val=-1;
+ }
+ else if (val==87){//W -> Analog write
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>47 && val<67) { //from pin 0 to pin 19
+ pin=val-48; //number of the pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ analogWrite(pin,val);
+ }
+ val=-1;
+ }
+ //}
+
+ //case D -> Digital
+ else if (val==68){//D -> Digital pins
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97){ //'a'-> declare pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48;
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==48 || val==49) {
+ if (val==48){//'0' -> input
+ pinMode(pin,INPUT);
+ }
+ else if (val==49){//'1' -> output
+ pinMode(pin,OUTPUT);
+ }
+ }
+ }
+ }
+ if (val==114){ //'r'-> read pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48; //number of the digital pin
+ dgv=digitalRead(pin);
+// Serial.println(dgv);
+ Serial.print(dgv);
+ }
+ }
+ if (val==119){ //'w'-> write pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>49 && val<102) {
+ pin=val-48; //number of the digital pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==48 || val==49) { // 0 or 1
+ dgv=val-48;
+ digitalWrite(pin,dgv);
+// Serial.println(dgv);
+ }
+ }
+ }
+ val=-1;
+
+ }
+ //case S -> servomotor
+ else if (val==83){
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97){ //'a'-> declare servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ if (pin==1) {
+ servo1.attach(9);
+ servo1.write(0);
+// agv=servo1.read();
+// Serial.println(agv);
+ }
+ if (pin==2) {
+ servo2.attach(10);
+ servo2.write(0);
+// agv=servo2.read();
+// Serial.println(agv);
+ }
+
+ }
+ }
+ if (val==100){ //'d'-> detach servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ if (pin==1) {servo1.detach(); }
+ if (pin==2) {servo2.detach(); }
+ }
+ }
+ if (val==119){ //'w'-> write pin
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==49 || val==50) { //servo 1 or 2
+ pin=val-48; //number of the servo
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val>=0 && val<=180){
+ if (pin==1) {
+ servo1.write(val);
+// agv=servo1.read();
+// Serial.println(agv);
+ }
+ if (pin==2) {
+ servo2.write(val);
+// agv=servo2.read();
+// Serial.println(agv);
+ }
+ }
+ }
+ }
+ val=-1;
+
+ }
+
+ //case I -> Interrupt
+ else if (val==73){
+ /* ASKING ACTIVATION OF AN COUNTER */
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read();
+ if (val==97) { //a = activation
+ while (Serial.available()==0) {}; // Waiting char
+ val=Serial.read(); // Read int_number (must be 0 or 1 on UNO / 1 to 5 on MEGA) : int_number set to encoder number
+ pinMode(corresp[val],INPUT); // set interrupt pin as input
+ if (val == 0) {attachInterrupt(val, counter_0_change, RISING);counter_0=0;} //counter INT0
+ else if (val == 1) {attachInterrupt(val, counter_1_change, RISING);counter_1=0;} //counter INT1
+ else if (val == 2) {attachInterrupt(val, counter_2_change, RISING);counter_2=0;} //counter INT2
+ else if (val == 3) {attachInterrupt(val, counter_3_change, RISING);counter_3=0;} //counter INT3
+ else if (val == 4) {attachInterrupt(val, counter_4_change, RISING);counter_4=0;} //counter INT4
+ else if (val == 5) {attachInterrupt(val, counter_5_change, RISING);counter_5=0;} //counter INT5
+ }
+ /* ASKING POSITION OF A COUNTER */
+ if (val==112) { //p = sending counting value
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read() ; //reading next value = counter number
+ if (val==0){ Serial.write((uint8_t*)&counter_0,4); }// asking counter 0
+ else if (val==1){ Serial.write((uint8_t*)&counter_1,4); }// asking counter 1
+ else if (val==2){ Serial.write((uint8_t*)&counter_2,4); }// asking counter 2
+ else if (val==3){ Serial.write((uint8_t*)&counter_3,4); }// asking counter 3
+ else if (val==4){ Serial.write((uint8_t*)&counter_4,4); }// asking counter 4
+ else if (val==5){ Serial.write((uint8_t*)&counter_5,4); }// asking counter 5
+ }
+ /* ASKING RELEASE OF AN INTERRUPT */
+ if (val==114) { //r = release counter
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = counter number
+ detachInterrupt(val); // Detach interrupt on chanel A of counter num=val
+ if (val==0) { counter_0=0;} // Reset counter
+ else if (val==1) { counter_1=0;} // Reset counter
+ else if (val==2) { counter_2=0;} // Reset counter
+ else if (val==3) { counter_3=0;} // Reset counter
+ else if (val==4) { counter_4=0;} // Reset counter
+ else if (val==5) { counter_5=0;} // Reset counter
+ }
+ /* ASKING RESET VALUE OF AN COUNTER */
+ if (val==122) { //z set to zero
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = counter number
+ if (val==0) { counter_0=0;} // Reset counter
+ else if (val==1) { counter_1=0;} // Reset counter
+ else if (val==2) { counter_2=0;} // Reset counter
+ else if (val==3) { counter_3=0;} // Reset counter
+ else if (val==4) { counter_4=0;} // Reset counter
+ else if (val==5) { counter_5=0;} // Reset counter
+ }
+ val=-1;
+
+ }
+
+ //case E -> Encoder
+ else if (val==69){
+ /*Generic encoder functions */
+ while (Serial.available()==0) {};
+ val=Serial.read();
+ /* ASKING ACTIVATION OF AN ENCODER */
+ if (val==97) { //activation
+ while (Serial.available()==0) {}; // Waiting char
+ encoder_num=Serial.read(); // Read int_number (must be 0 or 1 on UNO / 1 to 5 on MEGA) : int_number set to encoer number
+ pinMode(corresp[encoder_num],INPUT); // set interrupt pin as input
+ while (Serial.available()==0) {}; // Waiting char
+ encoder_int2=Serial.read(); // Read int2 (must be a digital PIN with interrupt or not : depends on mode)
+ // no declaration for the moment : wait for encoder mode
+ while (Serial.available()==0) {}; // Waiting char
+ int mode = Serial.read()-48; // Read mode 1 ou 2 (1 counting only rising of chA, 2 counting rising and falling)
+ if (mode == 4) { // mode 4x : 2 cases : chA=pin2 / chB=pin3 or chA=pin3/chB=pin2 [Uno retriction]
+ pinMode(corresp[encoder_int2],INPUT); // set interrupt number as input
+ } else {
+ pinMode(encoder_int2,INPUT); // set pin as input
+ }
+
+ if (encoder_num == 0) { //encoder INT0
+ encoder_0_position=0; // Reset position
+ if (mode==4) {
+ encoder_0_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A0, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B0, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_0_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_0_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_0_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_0_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 1) { //encoder INT1
+ encoder_1_position=0; // Reset position
+ if (mode==4) {
+ encoder_1_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A1, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B1, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_1_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_1_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_1_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_1_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 2) { //encoder INT2
+ encoder_2_position=0; // Reset position
+ if (mode==4) {
+ encoder_2_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A2, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B2, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_2_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_2_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_2_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_2_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 3) { //encoder INT3
+ encoder_3_position=0; // Reset position
+ if (mode==4) {
+ encoder_3_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A3, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B3, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_3_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_3_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_3_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_3_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 4) { //encoder INT4
+ encoder_4_position=0; // Reset position
+ if (mode==4) {
+ encoder_4_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A4, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B4, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_4_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_4_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_4_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_4_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ } else if (encoder_num == 5) { //encoder INT5
+ encoder_5_position=0; // Reset position
+ if (mode==4) {
+ encoder_5_int2=corresp[encoder_int2]; // Save pin of second interruption
+ attachInterrupt(encoder_num , encoder_change_m4_A5, CHANGE); // Attach interrupt on chanel A change
+ attachInterrupt(encoder_int2, encoder_change_m4_B5, CHANGE); // Attach interrupt on chanel B change
+ } else if (mode==2) {
+ encoder_5_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_5_change_m2, CHANGE); // Attach interrupt on chanel A change
+ } else if (mode==1) {
+ encoder_5_int2=encoder_int2;
+ attachInterrupt(encoder_num, encoder_5_change_m1, RISING); // Attach interrupt on chanel A rising
+ }
+ }
+ }
+ /* ASKING POSITION OF AN ENCODER */
+ if (val==112) { //p = sending encoder position
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read() ; //reading next value = encoder number
+ if (val==0){ Serial.write((uint8_t*)&encoder_0_position,4); }// asking encoder 0 position
+ else if (val==1){ Serial.write((uint8_t*)&encoder_1_position,4); }// asking encoder 1 position
+ else if (val==2){ Serial.write((uint8_t*)&encoder_2_position,4); }// asking encoder 2 position
+ else if (val==3){ Serial.write((uint8_t*)&encoder_3_position,4); }// asking encoder 3 position
+ else if (val==4){ Serial.write((uint8_t*)&encoder_4_position,4); }// asking encoder 4 position
+ else if (val==5){ Serial.write((uint8_t*)&encoder_5_position,4); }// asking encoder 5 position
+ }
+ /* ASKING RELEASE OF AN ENCODER */
+ if (val==114) { //r = release encoder
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = encoder number
+ detachInterrupt(val); // Detach interrupt on chanel A of encoder num=val
+ if (val==0) { encoder_0_position=0;encoder_0_int2=-1;} // Reset position
+ else if (val==1) { encoder_1_position=0;encoder_1_int2=-1;} // Reset position
+ else if (val==2) { encoder_2_position=0;encoder_2_int2=-1;} // Reset position
+ else if (val==3) { encoder_3_position=0;encoder_3_int2=-1;} // Reset position
+ else if (val==4) { encoder_4_position=0;encoder_4_int2=-1;} // Reset position
+ else if (val==5) { encoder_5_position=0;encoder_5_int2=-1;} // Reset position
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); // reading next value = encoder number
+ detachInterrupt(val); // Detach interrupt on chanel B of encoder num=val (may be the same if mode=1 or 2)
+ }
+ /* ASKING RESET POSITION OF AN ENCODER */
+ if (val==122) { // z = encoder position to zero
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = encoder number
+ if (val==0) { encoder_0_position=0;} // Reset position
+ else if (val==1) { encoder_1_position=0;} // Reset position
+ else if (val==2) { encoder_2_position=0;} // Reset position
+ else if (val==3) { encoder_3_position=0;} // Reset position
+ else if (val==4) { encoder_4_position=0;} // Reset position
+ else if (val==5) { encoder_5_position=0;} // Reset position
+ }
+ val=-1;
+
+ }
+
+ //case C -> DCmotor init
+ else if(val==67){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* 2nd char = motor number */
+ if (val>48 && val<53) {
+ dcm=val-48;
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the third received value indicates the pin1 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>49 && val<102) {
+ if (dcm==1) dcm1_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==2) dcm2_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==3) dcm3_pin1=val-48;/* calculate motor pin1 */
+ if (dcm==4) dcm4_pin1=val-48;/* calculate motor pin1 */
+ pinMode(val-48, OUTPUT); //set pin as output
+ analogWrite(val-48,0); /* DUTY CYCLE */
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the fourth received value indicates the pin2 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>49 && val<102) {
+ if (dcm==1) dcm1_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==2) dcm2_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==3) dcm3_pin2=val-48;/* calculate motor pin2 */
+ if (dcm==4) dcm4_pin2=val-48;/* calculate motor pin2 */
+ pinMode(val-48, OUTPUT); //set pin as output
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the fifth received value indicates the pin2 number from ascii(2)=50 to ascii(e)=101 */
+ if (val>47 && val<50) {
+ int mode = val-48;
+ if (dcm==1) dcm1_mode=mode;/* calculate motor mode */
+ if (dcm==2) dcm2_mode=mode;/* calculate motor mode */
+ if (dcm==3) dcm3_mode=mode;/* calculate motor mode */
+ if (dcm==4) dcm4_mode=mode;/* calculate motor mode */
+ //initialization of port
+ if(mode==0){//L293
+ if (dcm==1) analogWrite(dcm1_pin2,0); /* DUTY CYCLE */
+ if (dcm==2) analogWrite(dcm2_pin2,0); /* DUTY CYCLE */
+ if (dcm==3) analogWrite(dcm3_pin2,0); /* DUTY CYCLE */
+ if (dcm==4) analogWrite(dcm4_pin2,0); /* DUTY CYCLE */
+ } else if (mode==1) {//L297
+ if (dcm==1) digitalWrite(dcm1_pin2, LOW); /* DIRECTION */
+ if (dcm==2) digitalWrite(dcm2_pin2, LOW); /* DIRECTION */
+ if (dcm==3) digitalWrite(dcm3_pin2, LOW); /* DIRECTION */
+ if (dcm==4) digitalWrite(dcm4_pin2, LOW); /* DIRECTION */
+ }
+ Serial.print("OK"); // tell Scilab that motor s initialization finished
+ // Cette commande sert à rien dans la toolbox de base,
+ // sauf si on prévoit d'ajouter des actions à l'init des moteurs
+ // par exemple chercher la position d'origine !
+ }
+ }
+ }
+ }
+ val=-1;
+
+ }
+
+ //case M -> DC motor
+ else if(val==77){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ /* the second received value indicates the motor number
+ from abs('1')=49, motor1, to abs('4')=52, motor4 */
+ if (val>48 && val<53) {
+ dcm=val-48; /* calculate motor number */
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read();
+ /* the third received value indicates the sens direction or release*/
+ if (val==48 || val ==49){
+ int direction=val-48;
+ while (Serial.available()==0) {}; // Waiting char
+ val = Serial.read(); //reading next value = 0..255
+ if (dcm==1){
+ if(dcm1_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm1_pin1,val);
+ analogWrite(dcm1_pin2,0);
+ } else {
+ analogWrite(dcm1_pin2,val);
+ analogWrite(dcm1_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm1_pin2,LOW);
+ if (direction==1) digitalWrite(dcm1_pin2,HIGH);
+ analogWrite(dcm1_pin1,val);
+ }
+ }
+ if (dcm==2){
+ if(dcm2_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm2_pin1,val);
+ analogWrite(dcm2_pin2,0);
+ } else {
+ analogWrite(dcm2_pin2,val);
+ analogWrite(dcm2_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm2_pin2,LOW);
+ if (direction==1) digitalWrite(dcm2_pin2,HIGH);
+ analogWrite(dcm2_pin1,val);
+ }
+ }
+ if (dcm==3){
+ if(dcm3_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm3_pin1,val);
+ analogWrite(dcm3_pin2,0);
+ } else {
+ analogWrite(dcm3_pin2,val);
+ analogWrite(dcm3_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm3_pin2,LOW);
+ if (direction==1) digitalWrite(dcm3_pin2,HIGH);
+ analogWrite(dcm3_pin1,val);
+ }
+ }
+ if (dcm==4){
+ if(dcm4_mode==0){//L293
+ if(direction==1){
+ analogWrite(dcm4_pin1,val);
+ analogWrite(dcm4_pin2,0);
+ } else {
+ analogWrite(dcm4_pin2,val);
+ analogWrite(dcm4_pin1,0);
+ }
+ } else {//L298
+ if (direction==0) digitalWrite(dcm4_pin2,LOW);
+ if (direction==1) digitalWrite(dcm4_pin2,HIGH);
+ analogWrite(dcm4_pin1,val);
+ }
+ }
+ }
+ if (val==114){//release motor
+ if(dcm==1) {
+ analogWrite(dcm1_pin1,0);
+ if(dcm1_mode==0) analogWrite(dcm1_pin2,0);
+ }
+ if(dcm==2) {
+ analogWrite(dcm2_pin1,0);
+ if(dcm2_mode==0) analogWrite(dcm2_pin2,0);
+ }
+ if(dcm==3) {
+ analogWrite(dcm3_pin1,0);
+ if(dcm3_mode==0) analogWrite(dcm3_pin2,0);
+ }
+ if(dcm==4) {
+ analogWrite(dcm4_pin1,0);
+ if(dcm4_mode==0) analogWrite(dcm4_pin2,0);
+ }
+ }
+
+ }
+ val=-1;
+
+ }
+
+
+ //case R -> Analog reference
+ if(val==82){
+ while (Serial.available()==0) {};
+ val = Serial.read();
+ if (val==48) analogReference(DEFAULT);
+ if (val==49) analogReference(INTERNAL);
+ if (val==50) analogReference(EXTERNAL);
+ if (val==51) Serial.print("v3");
+ val=-1;
+ }
+
+} /* end loop statement */
+
+
+/**************************************/
+// Generic interrupt encoder functions//
+/**************************************/
+//Encoder on INT0
+void encoder_0_change_m1() { //encoder0 mode 1x
+ int chB=digitalRead(encoder_0_int2);
+ if (!chB) { encoder_0_position++;}
+ else { encoder_0_position--; }
+}
+void encoder_0_change_m2() { //encoder0 mode 2x
+ int chB=digitalRead(encoder_0_int2);
+ int chA=digitalRead(corresp[0]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+void encoder_change_m4_A0(){//encoder0 mode 4x chA
+ int chA=digitalRead(corresp[0]);
+ int chB=digitalRead(encoder_0_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+void encoder_change_m4_B0(){//encoder0 mode 4x chB
+ int chA=digitalRead(corresp[0]);
+ int chB=digitalRead(encoder_0_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_0_position++; }
+ else { encoder_0_position--; }
+}
+//Encoder on INT1
+void encoder_1_change_m1() { //encoder1 mode 1x
+ int chB=digitalRead(encoder_1_int2);
+ if (!chB) { encoder_1_position++;}
+ else { encoder_1_position--; }
+}
+void encoder_1_change_m2() { //encoder1 mode 2x
+ int chB=digitalRead(encoder_1_int2);
+ int chA=digitalRead(corresp[1]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+void encoder_change_m4_A1(){//encoder1 mode 4x chA
+ int chA=digitalRead(corresp[1]);
+ int chB=digitalRead(encoder_1_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+void encoder_change_m4_B1(){//encoder1 mode 4x chB
+ int chA=digitalRead(corresp[1]);
+ int chB=digitalRead(encoder_1_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_1_position++; }
+ else { encoder_1_position--; }
+}
+//Encoder on INT2
+void encoder_2_change_m1() { //encoder2 mode 1x
+ int chB=digitalRead(encoder_2_int2);
+ if (!chB) { encoder_2_position++;}
+ else { encoder_2_position--; }
+}
+void encoder_2_change_m2() { //encoder2 mode 2x
+ int chB=digitalRead(encoder_2_int2);
+ int chA=digitalRead(corresp[2]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+void encoder_change_m4_A2(){//encoder2 mode 4x chA
+ int chA=digitalRead(corresp[2]);
+ int chB=digitalRead(encoder_2_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+void encoder_change_m4_B2(){//encoder2 mode 4x chB
+ int chA=digitalRead(corresp[2]);
+ int chB=digitalRead(encoder_2_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_2_position++; }
+ else { encoder_2_position--; }
+}
+//Encoder on INT3
+void encoder_3_change_m1() { //encoder3 mode 1x
+ int chB=digitalRead(encoder_3_int2);
+ if (!chB) { encoder_3_position++;}
+ else { encoder_3_position--; }
+}
+void encoder_3_change_m2() { //encoder3 mode 2x
+ int chB=digitalRead(encoder_3_int2);
+ int chA=digitalRead(corresp[3]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+void encoder_change_m4_A3(){//encoder3 mode 4x chA
+ int chA=digitalRead(corresp[3]);
+ int chB=digitalRead(encoder_3_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+void encoder_change_m4_B3(){//encoder3 mode 4x chB
+ int chA=digitalRead(corresp[3]);
+ int chB=digitalRead(encoder_3_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_3_position++; }
+ else { encoder_3_position--; }
+}
+//Encoder on INT4
+void encoder_4_change_m1() { //encoder4 mode 1x
+ int chB=digitalRead(encoder_4_int2);
+ if (!chB) { encoder_4_position++;}
+ else { encoder_4_position--; }
+}
+void encoder_4_change_m2() { //encoder4 mode 2x
+ int chB=digitalRead(encoder_4_int2);
+ int chA=digitalRead(corresp[4]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+void encoder_change_m4_A4(){//encoder4 mode 4x chA
+ int chA=digitalRead(corresp[4]);
+ int chB=digitalRead(encoder_4_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+void encoder_change_m4_B4(){//encoder4 mode 4x chB
+ int chA=digitalRead(corresp[4]);
+ int chB=digitalRead(encoder_4_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_4_position++; }
+ else { encoder_4_position--; }
+}
+//Encoder on INT5
+void encoder_5_change_m1() { //encoder5 mode 1x
+ int chB=digitalRead(encoder_5_int2);
+ if (!chB) { encoder_5_position++;}
+ else { encoder_5_position--; }
+}
+void encoder_5_change_m2() { //encoder5 mode 2x
+ int chB=digitalRead(encoder_5_int2);
+ int chA=digitalRead(corresp[5]);
+ if ((chA & !chB)|(!chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+void encoder_change_m4_A5(){//encoder5 mode 4x chA
+ int chA=digitalRead(corresp[5]);
+ int chB=digitalRead(encoder_5_int2);
+ if ((chA & !chB)|(!chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+void encoder_change_m4_B5(){//encoder5 mode 4x chB
+ int chA=digitalRead(corresp[5]);
+ int chB=digitalRead(encoder_5_int2);
+ if ((!chA & !chB)|(chA & chB)) { encoder_5_position++; }
+ else { encoder_5_position--; }
+}
+
+/**************************************/
+// Generic interrupt counter functions//
+/**************************************/
+//Counter on INT0
+void counter_0_change() { //counter 0
+ counter_0++;
+}
+//Counter on INT1
+void counter_1_change() { //counter 1
+ counter_1++;
+}
+//Counter on INT2
+void counter_2_change() { //counter 2
+ counter_2++;
+}
+//Counter on INT3
+void counter_3_change() { //counter 3
+ counter_3++;
+}
+//Counter on INT4
+void counter_4_change() { //counter 4
+ counter_4++;
+}
+//Counter on INT5
+void counter_5_change() { //counter 5
+ counter_5++;
+}
+
+
diff --git a/scilab-arduino/tools/linux/DESCRIPTION b/scilab-arduino/tools/linux/DESCRIPTION
new file mode 100644
index 0000000..776d9f2
--- /dev/null
+++ b/scilab-arduino/tools/linux/DESCRIPTION
@@ -0,0 +1,34 @@
+Toolbox: arduino
+
+Title: Arduino
+
+Summary: Arduino Communication through Serial
+
+Version: 1.2
+
+Author: Bruno JOFRET
+
+Maintainer: Bruno Jofret <bruno.jofret@scilab-enterprises.com>
+
+Category: Instruments Control
+
+Entity: Scilab Enterprises
+
+WebSite: http://www.scilab-enterprises.com/
+
+URL: http://atoms.scilab.org/toolboxes/arduino/1.1
+
+License: CeCILL
+
+ScilabVersion: >= 5.4
+
+Depends:
+
+Date: 2013-06-28 14:15:43
+
+Description: This toolbox provides Arduino communication blocks for Xcos.
+
+ Communication is performed through Serial port.
+
+ Only works under Windows platform.
+
diff --git a/scilab-arduino/tools/linux/VERSION b/scilab-arduino/tools/linux/VERSION
new file mode 100644
index 0000000..ea710ab
--- /dev/null
+++ b/scilab-arduino/tools/linux/VERSION
@@ -0,0 +1 @@
+1.2 \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/builder.sce b/scilab-arduino/tools/linux/builder.sce
new file mode 100644
index 0000000..bcf1d38
--- /dev/null
+++ b/scilab-arduino/tools/linux/builder.sce
@@ -0,0 +1,53 @@
+// Copyright (C) 2008 - INRIA
+// Copyright (C) 2009-2011 - DIGITEO
+
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+mode(-1);
+lines(0);
+
+function main_builder()
+
+ TOOLBOX_NAME = "arduino";
+ TOOLBOX_TITLE = "Arduino toolbox";
+ toolbox_dir = get_absolute_file_path("builder.sce");
+
+// Check Scilab's version
+// =============================================================================
+
+ // check minimal version (xcosPal required)
+ if ~isdef('xcosPal') then
+ // and xcos features required
+ error(gettext('Scilab 5.3.2 or more is required.'));
+ end
+
+// Check modules_manager module availability
+// =============================================================================
+
+ if ~isdef('tbx_build_loader') then
+ error(msprintf(gettext('%s module not installed."), 'modules_manager'));
+ end
+
+
+ if ~isdir(toolbox_dir+filesep()+"images"+filesep()+"h5")
+ [status, msg] = mkdir(toolbox_dir+filesep()+"images"+filesep()+"h5");
+ if and(status <> [1 2])
+ error(msg);
+ end
+ end
+
+// Action
+// =============================================================================
+
+ tbx_builder_macros(toolbox_dir);
+ //tbx_builder_src(toolbox_dir);
+ //tbx_builder_gateway(toolbox_dir);
+ tbx_builder_help(toolbox_dir);
+ tbx_build_loader(TOOLBOX_NAME, toolbox_dir);
+ tbx_build_cleaner(TOOLBOX_NAME, toolbox_dir);
+endfunction
+
+if with_module('xcos') then
+ main_builder();
+ clear main_builder; // remove main_builder on stack
+end
diff --git a/scilab-arduino/tools/linux/cleaner.sce b/scilab-arduino/tools/linux/cleaner.sce
new file mode 100644
index 0000000..370c68f
--- /dev/null
+++ b/scilab-arduino/tools/linux/cleaner.sce
@@ -0,0 +1,38 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+// Generated by builder.sce: Please, do not edit this file
+
+try
+ getversion("scilab");
+catch
+ error("Scilab 5.0 or more is required.");
+end
+function perform_clean()
+ root_tlbx = get_absolute_file_path('cleaner.sce');
+
+ if isfile(root_tlbx + '/macros/cleanmacros.sce') then
+ exec(root_tlbx+'/macros/cleanmacros.sce');
+ end
+
+ if isfile(root_tlbx + '/src/cleaner_src.sce') then
+ exec(root_tlbx+'/src/cleaner_src.sce');
+ end
+
+ if isfile(root_tlbx + "/sci_gateway/cleaner_gateway.sce") then
+ exec(root_tlbx + "/sci_gateway/cleaner_gateway.sce");
+ mdelete(root_tlbx + "/sci_gateway/cleaner_gateway.sce");
+ end
+
+ if isfile(root_tlbx + "/help/cleaner_help.sce") then
+ exec(root_tlbx + "/help/cleaner_help.sce");
+ end
+
+ if isfile(root_tlbx + "/loader.sce") then
+ mdelete(root_tlbx + "/loader.sce");
+ end
+
+ if isfile(root_tlbx + "/unloader.sce") then
+ mdelete(root_tlbx + "/unloader.sce");
+ end
+endfunction
+perform_clean();
+clear perform_clean;
diff --git a/scilab-arduino/tools/linux/demos/analog_read.dem.sce b/scilab-arduino/tools/linux/demos/analog_read.dem.sce
new file mode 100644
index 0000000..566bb9e
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/analog_read.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("analog_read.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"potentiometre.zcos")
diff --git a/scilab-arduino/tools/linux/demos/analog_write.dem.sce b/scilab-arduino/tools/linux/demos/analog_write.dem.sce
new file mode 100644
index 0000000..6fe244f
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/analog_write.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("analog_write.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"variateurLED.zcos")
diff --git a/scilab-arduino/tools/linux/demos/arduino.dem.gateway.sce b/scilab-arduino/tools/linux/demos/arduino.dem.gateway.sce
new file mode 100644
index 0000000..15f739e
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/arduino.dem.gateway.sce
@@ -0,0 +1,31 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab Enterprises - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function subdemolist = demo_gateway()
+ demopath = get_absolute_file_path("arduino.dem.gateway.sce");
+
+ subdemolist = ["Potentiometer", "analog_read.dem.sce" ;
+ "Led Push Button", "digital_read_write.dem.sce" ;
+ "LED dimmer", "analog_write.dem.sce" ;
+ "Openloop DC Motor", "motor.dem.sce";
+ "Encoder", "encodeur.dem.sce";
+ "Interrupt", "interrupt_compteur.dem.sce";
+ "Servo position control with PID", "asserv.dem.sce";
+ "ServoMotor", "servomotor.dem.sce";
+ "Examples in documentation", "exemples_livret.dem.gateway.sce";
+ ];
+
+ subdemolist(:,2) = demopath + subdemolist(:,2);
+
+endfunction
+subdemolist = demo_gateway();
+clear demo_gateway; // remove demo_gateway on stack
diff --git a/scilab-arduino/tools/linux/demos/arduino2.dem.sce b/scilab-arduino/tools/linux/demos/arduino2.dem.sce
new file mode 100644
index 0000000..ec1d365
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/arduino2.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino2.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino2.zcos")
diff --git a/scilab-arduino/tools/linux/demos/arduino3.dem.sce b/scilab-arduino/tools/linux/demos/arduino3.dem.sce
new file mode 100644
index 0000000..90d6f04
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/arduino3.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino3.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino3.zcos")
diff --git a/scilab-arduino/tools/linux/demos/arduino4.dem.sce b/scilab-arduino/tools/linux/demos/arduino4.dem.sce
new file mode 100644
index 0000000..8bc9a8c
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/arduino4.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino4.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino4.zcos")
diff --git a/scilab-arduino/tools/linux/demos/arduino5.dem.sce b/scilab-arduino/tools/linux/demos/arduino5.dem.sce
new file mode 100644
index 0000000..6b8ceb4
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/arduino5.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino5.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino5.zcos")
diff --git a/scilab-arduino/tools/linux/demos/arduino7.dem.sce b/scilab-arduino/tools/linux/demos/arduino7.dem.sce
new file mode 100644
index 0000000..ed92328
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/arduino7.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino7.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino7.zcos")
diff --git a/scilab-arduino/tools/linux/demos/arduino8.dem.sce b/scilab-arduino/tools/linux/demos/arduino8.dem.sce
new file mode 100644
index 0000000..2dd5dbf
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/arduino8.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino8.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino8.zcos")
diff --git a/scilab-arduino/tools/linux/demos/arduino9.dem.sce b/scilab-arduino/tools/linux/demos/arduino9.dem.sce
new file mode 100644
index 0000000..7d86a46
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/arduino9.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino9.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino9.zcos")
diff --git a/scilab-arduino/tools/linux/demos/asserv.dem.sce b/scilab-arduino/tools/linux/demos/asserv.dem.sce
new file mode 100644
index 0000000..68d575e
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/asserv.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("asserv.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"asservissement.zcos")
diff --git a/scilab-arduino/tools/linux/demos/clignotement_led.dem.sce b/scilab-arduino/tools/linux/demos/clignotement_led.dem.sce
new file mode 100644
index 0000000..165e3d0
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/clignotement_led.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("clignotement_led.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"MAXPID_Asservi.xcos")
diff --git a/scilab-arduino/tools/linux/demos/digital_read_write.dem.sce b/scilab-arduino/tools/linux/demos/digital_read_write.dem.sce
new file mode 100644
index 0000000..60e1e77
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/digital_read_write.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("digital_read_write.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"boutonpoussoir.zcos")
diff --git a/scilab-arduino/tools/linux/demos/encodeur.dem.sce b/scilab-arduino/tools/linux/demos/encodeur.dem.sce
new file mode 100644
index 0000000..eeec86a
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/encodeur.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("encodeur.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"encodeur.zcos")
diff --git a/scilab-arduino/tools/linux/demos/exemples_livret.dem.gateway.sce b/scilab-arduino/tools/linux/demos/exemples_livret.dem.gateway.sce
new file mode 100644
index 0000000..68d9517
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/exemples_livret.dem.gateway.sce
@@ -0,0 +1,29 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab Enterprises - Vincent COUVERT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function subdemolist = demo_gateway()
+ demopath = get_absolute_file_path("exemples_livret.dem.gateway.sce");
+
+ subdemolist = ["Example 1", "arduino2.dem.sce" ;
+ "Example 2", "arduino3.dem.sce" ;
+ "Example 3", "arduino4.dem.sce" ;
+ "Example 4", "arduino5.dem.sce" ;
+ "Example 5", "arduino7.dem.sce" ;
+ "Example 6", "arduino8.dem.sce" ;
+ "Example 7", "arduino9.dem.sce" ;
+ ];
+
+ subdemolist(:,2) = demopath + subdemolist(:,2);
+
+endfunction
+subdemolist = demo_gateway();
+clear demo_gateway; // remove demo_gateway on stack
diff --git a/scilab-arduino/tools/linux/demos/interrupt_compteur.dem.sce b/scilab-arduino/tools/linux/demos/interrupt_compteur.dem.sce
new file mode 100644
index 0000000..c78c5c1
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/interrupt_compteur.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("interrupt_compteur.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"interrupt_compteur.zcos")
diff --git a/scilab-arduino/tools/linux/demos/motor.dem.sce b/scilab-arduino/tools/linux/demos/motor.dem.sce
new file mode 100644
index 0000000..66c0ea5
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/motor.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("motor.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"moteurBO.zcos")
diff --git a/scilab-arduino/tools/linux/demos/servomotor.dem.sce b/scilab-arduino/tools/linux/demos/servomotor.dem.sce
new file mode 100644
index 0000000..7ed1b13
--- /dev/null
+++ b/scilab-arduino/tools/linux/demos/servomotor.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("servomotor.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"servomoteur.zcos")
diff --git a/scilab-arduino/tools/linux/etc/arduino.quit b/scilab-arduino/tools/linux/etc/arduino.quit
new file mode 100644
index 0000000..9693278
--- /dev/null
+++ b/scilab-arduino/tools/linux/etc/arduino.quit
@@ -0,0 +1,31 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+clear arduinolib ;
+try
+ // ulink previous function with same name
+[bOK, ilib] = c_link('open_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('close_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('write_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('status_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('read_serial');
+if bOK then
+ ulink(ilib);
+end
+
+xcosPalDelete('Arduino');
+end
diff --git a/scilab-arduino/tools/linux/etc/arduino.start b/scilab-arduino/tools/linux/etc/arduino.start
new file mode 100644
index 0000000..b68b44b
--- /dev/null
+++ b/scilab-arduino/tools/linux/etc/arduino.start
@@ -0,0 +1,117 @@
+// Copyright (C) 2012 - Scilab Enterprises
+
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function arduinolib = startModule()
+
+ mprintf("Start Arduino\n");
+ defaultpath = pwd();
+ if isdef("arduinolib") then
+ warning("Arduino toolbox library is already loaded");
+ return;
+ end
+
+// if win64() then
+// warning("Arduino toolbox library is only available for scilab 32 bits");
+// return;
+// end
+
+// check minimal version (xcosPal required)
+// =============================================================================
+ if ~isdef('xcosPal') then
+ // and xcos features required
+ error(gettext('Scilab 5.3.2 or more is required.'));
+ end
+// =============================================================================
+// force to load some libraries (dependancies)
+ loadScicos();
+// =============================================================================
+ etc_tlbx = get_absolute_file_path("arduino.start");
+ etc_tlbx = getshortpathname(etc_tlbx);
+ root_tlbx = strncpy( etc_tlbx, length(etc_tlbx)-length("\etc\") );
+
+// Load functions library
+// =============================================================================
+ mprintf("\tLoad macros\n");
+ pathmacros = pathconvert( root_tlbx ) + "macros" + filesep();
+ arduinolib = lib(pathmacros);
+
+// Load serial dll and link
+// =============================================================================
+//if getos() == "Windows"
+ mprintf("\tLoad serial dll\n");
+ pathdll = pathconvert( root_tlbx ) + "src" + filesep();
+ chdir(pathdll)
+ exec('loader.sce');
+ chdir('..')
+//end
+
+// Add blocks to the Xcos palette
+// =============================================================================
+ mprintf("\tLoad palette\n");
+ pal = xcosPal("Arduino");
+
+ sous_pal=["Configuration" "Digital" "Analog" "Motors"]
+
+ sous_blocks=cell(size(sous_pal));
+
+ sous_blocks(1).entries=["ARDUINO_SETUP" "TIME_SAMPLE" "ARDUINO_SCOPE"]
+ sous_blocks(2).entries=["DIGITAL_READ_SB" "DIGITAL_WRITE_SB" "ENCODER_SB" "INTERRUPT_SB"]
+ sous_blocks(3).entries=["ANALOG_READ_SB" "ANALOG_WRITE_SB" ]
+ sous_blocks(4).entries=["DCMOTOR_SB" "SERVO_WRITE_SB" ]
+
+// blocks = ["ARDUINO_SETUP" "TIME_SAMPLE" "ARDUINO_ANALOG_READ" "ARDUINO_ANALOG_WRITE" "ARDUINO_DCMOTOR" ...
+// "ARDUINO_DIGITAL_READ" "ARDUINO_DIGITAL_WRITE" "ARDUINO_ENCODER" ...
+// "ARDUINO_SERVO_READ" "ARDUINO_SERVO_WRITE" ...
+// "ARDUINO_STEPPER" "ARDUINO_WRITE" ];
+
+ for p=1:size(sous_pal,2)
+ local_pal = xcosPal(sous_pal(p));
+ blocks=sous_blocks(p).entries;
+ for i=1:size(blocks, "*")
+ h5 = ls(root_tlbx + "/images/h5/" + blocks(i) + "." + ["sod" "h5"]);
+ gif = ls(root_tlbx + "/images/gif/" + blocks(i) + "." + ["png" "jpg" "gif"]);
+ svg = ls(root_tlbx + "/images/svg/" + blocks(i) + "." + ["png" "jpg" "gif" "svg"]);
+
+ local_pal = xcosPalAddBlock(local_pal, h5(1), gif(1), svg(1));
+ end
+
+ if ~xcosPalAdd(local_pal,'Arduino') then
+ error(msprintf(gettext("%s: Unable to export %s.\n"), "arduino.start", "pal"));
+ end
+
+ end
+
+// Load and add help chapter
+// =============================================================================
+ if or(getscilabmode() == ["NW";"STD"]) then
+ mprintf("\tLoad help\n");
+ path_addchapter = pathconvert(root_tlbx+"/jar");
+ if ( isdir(path_addchapter) <> [] ) then
+ add_help_chapter("Arduino", path_addchapter, %F);
+ end
+ end
+
+// Load demos
+// =============================================================================
+ if or(getscilabmode() == ["NW";"STD"]) then
+ mprintf("\tLoad demos\n");
+ pathdemos = pathconvert(root_tlbx+"/demos/arduino.dem.gateway.sce", %F, %T);
+ add_demo("Arduino", pathdemos);
+ end
+
+// Display version
+fd=mopen(root_tlbx+filesep()+"VERSION");
+version=mgetl(fd,-1);
+mclose(fd);
+mprintf("\tArduino Version: "+version);
+
+chdir(defaultpath);
+
+endfunction
+
+if with_module('xcos') then
+ arduinolib = startModule();
+ clear startModule; // remove startModule on stack
+end
+
diff --git a/scilab-arduino/tools/linux/examples/Arduino1.zcos b/scilab-arduino/tools/linux/examples/Arduino1.zcos
new file mode 100644
index 0000000..870db84
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/Arduino1.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/Arduino2.zcos b/scilab-arduino/tools/linux/examples/Arduino2.zcos
new file mode 100644
index 0000000..1d85a80
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/Arduino2.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/Arduino3.zcos b/scilab-arduino/tools/linux/examples/Arduino3.zcos
new file mode 100644
index 0000000..8a73f5f
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/Arduino3.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/Arduino4.zcos b/scilab-arduino/tools/linux/examples/Arduino4.zcos
new file mode 100644
index 0000000..551b10b
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/Arduino4.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/Arduino5.zcos b/scilab-arduino/tools/linux/examples/Arduino5.zcos
new file mode 100644
index 0000000..b2f8360
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/Arduino5.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/Arduino6.zcos b/scilab-arduino/tools/linux/examples/Arduino6.zcos
new file mode 100644
index 0000000..2c3139e
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/Arduino6.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/Arduino7.zcos b/scilab-arduino/tools/linux/examples/Arduino7.zcos
new file mode 100644
index 0000000..9c0f370
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/Arduino7.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/Arduino8.zcos b/scilab-arduino/tools/linux/examples/Arduino8.zcos
new file mode 100644
index 0000000..c1bd62c
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/Arduino8.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/Arduino9.zcos b/scilab-arduino/tools/linux/examples/Arduino9.zcos
new file mode 100644
index 0000000..b2035e3
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/Arduino9.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/asservissement.zcos b/scilab-arduino/tools/linux/examples/asservissement.zcos
new file mode 100644
index 0000000..7032631
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/asservissement.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/asservpos.zcos b/scilab-arduino/tools/linux/examples/asservpos.zcos
new file mode 100644
index 0000000..a9fdcd4
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/asservpos.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/boutonpoussoir.zcos b/scilab-arduino/tools/linux/examples/boutonpoussoir.zcos
new file mode 100644
index 0000000..4602922
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/boutonpoussoir.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/encodeur.zcos b/scilab-arduino/tools/linux/examples/encodeur.zcos
new file mode 100644
index 0000000..ce3ba95
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/encodeur.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/interrupt_compteur.zcos b/scilab-arduino/tools/linux/examples/interrupt_compteur.zcos
new file mode 100644
index 0000000..d3bb15e
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/interrupt_compteur.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/moteurBO.zcos b/scilab-arduino/tools/linux/examples/moteurBO.zcos
new file mode 100644
index 0000000..1f0ff99
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/moteurBO.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/potentiometre.zcos b/scilab-arduino/tools/linux/examples/potentiometre.zcos
new file mode 100644
index 0000000..57e1a55
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/potentiometre.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/servomoteur.zcos b/scilab-arduino/tools/linux/examples/servomoteur.zcos
new file mode 100644
index 0000000..d08cbcf
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/servomoteur.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/examples/variateurLED.zcos b/scilab-arduino/tools/linux/examples/variateurLED.zcos
new file mode 100644
index 0000000..01747f5
--- /dev/null
+++ b/scilab-arduino/tools/linux/examples/variateurLED.zcos
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/builder_help.sce b/scilab-arduino/tools/linux/help/builder_help.sce
new file mode 100644
index 0000000..f8e9e73
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/builder_help.sce
@@ -0,0 +1,3 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+tbx_builder_help_lang(["en_US"], get_absolute_file_path("builder_help.sce"));
diff --git a/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB.xml b/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB.xml
new file mode 100644
index 0000000..991e540
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ANALOG_READ_SB">
+<refnamediv>
+ <refname>ANALOG_READ_SB</refname>
+ <refpurpose>Analog ports of an Arduino board which allow the acquisition of an analog input</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ANALOG_READ_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ANALOG_READ_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ANALOG_READ_SB">Analog ports of an Arduino board which allow the acquisition of an analog input</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ANALOG_READ_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ANALOG_READ_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ANALOG_READ_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ANALOG_READ_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ANALOG_READ_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ANALOG_READ_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ANALOG_READ_SB">
+ <title>Description</title>
+<para> Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_ANALOG_READ_SB">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_READ_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The port number of 0-5 must be specified for the UNO card, 0-15 for a MEGA board. </para>
+<para> The card number can not be changed at this time. </para>
+<para> There would be no verification routine for the setting, please refer to the specification of your Arduino board to put a correct value. </para>
+
+</refsection>
+<refsection id="Example1_ANALOG_READ_SB">
+ <title>Example 1</title>
+<para> The following example shows the use of the block in connecting with an angular potentiometer which signal pin is connected to port 2 of Arduino board. The other two pins of the potentiometer are connected to ground (GND) and the 5 Volt the card directly. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_READ_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ANALOG_READ_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB_dialogbox.png
new file mode 100644
index 0000000..0a4a823
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB_help.tst b/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB_help.tst
new file mode 100644
index 0000000..7ba080c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+ANALOG_READ_SB
+
+\palette
+Arduino
+
+\smalldescription
+Analog ports of an Arduino board which allow the acquisition of an analog input
+
+\description
+Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+\image{ANALOG_READ_SB_dialogbox.png}
+The port number of 0-5 must be specified for the UNO card, 0-15 for a MEGA board.
+The card number can not be changed at this time.
+There would be no verification routine for the setting, please refer to the specification of your Arduino board to put a correct value.
+
+\example1
+The following example shows the use of the block in connecting with an angular potentiometer which signal pin is connected to port 2 of Arduino board. The other two pins of the potentiometer are connected to ground (GND) and the 5 Volt the card directly.
+\image{ANALOG_READ_example.png}
+
+\seealso
+ANALOG_WRITE_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_example.png b/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_example.png
new file mode 100644
index 0000000..4df93cf
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_example.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB.xml b/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB.xml
new file mode 100644
index 0000000..0d191b8
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ANALOG_WRITE_SB">
+<refnamediv>
+ <refname>ANALOG_WRITE_SB</refname>
+ <refpurpose>Analog outputs which allow generation of analog voltage on a given port</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ANALOG_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ANALOG_WRITE_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">Analog outputs which allow generation of analog voltage on a given port</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ANALOG_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ANALOG_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ANALOG_WRITE_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ANALOG_WRITE_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ANALOG_WRITE_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ANALOG_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ANALOG_WRITE_SB">
+ <title>Description</title>
+<para> The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage. </para>
+<para> The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256). </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_ANALOG_WRITE_SB">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_WRITE_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The port number must be 3, 5, 6, 9, 10, 11 for UNO card (PWM ports with symbol ~) and must be 1 to 13 or 44 to 46 for the MEGA board. Using other ports would either cause the output to 0 or 5V according to the value sent. </para>
+<para> The card number can not be changed at this time. </para>
+
+</refsection>
+<refsection id="Example1_ANALOG_WRITE_SB">
+ <title>Example 1</title>
+<para> The following example shows the use of the block to control the brightness of a LED by a potentiometer. The LED (in series with a resistor with proper ohmic) is connected to ground (GND) and to the port 10 while potentiometer is connected to the analog input A2. As the analog input is 10 bits while the PWM is bits, it is necessary to add a gain to convert 0 - 1023 to 0 - 255. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_WRITE_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ANALOG_WRITE_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..febf848
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB_help.tst b/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB_help.tst
new file mode 100644
index 0000000..bd305ed
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+ANALOG_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Analog outputs which allow generation of analog voltage on a given port
+
+\description
+The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage.
+The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+\image{ANALOG_WRITE_SB_dialogbox.png}
+The port number must be 3, 5, 6, 9, 10, 11 for UNO card (PWM ports with symbol ~) and must be 1 to 13 or 44 to 46 for the MEGA board. Using other ports would either cause the output to 0 or 5V according to the value sent.
+The card number can not be changed at this time.
+
+\example1
+The following example shows the use of the block to control the brightness of a LED by a potentiometer. The LED (in series with a resistor with proper ohmic) is connected to ground (GND) and to the port 10 while potentiometer is connected to the analog input A2. As the analog input is 10 bits while the PWM is bits, it is necessary to add a gain to convert 0 - 1023 to 0 - 255.
+\image{ANALOG_WRITE_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_exemple.png b/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_exemple.png
new file mode 100644
index 0000000..8b84651
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP.xml b/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP.xml
new file mode 100644
index 0000000..d5654d4
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ARDUINO_SETUP">
+<refnamediv>
+ <refname>ARDUINO_SETUP</refname>
+ <refpurpose>This block is used to configure the serial port setting for communication between the Arduino and Scilab.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ARDUINO_SETUP.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ARDUINO_SETUP">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ARDUINO_SETUP">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ARDUINO_SETUP">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ARDUINO_SETUP">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ARDUINO_SETUP">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ARDUINO_SETUP">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ARDUINO_SETUP">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ARDUINO_SETUP">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ARDUINO_SETUP">
+ <title>Description</title>
+<para> This block is <emphasis role="bold">compulsory</emphasis> to be placed in the xcos model to use this toolbox. </para>
+<para> It defines the communication setting between the Arduino board and Xcos. </para>
+<para> The port setting can be determined by running the Arduino application from the menu item "Tools / Serial Port". The port number can also be changed by going to computer's "Device Manager / Ports (Advanced options)". </para>
+<para> Currently it is not possible to use multiple Arduino boards. </para>
+
+<para> The toolbox can be used only on Windows for now. </para>
+
+<para> <emphasis role="bold">Before using Arduino toolbox, it is necessary to upload the program "toolbox_arduino.ino" to the board, which is available at:</emphasis> http://www.demosciences.fr </para>
+
+
+</refsection>
+<refsection id="Dialogbox_ARDUINO_SETUP">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The communication port must be specified (between 2 and 9 or an error message would appear). </para>
+<para> The card number Arduino must be equal to 1 now (or an error message would appear) </para>
+
+</refsection>
+<refsection id="Example1_ARDUINO_SETUP">
+ <title>Example 1</title>
+<para> The example below shows the use of the block to blink the LED at port 13 of the UNO card set on the serial port 5. All blocks are using the default settings, except for the PULSE block from the source palette where the phase shift is changed to 0. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ARDUINO_SETUP">
+ <title>See Also</title>
+ <para>
+ <link linkend="TIME_SAMPLE">TIME_SAMPLE</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_dialogbox.png
new file mode 100644
index 0000000..715ec38
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_example.png b/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_example.png
new file mode 100644
index 0000000..22f0da8
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_example.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_help.tst b/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_help.tst
new file mode 100644
index 0000000..f7de181
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP_help.tst
@@ -0,0 +1,31 @@
+\name
+ARDUINO_SETUP
+
+\palette
+Arduino
+
+\smalldescription
+This block is used to configure the serial port setting for communication between the Arduino and Scilab.
+
+\description
+This block is \bold{compulsory} to be placed in the xcos model to use this toolbox.
+It defines the communication setting between the Arduino board and Xcos.
+The port setting can be determined by running the Arduino application from the menu item "Tools / Serial Port". The port number can also be changed by going to computer's "Device Manager / Ports (Advanced options)".
+Currently it is not possible to use multiple Arduino boards.
+
+The toolbox can be used only on Windows for now.
+
+\bold{Before using Arduino toolbox, it is necessary to upload the program "toolbox_arduino.ino" to the board, which is available at:} http://www.demosciences.fr
+
+
+\dialogbox
+\image{ARDUINO_SETUP_dialogbox.png}
+The communication port must be specified (between 2 and 9 or an error message would appear).
+The card number Arduino must be equal to 1 now (or an error message would appear)
+
+\example1
+The example below shows the use of the block to blink the LED at port 13 of the UNO card set on the serial port 5. All blocks are using the default settings, except for the PULSE block from the source palette where the phase shift is changed to 0.
+\image{ARDUINO_SETUP_example.png}
+
+\seealso
+TIME_SAMPLE
diff --git a/scilab-arduino/tools/linux/help/en_US/ASSERV_POS_exemple.png b/scilab-arduino/tools/linux/help/en_US/ASSERV_POS_exemple.png
new file mode 100644
index 0000000..2ddb447
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ASSERV_POS_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB.tst b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB.tst
new file mode 100644
index 0000000..c14ffbe
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB.tst
@@ -0,0 +1,42 @@
+\name
+DCMOTOR_SB
+
+\palette
+Arduino
+
+\smalldescription
+This block is used to control a DC motor
+
+\description
+The DCMOTOR block is used to control one or more DC motors. Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+This is why the block is used to select the type of card or H-bridge used and depending on the choice, a different menu would pop up to for the device dependent setting (port numbers or motor number ...)
+Remember that the PWM is 8-bit (0 to 255).
+The input of the block could accept any value, but it would saturate at +- 255.
+Do note that the sampling rate is 8 ms minimum for this block.
+
+\dialogbox
+The block has two menus.
+The first lets you choose the type of card used:
+1 for official Motorshield Rev3 available on the website arduino.cc card
+2 H-bridge L298 using PWM and a current sense
+3 H-bridge L293 using two PWM
+The card number can not be changed at this time.
+\image{DCMOTOR_SB_dialogbox1.png}
+
+The second menu is for the setting of the selected card used
+For Motorshield channel number 1 or 2 correspond to the motor A or B on the Shield.
+
+\image{DCMOTOR_SB_dialogbox2.png}
+For L298, one informs the port number specification of meaning (any digital port), the number of the port for PWM speed (3,5,6,9,10,11) and the number of motor-driven (limited 1 to 4)
+\image{DCMOTOR_SB_dialogbox3.png}
+For L293, the setting are 2 PWM port and the motor number (1 to 3)
+\image{DCMOTOR_SB_dialogbox4.png}
+
+\example1
+The following example shows the of the motor unit associated with a potentiometer. When the knob is in the middle position, the motor is not moving while when the knob is turned in one direction or the other, the motor is moving faster or slower in one direction or the other.
+A gain block is used to convert the 10 bits analog input to the 8 bits motor output. (or the input of this block)
+\image{DCMOTOR_exemple.png}
+
+\seealso
+ENCODER_SB
+SERVO_WRITE_SB
diff --git a/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB.xml b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB.xml
new file mode 100644
index 0000000..f5e51dc
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DCMOTOR_SB">
+<refnamediv>
+ <refname>DCMOTOR_SB</refname>
+ <refpurpose>This block is used to control a DC motor </refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DCMOTOR_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DCMOTOR_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DCMOTOR_SB">This block is used to control a DC motor </link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DCMOTOR_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DCMOTOR_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DCMOTOR_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DCMOTOR_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DCMOTOR_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DCMOTOR_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DCMOTOR_SB">
+ <title>Description</title>
+<para> The DCMOTOR block is used to control one or more DC motors. Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available. </para>
+<para> This is why the block is used to select the type of card or H-bridge used and depending on the choice, a different menu would pop up to for the device dependent setting (port numbers or motor number ...) </para>
+<para> Remember that the PWM is 8-bit (0 to 255). </para>
+<para> The input of the block could accept any value, but it would saturate at +- 255. </para>
+<para> Do note that the sampling rate is 8 ms minimum for this block. </para>
+<para> </para>
+</refsection>
+<refsection id="Dialogbox_DCMOTOR_SB">
+ <title>Dialog box</title>
+<para> The block has two menus. </para>
+<para> The first lets you choose the type of card used: </para>
+<para> 1 for official Motorshield Rev3 available on the website arduino.cc card </para>
+<para> 2 H-bridge L298 using PWM and a current sense </para>
+<para> 3 H-bridge L293 using two PWM </para>
+<para> The card number can not be changed at this time. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>
+
+<para> The second menu is for the setting of the selected card used </para>
+<para> For Motorshield channel number 1 or 2 correspond to the motor A or B on the Shield. </para>
+
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox2.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> For L298, one informs the port number specification of meaning (any digital port), the number of the port for PWM speed (3,5,6,9,10,11) and the number of motor-driven (limited 1 to 4) </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox3.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> For L293, the setting are 2 PWM port and the motor number (1 to 3) </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox4.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Example1_DCMOTOR_SB">
+ <title>Example 1</title>
+<para> The following example shows the of the motor unit associated with a potentiometer. When the knob is in the middle position, the motor is not moving while when the knob is turned in one direction or the other, the motor is moving faster or slower in one direction or the other. </para>
+<para> A gain block is used to convert the 10 bits analog input to the 8 bits motor output. (or the input of this block) </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DCMOTOR_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ENCODER_SB">ENCODER_SB</link>
+ </para>
+ <para>
+ <link linkend="SERVO_WRITE_SB">SERVO_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox1.png b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox1.png
new file mode 100644
index 0000000..5bf8920
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox2.png b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox2.png
new file mode 100644
index 0000000..4d2a7b4
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox3.png b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox3.png
new file mode 100644
index 0000000..34a15d0
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox3.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox4.png b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox4.png
new file mode 100644
index 0000000..c80e6c3
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB_dialogbox4.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/DCMOTOR_exemple.png b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_exemple.png
new file mode 100644
index 0000000..24e50fe
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DCMOTOR_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB.xml b/scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB.xml
new file mode 100644
index 0000000..81a5cda
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DIGITAL_READ_SB">
+<refnamediv>
+ <refname>DIGITAL_READ_SB</refname>
+ <refpurpose>Allows to receive a logical value 0 or 1 on a given port.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DIGITAL_READ_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DIGITAL_READ_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DIGITAL_READ_SB">Allows to receive a logical value 0 or 1 on a given port.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DIGITAL_READ_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DIGITAL_READ_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DIGITAL_READ_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DIGITAL_READ_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DIGITAL_READ_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DIGITAL_READ_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DIGITAL_READ_SB">
+ <title>Description</title>
+<para> The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component. </para>
+<para> To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage. </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_DIGITAL_READ_SB">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_READ_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The digital port number is between 2 and 53, chosen based on his Arduino. </para>
+<para> The card number can not be changed at this time. </para>
+
+</refsection>
+<refsection id="Example1_DIGITAL_READ_SB">
+ <title>Example 1</title>
+<para> The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DIGITAL_READ_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB_dialogbox.png
new file mode 100644
index 0000000..244b37d
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB_help.tst b/scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB_help.tst
new file mode 100644
index 0000000..39ce410
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+DIGITAL_READ_SB
+
+\palette
+Arduino
+
+\smalldescription
+Allows to receive a logical value 0 or 1 on a given port.
+
+\description
+The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+\image{DIGITAL_READ_SB_dialogbox.png}
+The digital port number is between 2 and 53, chosen based on his Arduino.
+The card number can not be changed at this time.
+
+\example1
+The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up.
+\image{DIGITAL_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+ANALOG_WRITE_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB.xml b/scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB.xml
new file mode 100644
index 0000000..b079f4c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DIGITAL_WRITE_SB">
+<refnamediv>
+ <refname>DIGITAL_WRITE_SB</refname>
+ <refpurpose>Allows to send a logical value 0 or 1 on a given port.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DIGITAL_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DIGITAL_WRITE_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">Allows to send a logical value 0 or 1 on a given port.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DIGITAL_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DIGITAL_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DIGITAL_WRITE_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DIGITAL_WRITE_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DIGITAL_WRITE_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DIGITAL_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DIGITAL_WRITE_SB">
+ <title>Description</title>
+<para> The UNO card has a set of logical ports (digital) which are used for writing or reading data from a component. </para>
+<para> To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage. </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+<para> </para>
+</refsection>
+<refsection id="Dialogbox_DIGITAL_WRITE_SB">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_WRITE_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The digital port number is between 2 and 53, chosen based on his Arduino. </para>
+<para> The card number can not be changed at this time. </para>
+
+</refsection>
+<refsection id="Example1_DIGITAL_WRITE_SB">
+ <title>Example 1</title>
+<para> The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DIGITAL_WRITE_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..4abc644
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB_help.tst b/scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB_help.tst
new file mode 100644
index 0000000..742a23f
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+DIGITAL_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Allows to send a logical value 0 or 1 on a given port.
+
+\description
+The UNO card has a set of logical ports (digital) which are used for writing or reading data from a component.
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+\image{DIGITAL_WRITE_SB_dialogbox.png}
+The digital port number is between 2 and 53, chosen based on his Arduino.
+The card number can not be changed at this time.
+
+\example1
+The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up.
+\image{DIGITAL_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+ANALOG_WRITE_SB
+DIGITAL_READ_SB
diff --git a/scilab-arduino/tools/linux/help/en_US/DIGITAL_exemple.png b/scilab-arduino/tools/linux/help/en_US/DIGITAL_exemple.png
new file mode 100644
index 0000000..22832fa
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/DIGITAL_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/ENCODER_SB.tst b/scilab-arduino/tools/linux/help/en_US/ENCODER_SB.tst
new file mode 100644
index 0000000..33fbfef
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ENCODER_SB.tst
@@ -0,0 +1,42 @@
+\name
+ENCODER_SB
+
+\palette
+Arduino
+
+\smalldescription
+Used to read encoder signal from one or more channels.
+
+\description
+Many sensors (incremental encoder, Hall sensor ...) return a pulses signal for which one wishes to count the edges. The block is used to perform this operation for one or two encoders. It uses the interrupts inputs available on the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment or decrement a counter.
+Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and from 18 to 21. It is necessary to use an additional signal to determine the direction of the encoder.
+Thus, the block offers the possibility to read from a quadrature encoder. It is then necessary that the two channels are wired to the interrupt and the rising and falling edges are taken into account on two channels pins (the precision is increased and can also determine the direction).
+On the contrary, if a mode other than the quadrature is used, only one pin must be connected to the interrupt, the other pin can be connected to a conventional digital input.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+
+The block has two menus.
+The first allows you to select the mode on how to read the signal from the encoder (choice of 1, 2 or 4).
+The card number can not be changed at this time.
+\image{ENCODER_SB_dialogbox1.png}
+Mode 1 uses a one interrupt and any digital channel to determine the direction. Only the rising edges of the channel interrupt is taken into account in this mode.
+Mode 2 uses the same channels, but both the rising and falling edges of the channel interrupt is taken into account.
+Mode 4 corresponds to the quadrature mode. In this mode, the rising and falling edges of the two channels are taken into account.
+
+The second menu allows you to specify the ports used in the mode selected:
+\image{ENCODER_SB_dialogbox2.png}
+mode 1x : Declaration of interrupt pins 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and a declaration of any digital pin 2 to 13 for a UNO card (2 to 53 MEGA)
+mode 2x : Same as above.
+mode 4x : Mandatory use of two interrupt pins 2 and 3 on a UNO card. 2 from pin 2, 3 or from 18 to 21 for MEGA.
+
+\example1
+The following example shows the use of the block in the case of a motor whose position is noted over time and speed from the signal from the encoder. The 4x mode was chosen to improve the accuracy. The setting of the motor is the same as that of motor example.
+\image{ENCODER_exemple.png}
+
+\example2
+The following example shows a position control using information from the encoder for comparison with a reference variable. A PI controller is used to correct the difference and outputting the control voltage for the DC motor.
+\image{ASSERV_POS_exemple.png}
+
+\seealso
+DCMOTOR_SB
diff --git a/scilab-arduino/tools/linux/help/en_US/ENCODER_SB.xml b/scilab-arduino/tools/linux/help/en_US/ENCODER_SB.xml
new file mode 100644
index 0000000..d054e97
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ENCODER_SB.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ENCODER_SB">
+<refnamediv>
+ <refname>ENCODER_SB</refname>
+ <refpurpose>Used to read encoder signal from one or more channels.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ENCODER_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ENCODER_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ENCODER_SB">Used to read encoder signal from one or more channels.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ENCODER_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ENCODER_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ENCODER_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ENCODER_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example2_ENCODER_SB">Example 2</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ENCODER_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ENCODER_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ENCODER_SB">
+ <title>Description</title>
+<para> Many sensors (incremental encoder, Hall sensor ...) return a pulses signal for which one wishes to count the edges. The block is used to perform this operation for one or two encoders. It uses the interrupts inputs available on the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment or decrement a counter. </para>
+<para> Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and from 18 to 21. It is necessary to use an additional signal to determine the direction of the encoder. </para>
+<para> Thus, the block offers the possibility to read from a quadrature encoder. It is then necessary that the two channels are wired to the interrupt and the rising and falling edges are taken into account on two channels pins (the precision is increased and can also determine the direction). </para>
+<para> On the contrary, if a mode other than the quadrature is used, only one pin must be connected to the interrupt, the other pin can be connected to a conventional digital input. </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_ENCODER_SB">
+ <title>Dialog box</title>
+
+<para> The block has two menus. </para>
+<para> The first allows you to select the mode on how to read the signal from the encoder (choice of 1, 2 or 4). </para>
+<para> The card number can not be changed at this time. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Mode 1 uses a one interrupt and any digital channel to determine the direction. Only the rising edges of the channel interrupt is taken into account in this mode. </para>
+<para> Mode 2 uses the same channels, but both the rising and falling edges of the channel interrupt is taken into account. </para>
+<para> Mode 4 corresponds to the quadrature mode. In this mode, the rising and falling edges of the two channels are taken into account. </para>
+
+<para> The second menu allows you to specify the ports used in the mode selected: </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_SB_dialogbox2.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> mode 1x : Declaration of interrupt pins 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and a declaration of any digital pin 2 to 13 for a UNO card (2 to 53 MEGA) </para>
+<para> mode 2x : Same as above. </para>
+<para> mode 4x : Mandatory use of two interrupt pins 2 and 3 on a UNO card. 2 from pin 2, 3 or from 18 to 21 for MEGA. </para>
+
+</refsection>
+<refsection id="Example1_ENCODER_SB">
+ <title>Example 1</title>
+<para> The following example shows the use of the block in the case of a motor whose position is noted over time and speed from the signal from the encoder. The 4x mode was chosen to improve the accuracy. The setting of the motor is the same as that of motor example. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Example2_ENCODER_SB">
+ <title>Example 2</title>
+<para> The following example shows a position control using information from the encoder for comparison with a reference variable. A PI controller is used to correct the difference and outputting the control voltage for the DC motor. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ASSERV_POS_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ENCODER_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="DCMOTOR_SB">DCMOTOR_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/ENCODER_SB_dialogbox1.png b/scilab-arduino/tools/linux/help/en_US/ENCODER_SB_dialogbox1.png
new file mode 100644
index 0000000..8dbe19c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ENCODER_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/ENCODER_SB_dialogbox2.png b/scilab-arduino/tools/linux/help/en_US/ENCODER_SB_dialogbox2.png
new file mode 100644
index 0000000..b63878e
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ENCODER_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/ENCODER_exemple.png b/scilab-arduino/tools/linux/help/en_US/ENCODER_exemple.png
new file mode 100644
index 0000000..9c477cf
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/ENCODER_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB.tst b/scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB.tst
new file mode 100644
index 0000000..ae09246
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB.tst
@@ -0,0 +1,27 @@
+\name
+INTERRUPT_SB
+
+\palette
+Arduino
+
+\smalldescription
+Used to track a set of events on one or more channels.
+
+\description
+This is a read counter that counts the information from absolute position sensors (Hall effect sensor ...).
+The block is used to read the rising edges detected on the interruption inputs of the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment a counter.
+Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and 18 to 21.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+The device offers a menu that allows the declaration of the interrupt pin 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and declaration of any digital pin 2 to 13 for a UNO card (2-53 for the MEGA board).
+The card number can not be changed at this time.
+\image{INTERRUPT_SB_dialogbox.png}
+
+
+\example1
+The example below shows the use of the block to count the signal of a optical sensor connected to pin 3.
+\image{INTERRUPT_exemple.png}
+
+\seealso
+ENCODER_SB
diff --git a/scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB.xml b/scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB.xml
new file mode 100644
index 0000000..58e90c2
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="INTERRUPT_SB">
+<refnamediv>
+ <refname>INTERRUPT_SB</refname>
+ <refpurpose>Used to track a set of events on one or more channels.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/INTERRUPT_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_INTERRUPT_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="INTERRUPT_SB">Used to track a set of events on one or more channels.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_INTERRUPT_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_INTERRUPT_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_INTERRUPT_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_INTERRUPT_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_INTERRUPT_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_INTERRUPT_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_INTERRUPT_SB">
+ <title>Description</title>
+<para> This is a read counter that counts the information from absolute position sensors (Hall effect sensor ...). </para>
+<para> The block is used to read the rising edges detected on the interruption inputs of the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment a counter. </para>
+<para> Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and 18 to 21. </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_INTERRUPT_SB">
+ <title>Dialog box</title>
+<para> The device offers a menu that allows the declaration of the interrupt pin 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and declaration of any digital pin 2 to 13 for a UNO card (2-53 for the MEGA board). </para>
+<para> The card number can not be changed at this time. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="INTERRUPT_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+
+
+</refsection>
+<refsection id="Example1_INTERRUPT_SB">
+ <title>Example 1</title>
+<para> The example below shows the use of the block to count the signal of a optical sensor connected to pin 3. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="INTERRUPT_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_INTERRUPT_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ENCODER_SB">ENCODER_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB_dialogbox.png
new file mode 100644
index 0000000..ec3f62c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/INTERRUPT_exemple.png b/scilab-arduino/tools/linux/help/en_US/INTERRUPT_exemple.png
new file mode 100644
index 0000000..7807247
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/INTERRUPT_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/SERVO_SB.tst b/scilab-arduino/tools/linux/help/en_US/SERVO_SB.tst
new file mode 100644
index 0000000..93323c3
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/SERVO_SB.tst
@@ -0,0 +1,31 @@
+\name
+SERVO_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Drive a servomotor by sending command of the angle from 0 to 180°
+
+\description
+A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+A servomotor for continuous rotation, the pulse width control the rotational speed and the direction.
+It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power.
+For simplicity, the block takes an input commnad in degrees from 0 to 180.
+Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+
+Do note that the sampling rate is at least 10 ms for this block.
+
+\dialogbox
+\image{SERVO_SB_dialogbox.png}
+The block is used to set the number of servomotor to be driven. Servo 1 corresponds to port 9 on Arduino and Servo 2 corresponds to port 10 on Arduino.
+The card number can not be changed at this time.
+
+\example1
+The example below shows the use of the servomotor block which position is controlled by the potentiometer at analog port 0 .
+A gain block is used to convert the 10 bits analog input signal from the potentiometer to the range of 0 to 180 to which specify the desired position of the servomotor.
+\image{SERVO_SB_exemple.png}
+
+\seealso
+DCMOTOR_SB
diff --git a/scilab-arduino/tools/linux/help/en_US/SERVO_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/SERVO_SB_dialogbox.png
new file mode 100644
index 0000000..a421e75
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/SERVO_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/SERVO_SB_exemple.png b/scilab-arduino/tools/linux/help/en_US/SERVO_SB_exemple.png
new file mode 100644
index 0000000..86cb244
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/SERVO_SB_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/SERVO_WRITE_SB.xml b/scilab-arduino/tools/linux/help/en_US/SERVO_WRITE_SB.xml
new file mode 100644
index 0000000..27b9d3c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/SERVO_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="SERVO_WRITE_SB">
+<refnamediv>
+ <refname>SERVO_WRITE_SB</refname>
+ <refpurpose>Drive a servomotor by sending command of the angle from 0 to 180°</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/SERVO_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_SERVO_WRITE_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="SERVO_WRITE_SB">Drive a servomotor by sending command of the angle from 0 to 180°</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_SERVO_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_SERVO_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_SERVO_WRITE_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_SERVO_WRITE_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_SERVO_WRITE_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_SERVO_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_SERVO_WRITE_SB">
+ <title>Description</title>
+<para> A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos). </para>
+<para> The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​. </para>
+<para> A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. </para>
+<para> It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. </para>
+<para> For simplicity, the block takes an input commnad in degrees from 0 to 180. </para>
+<para> Two actuators can be controlled with this toolbox. (modified version of 3 motors available) </para>
+
+<para> Do note that the sampling rate is at least 10 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_SERVO_WRITE_SB">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="SERVO_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The block is used to set the number of servomotor to be driven. Servo 1 corresponds to port 9 on Arduino and Servo 2 corresponds to port 10 on Arduino. </para>
+<para> The card number can not be changed at this time. </para>
+
+</refsection>
+<refsection id="Example1_SERVO_WRITE_SB">
+ <title>Example 1</title>
+<para> The example below shows the use of the servomotor block which position is controlled by the potentiometer at analog port 0 . </para>
+<para> A gain block is used to convert the 10 bits analog input signal from the potentiometer to the range of 0 to 180 to which specify the desired position of the servomotor. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="SERVO_SB_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_SERVO_WRITE_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="DCMOTOR_SB">DCMOTOR_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE.xml b/scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE.xml
new file mode 100644
index 0000000..ae10a49
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="TIME_SAMPLE">
+<refnamediv>
+ <refname>TIME_SAMPLE</refname>
+ <refpurpose>Set the control duration and the sampling time</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/TIME_SAMPLE.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_TIME_SAMPLE">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="TIME_SAMPLE">Set the control duration and the sampling time</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_TIME_SAMPLE">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_TIME_SAMPLE">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_TIME_SAMPLE">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_TIME_SAMPLE">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_TIME_SAMPLE">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_TIME_SAMPLE">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_TIME_SAMPLE">
+ <title>Description</title>
+<para> This block is <emphasis role="bold">compulsory</emphasis> to be placed in the xcos model to use this toolbox. </para>
+<para> It defines the simulation time of the model as well as the sampling time used for the model (each block is sampled by this step). </para>
+<para> Due to the limitation of serial communication the sampling time is about 8 ms (it is possible to go down to 4 ms) per block. </para>
+<para> For the complex model, do make sure that the sampling is sufficient for the execution. This could be done by measuring the simulation time is the actual time (10 s simulation should last 10 s). Otherwise, increase the sampling period to suit the need of the model. </para>
+
+</refsection>
+<refsection id="Dialogbox_TIME_SAMPLE">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="TIME_SAMPLE_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The simulation time (positive) must be specified. </para>
+<para> The sampling time must be set completed according to the complexity of the model </para>
+
+</refsection>
+<refsection id="Example1_TIME_SAMPLE">
+ <title>Example 1</title>
+<para> The example below shows the use of the block to blink the LED on port 13 of the UNO card set on the communication port 5. All blocks are using the default settings, except for the PULSE block the standard palette of which the phase shift is set to 0. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_TIME_SAMPLE">
+ <title>See Also</title>
+ <para>
+ <link linkend="ARDUINO_SETUP">ARDUINO_SETUP</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE_dialogbox.png
new file mode 100644
index 0000000..45022af
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE_help.tst b/scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE_help.tst
new file mode 100644
index 0000000..6f51d62
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE_help.tst
@@ -0,0 +1,26 @@
+\name
+TIME_SAMPLE
+
+\palette
+Arduino
+
+\smalldescription
+Set the control duration and the sampling time
+
+\description
+This block is \bold{compulsory} to be placed in the xcos model to use this toolbox.
+It defines the simulation time of the model as well as the sampling time used for the model (each block is sampled by this step).
+Due to the limitation of serial communication the sampling time is about 8 ms (it is possible to go down to 4 ms) per block.
+For the complex model, do make sure that the sampling is sufficient for the execution. This could be done by measuring the simulation time is the actual time (10 s simulation should last 10 s). Otherwise, increase the sampling period to suit the need of the model.
+
+\dialogbox
+\image{TIME_SAMPLE_dialogbox.png}
+The simulation time (positive) must be specified.
+The sampling time must be set completed according to the complexity of the model
+
+\example1
+The example below shows the use of the block to blink the LED on port 13 of the UNO card set on the communication port 5. All blocks are using the default settings, except for the PULSE block the standard palette of which the phase shift is set to 0.
+\image{ARDUINO_SETUP_example.png}
+
+\seealso
+ARDUINO_SETUP
diff --git a/scilab-arduino/tools/linux/help/en_US/build_help.sce b/scilab-arduino/tools/linux/help/en_US/build_help.sce
new file mode 100644
index 0000000..7065316
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/build_help.sce
@@ -0,0 +1,3 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+tbx_build_help(TOOLBOX_TITLE,get_absolute_file_path("build_help.sce"));
diff --git a/scilab-arduino/tools/linux/help/en_US/close_serial.xml b/scilab-arduino/tools/linux/help/en_US/close_serial.xml
new file mode 100644
index 0000000..7b50eb6
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/close_serial.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from close_serial.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="close_serial" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>close_serial</refname>
+ <refpurpose>Command to close the serial port which is connected to Arduino</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ res=close_serial(nHandle)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>nHandle :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>res :</term>
+ <listitem><para> 0 if the connection is successful, else the connection fail</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+It is important to close the serial port after use, else the port would be busy and restart of Scilab might required to connect to it again.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="open_serial">open_serial</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_analog_in.tst b/scilab-arduino/tools/linux/help/en_US/cmd_analog_in.tst
new file mode 100644
index 0000000..e2504b0
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_analog_in.tst
@@ -0,0 +1,25 @@
+\name
+cmd_analog_in
+
+\module
+Arduino
+
+\smalldescription
+Analog ports of an Arduino board which allow the acquisition of an analog input
+
+\description
+Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\callingsequences
+The port number of 0-5 must be specified for the UNO card, 0-15 for a MEGA board.
+The card number can not be changed at this time.
+There would be no verification routine for the setting, please refer to the specification of your Arduino board to put a correct value.
+
+\example1
+The following example shows the use of the block in connecting with an angular potentiometer which signal pin is connected to port 2 of Arduino board. The other two pins of the potentiometer are connected to ground (GND) and the 5 Volt the card directly.
+
+\seealso
+ANALOG_WRITE_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_analog_in.xml b/scilab-arduino/tools/linux/help/en_US/cmd_analog_in.xml
new file mode 100644
index 0000000..76c48e9
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_analog_in.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_analog_in.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_analog_in" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_analog_in</refname>
+ <refpurpose>Command to read in analog signal from a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ val = cmd_analog_in(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Analog pin to measure the signal</para></listitem></varlistentry>
+ <varlistentry><term>val :</term>
+ <listitem><para> Reading in the range of 0-1023 to to indicate the input voltage from 0-5V</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+val = cmd_analog_in(1,9)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_analog_in_volt">cmd_analog_in_volt</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_analog_in_volt.xml b/scilab-arduino/tools/linux/help/en_US/cmd_analog_in_volt.xml
new file mode 100644
index 0000000..d140c13
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_analog_in_volt.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_analog_in_volt.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_analog_in_volt" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_analog_in_volt</refname>
+ <refpurpose>Command to read in analog signal from a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ val = cmd_analog_in_volt(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Analog pin to measure the signal</para></listitem></varlistentry>
+ <varlistentry><term>val :</term>
+ <listitem><para> Reading in the input voltage from 0-5V</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. This function scale the reading to 0-5 so the user could get the measured voltage directly
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+val = cmd_analog_in_volt(1,9)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_analog_out">cmd_analog_out</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_analog_out.xml b/scilab-arduino/tools/linux/help/en_US/cmd_analog_out.xml
new file mode 100644
index 0000000..9895f79
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_analog_out.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_analog_out.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_analog_out" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_analog_out</refname>
+ <refpurpose>Command to sent out analog signal to a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_analog_out(h,pin_no,val)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin with ~ to sent the signal</para></listitem></varlistentry>
+ <varlistentry><term>val :</term>
+ <listitem><para> The value of 0-255 to be sent to the digital pins with ~ sign. It will be then scaled to 0-5V</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses,
+the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+voltage across the component connected to this port, which has the effect of having a analog output voltage.
+ </para>
+ <para>
+The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_analog_out(1,9,100)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_analog_out_volt">cmd_analog_out_volt</link></member>
+ <member><link linkend="cmd_arduino_a_control">cmd_arduino_a_control</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_analog_out_volt.xml b/scilab-arduino/tools/linux/help/en_US/cmd_analog_out_volt.xml
new file mode 100644
index 0000000..05f345c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_analog_out_volt.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_analog_out_volt.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_analog_out_volt" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_analog_out_volt</refname>
+ <refpurpose>Command to sent out analog signal to a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_analog_out_volt(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin with ~ to sent the signal</para></listitem></varlistentry>
+ <varlistentry><term>val :</term>
+ <listitem><para> The value in volt (0-5) to be sent to the digital pins with ~ sign.</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses,
+the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+voltage across the component connected to this port, which has the effect of having a analog output voltage.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_analog_out_volt(1,9,100)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_analog_out">cmd_analog_out</link></member>
+ <member><link linkend="cmd_arduino_a_control">cmd_arduino_a_control</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_arduino_a_control.xml b/scilab-arduino/tools/linux/help/en_US/cmd_arduino_a_control.xml
new file mode 100644
index 0000000..f2d73cd
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_arduino_a_control.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_arduino_a_control.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_arduino_a_control" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_arduino_a_control</refname>
+ <refpurpose>GUI to control analog signal to be sent to a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_arduino_a_control(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin with ~ to sent the signal</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_arduino_a_control(1,9,100)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_analog_out_volt">cmd_analog_out_volt</link></member>
+ <member><link linkend="cmd_analog_out">cmd_analog_out</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_arduino_d_control.xml b/scilab-arduino/tools/linux/help/en_US/cmd_arduino_d_control.xml
new file mode 100644
index 0000000..43ec03b
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_arduino_d_control.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_arduino_d_control.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_arduino_d_control" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_arduino_d_control</refname>
+ <refpurpose>GUI to control digital signal to be sent to a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_arduino_d_control(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin to sent the signal</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_arduino_d_control(1,9)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_digital_out_volt">cmd_digital_out_volt</link></member>
+ <member><link linkend="cmd_digital_out">cmd_digital_out</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ <member>str = string(val)</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_arduino_meter.xml b/scilab-arduino/tools/linux/help/en_US/cmd_arduino_meter.xml
new file mode 100644
index 0000000..d64d3b2
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_arduino_meter.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_arduino_meter.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_arduino_meter" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_arduino_meter</refname>
+ <refpurpose>GUI to display continuous signal from a loop, and break the loop after termination of the GUI</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_arduino_meter(val)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>val :</term>
+ <listitem><para> Value to be displayed</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This GUI provides a convenient way display a continuous data from a loop and break the loop after the termination of the GUI. By this, it behave like a digital meter by showing the data in a GUI instead of the console
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+val = cmd_analog_in_volt(1,9)
+cmd_arduino_meter(val)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_arduino_d_control">cmd_arduino_d_control</link></member>
+ <member><link linkend="cmd_arduino_a_control">cmd_arduino_a_control</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_release.xml b/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_release.xml
new file mode 100644
index 0000000..9f7d7c5
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_release.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_dcmotor_release.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_dcmotor_release" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_dcmotor_release</refname>
+ <refpurpose>Command to release pins which have setup for DC motor</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_dcmotor_release(h,motor_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>motor_no :</term>
+ <listitem><para> ID in which the motor has been connected</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ </para>
+ <para>
+Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+cmd_dcmotor_run(1,1,255)
+sleep(1000)
+cmd_dcmotor_run(1,1,-255)
+sleep(1000)
+cmd_dcmotor_release(1,1)
+close_serial(1)
+ ]]></programlisting>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_run.xml b/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_run.xml
new file mode 100644
index 0000000..c97faa0
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_run.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_dcmotor_run.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_dcmotor_run" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_dcmotor_run</refname>
+ <refpurpose>Command to run DC motor after setting up</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_dcmotor_run(h,motor_no,u1)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>motor_no :</term>
+ <listitem><para> ID in which the motor has been connected</para></listitem></varlistentry>
+ <varlistentry><term>u1 :</term>
+ <listitem><para> Value to sent, range from -255 to 255, for clockwise and anti-clockwise direction</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ </para>
+ <para>
+Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+cmd_dcmotor_run(1,1,255)
+sleep(1000)
+cmd_dcmotor_run(1,1,-255)
+sleep(1000)
+cmd_dcmotor_release(1,1)
+close_serial(1)
+ ]]></programlisting>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_setup.xml b/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_setup.xml
new file mode 100644
index 0000000..abbe317
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_setup.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_dcmotor_setup.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_dcmotor_setup" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_dcmotor_setup</refname>
+ <refpurpose>Command to setup pins to control DC motor</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_dcmotor_setup(h,driver_type,motor_no,pin_no_1,pin_no_2)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>driver_type :</term>
+ <listitem><para> 1=Motorshield Rev3, 2=L298, 3=L293</para></listitem></varlistentry>
+ <varlistentry><term>motor_no :</term>
+ <listitem><para> ID used to identify motor to be connected</para></listitem></varlistentry>
+ <varlistentry><term>pin_no_1 :</term>
+ <listitem><para> Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.</para></listitem></varlistentry>
+ <varlistentry><term>pin_no_2 :</term>
+ <listitem><para> Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ </para>
+ <para>
+Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+cmd_dcmotor_run(1,1,255)
+sleep(1000)
+cmd_dcmotor_run(1,1,-255)
+sleep(1000)
+cmd_dcmotor_release(1,1)
+close_serial(1)
+ ]]></programlisting>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_digital_in.xml b/scilab-arduino/tools/linux/help/en_US/cmd_digital_in.xml
new file mode 100644
index 0000000..35d7117
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_digital_in.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_digital_in.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_digital_in" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_digital_in</refname>
+ <refpurpose>Command to read in digital signal from a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ values = cmd_digital_in(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin to measure the signal</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+ </para>
+ <para>
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+val = cmd_digital_in(1,2)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_digital_out">cmd_digital_out</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_digital_out.xml b/scilab-arduino/tools/linux/help/en_US/cmd_digital_out.xml
new file mode 100644
index 0000000..40c8683
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_digital_out.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_digital_out.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_digital_out" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_digital_out</refname>
+ <refpurpose>Command to sent out digital signal to a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_digital_out(h,pin_no,val)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin to sent the signal</para></listitem></varlistentry>
+ <varlistentry><term>val :</term>
+ <listitem><para> The value of 0 or 1 to be sent to the digital pins with. It is correspond to 0 and 5V</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+ </para>
+ <para>
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_digital_out(1,13,0)
+sleep(1000)
+cmd_digital_out(1,13,1)
+sleep(1000)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_digital_in">cmd_digital_in</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_servo_attach.xml b/scilab-arduino/tools/linux/help/en_US/cmd_servo_attach.xml
new file mode 100644
index 0000000..361c4c4
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_servo_attach.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_servo_attach.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_servo_attach" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_servo_attach</refname>
+ <refpurpose>Command to attach servo motor to Arduino</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_servo_attach(h,servo_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>servo_no :</term>
+ <listitem><para> 1=pin 9, 2=pin 10</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ </para>
+ <para>
+The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ </para>
+ <para>
+A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_servo_attach(1,1)
+sleep(1000)
+cmd_servo_move(1,1,90)
+sleep(1000)
+cmd_servo_move(1,1,45)
+sleep(1000)
+cmd_servo_detach(1,1)
+sleep(1000)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_servo_move">cmd_servo_move</link></member>
+ <member><link linkend="cmd_servo_detach">cmd_servo_detach</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_servo_detach.xml b/scilab-arduino/tools/linux/help/en_US/cmd_servo_detach.xml
new file mode 100644
index 0000000..29e1cfc
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_servo_detach.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_servo_detach.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_servo_detach" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_servo_detach</refname>
+ <refpurpose>Command to release the pin which has been setup for servo motor</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_servo_detach(h,servo_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>servo_no :</term>
+ <listitem><para> 1=pin 9, 2=pin 10</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ </para>
+ <para>
+The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ </para>
+ <para>
+A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_servo_attach(1,1)
+sleep(1000)
+cmd_servo_move(1,1,90)
+sleep(1000)
+cmd_servo_move(1,1,45)
+sleep(1000)
+cmd_servo_detach(1,1)
+sleep(1000)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_servo_setup">cmd_servo_setup</link></member>
+ <member><link linkend="cmd_servo_move">cmd_servo_move</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/cmd_servo_move.xml b/scilab-arduino/tools/linux/help/en_US/cmd_servo_move.xml
new file mode 100644
index 0000000..370b60c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/cmd_servo_move.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_servo_move.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_servo_move" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_servo_move</refname>
+ <refpurpose>Command to run servo motor which has been setup</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_servo_move(h,servo_no,u1)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>servo_no :</term>
+ <listitem><para> 1=pin 9, 2=pin 10</para></listitem></varlistentry>
+ <varlistentry><term>u1 :</term>
+ <listitem><para> 0 - 180 degree</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ </para>
+ <para>
+The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ </para>
+ <para>
+A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_servo_attach(1,1)
+sleep(1000)
+cmd_servo_move(1,1,90)
+sleep(1000)
+cmd_servo_move(1,1,45)
+sleep(1000)
+cmd_servo_detach(1,1)
+sleep(1000)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_servo_setup">cmd_servo_setup</link></member>
+ <member><link linkend="cmd_servo_detach">cmd_servo_detach</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/master_help.xml b/scilab-arduino/tools/linux/help/en_US/master_help.xml
new file mode 100644
index 0000000..70a7983
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/master_help.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book [
+<!--Begin Entities-->
+<!ENTITY a12b34fe00e34cc0a7a0bce741c578144 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/ANALOG_READ_SB.xml">
+<!ENTITY a2d492739e36a2291acbaf6cdc8a9c337 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/ANALOG_WRITE_SB.xml">
+<!ENTITY ab237315ac381b1a3ec1058344a33a429 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/ARDUINO_SETUP.xml">
+<!ENTITY ab61fa1842f3c0988d263408a3d4d50d0 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/DCMOTOR_SB.xml">
+<!ENTITY a96c93403b736aad7e4781fc3179d13dc SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/DIGITAL_READ_SB.xml">
+<!ENTITY afe902cc0885d1ada6d2439b1dfc6bede SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/DIGITAL_WRITE_SB.xml">
+<!ENTITY ab6063d337f012575b263688809ab45ee SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/ENCODER_SB.xml">
+<!ENTITY a688cf00417cf0dfbdc7e3d1b3a96282b SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/INTERRUPT_SB.xml">
+<!ENTITY a9db90ba2e313c435813857186bff61be SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/SERVO_WRITE_SB.xml">
+<!ENTITY aff024e1d6f8440897a854ef8a85c6bb6 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/TIME_SAMPLE.xml">
+<!ENTITY a46f4ed306dd6401e57956d29907d98c0 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/close_serial.xml">
+<!ENTITY ae1cbef4731b4432a3144397c1e389572 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_analog_in.xml">
+<!ENTITY a59504110ecbd0725059b374fc8f11794 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_analog_in_volt.xml">
+<!ENTITY a6500d5222027d9c32f5eef3369d23135 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_analog_out.xml">
+<!ENTITY acc3dc0b7693aae6bc9a7dbcfb528fb00 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_analog_out_volt.xml">
+<!ENTITY a23272af6c822348cda6c88a15ea5b9aa SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_arduino_a_control.xml">
+<!ENTITY a95f5e8ecfebd477b39a1dc7c6e4a0b19 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_arduino_d_control.xml">
+<!ENTITY a0a341a6e06f4e40453a9248e162a3381 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_arduino_meter.xml">
+<!ENTITY ac69707c2d5248cfb2bc0f5be48c8ba09 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_release.xml">
+<!ENTITY a0a2683576ec6965ae4b1743205e0526a SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_run.xml">
+<!ENTITY a1e81217b2c21c17b7c25207530e1fa6e SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_dcmotor_setup.xml">
+<!ENTITY ab76a59e5906cd59783015254417cac66 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_digital_in.xml">
+<!ENTITY a54f3382c2419ace440204ca94c154f65 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_digital_out.xml">
+<!ENTITY adc906eeb923a49c0c2cac2a614c29a79 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_servo_attach.xml">
+<!ENTITY ad3bfe1979f3a7e64941d9c570f38d3d3 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_servo_detach.xml">
+<!ENTITY a39d4eb7bd8802f0c9e3ae8d0a2ddcd94 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/cmd_servo_move.xml">
+<!ENTITY a5767747391f933dd9a295892e0aab422 SYSTEM "/home/fossee/Desktop/scilab-arduino-final/scilab-arduino/tools/linux/help/en_US/open_serial.xml">
+<!--End Entities-->
+]>
+<book version="5.0-subset Scilab" xml:lang="en_US"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:db="http://docbook.org/ns/docbook">
+ <info xml:id='arduino_toolbox_manual'>
+ <title>Arduino toolbox</title>
+ </info>
+
+<part xml:id='section_31b851c5cd4247a8b1d03294fc8872b1'>
+<title>Arduino toolbox</title>
+&a12b34fe00e34cc0a7a0bce741c578144;
+&a2d492739e36a2291acbaf6cdc8a9c337;
+&ab237315ac381b1a3ec1058344a33a429;
+&ab61fa1842f3c0988d263408a3d4d50d0;
+&a96c93403b736aad7e4781fc3179d13dc;
+&afe902cc0885d1ada6d2439b1dfc6bede;
+&ab6063d337f012575b263688809ab45ee;
+&a688cf00417cf0dfbdc7e3d1b3a96282b;
+&a9db90ba2e313c435813857186bff61be;
+&aff024e1d6f8440897a854ef8a85c6bb6;
+&a46f4ed306dd6401e57956d29907d98c0;
+&ae1cbef4731b4432a3144397c1e389572;
+&a59504110ecbd0725059b374fc8f11794;
+&a6500d5222027d9c32f5eef3369d23135;
+&acc3dc0b7693aae6bc9a7dbcfb528fb00;
+&a23272af6c822348cda6c88a15ea5b9aa;
+&a95f5e8ecfebd477b39a1dc7c6e4a0b19;
+&a0a341a6e06f4e40453a9248e162a3381;
+&ac69707c2d5248cfb2bc0f5be48c8ba09;
+&a0a2683576ec6965ae4b1743205e0526a;
+&a1e81217b2c21c17b7c25207530e1fa6e;
+&ab76a59e5906cd59783015254417cac66;
+&a54f3382c2419ace440204ca94c154f65;
+&adc906eeb923a49c0c2cac2a614c29a79;
+&ad3bfe1979f3a7e64941d9c570f38d3d3;
+&a39d4eb7bd8802f0c9e3ae8d0a2ddcd94;
+&a5767747391f933dd9a295892e0aab422;
+</part>
+</book>
diff --git a/scilab-arduino/tools/linux/help/en_US/open_serial.xml b/scilab-arduino/tools/linux/help/en_US/open_serial.xml
new file mode 100644
index 0000000..7f12d3c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/open_serial.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from open_serial.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="open_serial" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>open_serial</refname>
+ <refpurpose>Command to initialize the serial port which is connected to Arduino</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ res=open_serial(nHandle, nPort,baudrate)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>nHandle :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>nPort :</term>
+ <listitem><para> Com port in which the Arduino is connected to</para></listitem></varlistentry>
+ <varlistentry><term>baudrate :</term>
+ <listitem><para> baudrate for the serial comminication</para></listitem></varlistentry>
+ <varlistentry><term>res :</term>
+ <listitem><para> 0 if the connection is successful, else the connection fail</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+To connect to the Arduino board. To check the port number, do to the device manager or check it from the Arduino software
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="close_serial">close_serial</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/en_US/read_file_doc.sci b/scilab-arduino/tools/linux/help/en_US/read_file_doc.sci
new file mode 100644
index 0000000..dae0493
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/read_file_doc.sci
@@ -0,0 +1,284 @@
+
+function data=read_file_doc(file_name)
+ fd=mopen(file_name); //open file
+ txt=mgetl(fd,-1); //read all lines
+ err=mclose(fd);
+
+ //items to read (respect this order )
+ items_to_read=["\name","\smalldescription","\palette","\description","\dialogbox","\example1","\example2","\example3","\seealso"];
+ lign_of_items=0*ones(1,size(items_to_read,2));
+ nb_items=size(items_to_read,'*')
+ //definition de la structure de donnee
+ for i=1:size(txt,'*')
+ for j=1:nb_items
+
+ if ~isempty(strindex(txt(i),items_to_read(j))) then
+ lign_of_items(j)=i;
+ end
+ end
+ end
+
+ //to use if the ordre is not respected
+ [temp,order]=gsort(lign_of_items,'g','i');
+
+ //extract data by items
+ data_by_items=cell(nb_items,1);
+ for j=1:nb_items-1
+ data_by_items(j).entries=txt(lign_of_items(order(j))+1:lign_of_items(order(j+1))-1);
+ end
+ data_by_items(nb_items).entries=txt(lign_of_items(order(nb_items))+1:$);
+ data_by_items2=data_by_items;
+ data_by_items2(order)=data_by_items;
+ data.name=stripblanks(strcat(data_by_items2(1).entries),%t);
+ data.smalldescription=strcat(data_by_items2(2).entries);
+ data.palette=stripblanks(strcat(data_by_items2(3).entries),%t);
+ data.seealso=data_by_items2(9).entries;
+ data.description=data_by_items2(4).entries;
+ data.dialogbox=data_by_items2(5).entries;
+ data.example1=data_by_items2(6).entries;
+ data.example2=data_by_items2(7).entries;
+ data.example3=data_by_items2(8).entries;
+ data.to_replace=cell(5,1);
+ data.to_replace=data_by_items2(4:8);
+
+endfunction
+
+function data=change_keyword(data)
+
+
+ for d=1:size(data.to_replace,1)
+ to_replace=data.to_replace(d).entries;
+
+ //add <par> </par> for each non empty lign
+ for i=1:size(to_replace,'*')
+ if ~isempty(to_replace(i)) then
+ to_replace(i)='<para> '+to_replace(i)+' </para>';
+ end
+ end
+
+ //replace \bold{} by <emphasis role="bold">Step Time</emphasis>
+ for i=1:size(to_replace,'*')
+ ind_bold=strindex(to_replace(i),"\bold")
+ ind_acc1=strindex(to_replace(i),"{")
+ ind_acc2=strindex(to_replace(i),"}")
+ n=0
+ ind_bold_acc=[]
+ for j=ind_bold
+ n=n+1;
+ for k=ind_acc1
+ if k==j+5 then
+ ind_bold_acc($+1)=ind_acc2(n);
+ continue
+ end
+ end
+ end
+
+ sizestr=length(to_replace(i))
+ if ~isempty(ind_bold) then
+ new_str=[];
+ ind_ini=1;
+ for j=1:size(ind_bold,2)
+ new_str=new_str+part(to_replace(i),ind_ini:ind_bold(j)-1);
+ new_str=new_str+"<emphasis role='"bold'">";
+ new_str=new_str+part(to_replace(i),ind_bold(j)+6:ind_bold_acc(j)-1);
+ new_str=new_str+"</emphasis>";
+ ind_ini=ind_bold_acc(j)+1;
+ end
+ to_replace(i)=new_str+part(to_replace(i),ind_bold_acc($)+1:sizestr);
+ end
+ end
+
+ //replace \image by xml code
+ for i=1:size(to_replace,'*')
+ ind_image=strindex(to_replace(i),"\image")
+ ind_acc=strindex(to_replace(i),"}")
+ if ~isempty(ind_image) then
+ name=stripblanks(part(to_replace(i),ind_image+7:ind_acc-1));
+ to_replace(i) = "<inlinemediaobject> <imageobject> <imagedata fileref='""+name+"'" align='"center'"/> </imageobject> </inlinemediaobject>"
+ end
+
+ end
+
+
+ data.to_replace(d).entries=to_replace;
+
+
+ end
+
+ data.description=data.to_replace(1).entries
+ data.dialogbox=data.to_replace(2).entries;
+ data.example1=data.to_replace(3).entries;
+ data.example2=data.to_replace(4).entries;
+ data.example3=data.to_replace(5).entries;
+ //data.seealso=data.to_replace(6).entries;
+
+endfunction
+
+function write_xml(data)
+
+ fd = mopen(data.name+'.xml','w+');
+
+ //write entete
+ entete=['<?xml version='"1.0'" encoding='"UTF-8'"?>'
+ '<refentry xmlns='"http://docbook.org/ns/docbook'" xmlns:xlink='"http://www.w3.org/1999/xlink'" xmlns:svg='"http://www.w3.org/2000/svg'" xmlns:mml='"http://www.w3.org/1998/Math/MathML'" xmlns:db='"http://docbook.org/ns/docbook'" version='"5.0-subset Scilab'" xml:id='""+data.name+"'"> ']
+ mputl(entete,fd);
+ towrite= ['<refnamediv>'
+ ' <refname>'+data.name+'</refname>'
+ ' <refpurpose>'+data.smalldescription+'</refpurpose> '
+ '</refnamediv>']
+ mputl(towrite,fd);
+
+ towrite=['<refsection>'
+ ' <title>Block Screenshot</title>'
+ ' <para>'
+ ' <inlinemediaobject>'
+ ' <imageobject>'
+ ' <imagedata fileref='"../../images/gif/'+data.name'+'.gif'" align='"center'" valign='"middle'"/>'
+ ' </imageobject>'
+ ' </inlinemediaobject>'
+ ' </para>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd);
+
+ linkend=[]
+ linkend_name=[];
+ linkend_data=cell(7,1);
+ n=1;
+ if ~isempty(data.palette) then
+ linkend($+1)='Palette_'+data.name;
+ linkend_name($+1)='Palette';
+ linkend_data(n).entries=data.palette
+ n=n+1
+ end
+ if ~isempty(data.description) then
+ linkend($+1)='Description_'+data.name;
+ linkend_name($+1)='Description';
+ linkend_data(n).entries=data.description
+ n=n+1
+ end
+ if ~isempty(data.dialogbox) then
+ linkend($+1)='Dialogbox_'+data.name;
+ linkend_name($+1)='Dialog box';
+ linkend_data(n).entries=data.dialogbox;
+ n=n+1
+ end
+ if ~isempty(data.example1) then
+ linkend($+1)='Example1_'+data.name;
+ linkend_name($+1)='Example 1';
+ linkend_data(n).entries=data.example1;
+ n=n+1
+ end
+ if ~isempty(data.example2) then
+ linkend($+1)='Example2_'+data.name;
+ linkend_name($+1)='Example 2';
+ linkend_data(n).entries=data.example2;
+ n=n+1
+ end
+ if ~isempty(data.example3) then
+ linkend($+1)='Example3_'+data.name;
+ linkend_name($+1)='Example 3';
+ linkend_data(n).entries=data.example3;
+ n=n+1
+ end
+ if ~isempty(data.seealso) then
+ linkend($+1)='Seealso_'+data.name;
+ linkend_name($+1)='See Also';
+ linkend_data(n).entries=data.seealso;
+ n=n+1
+ end
+
+ towrite=[
+ '<refsection id='"Contents_'+data.name+''">'
+ ' <title>Contents</title>'
+ ' <itemizedlist>'
+ ' <listitem>'
+ ' <para>'
+ ' <link linkend='"'+data.name'+''">'+data.smalldescription+'</link>'
+ ' </para>'
+ ' </listitem>'
+ ' <listitem>'
+ ' <itemizedlist>'
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)
+ towrite=[
+ ' <listitem>'
+ ' <para>'
+ ' <xref linkend='"'+linkend(i)+''">'+linkend_name(i)+'</xref>'
+ ' </para>'
+ ' </listitem>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ towrite=[
+ ' </itemizedlist>'
+ ' </listitem>'
+ ' </itemizedlist>'
+ '</refsection> '
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)-1
+ towrite=[
+ '<refsection id='"'+linkend(i)+''">'
+ ' <title>'+linkend_name(i)+'</title>'
+ // ' <itemizedlist>'
+ // ' <listitem>'
+ //' <para>'
+ linkend_data(i).entries
+ //' </para>'
+ //' </listitem>'
+ //' </itemizedlist>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ //specific for see_also
+ towrite=[
+ '<refsection id='"'+linkend($)+''">'
+ ' <title>'+linkend_name(size(linkend,1))+'</title>'
+ ]
+ mputl(towrite,fd)
+
+ for j=1:size(linkend_data(size(linkend,1)).entries,'*')
+ towrite=[
+ ' <para>'
+ ' <link linkend='"'+linkend_data(size(linkend,1)).entries(j)+''">'+linkend_data(size(linkend,1)).entries(j)+'</link>'
+ ' </para>'
+ ]
+ mputl(towrite,fd)
+ end
+ towrite=[
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+
+
+towrite='</refentry>'
+mputl(towrite,fd)
+
+
+ mclose(fd);
+
+endfunction
+
+
+function create_xml(filename)
+ disp('Creation du fichier xml associé à '+filename)
+ data=read_file_doc(filename);
+ data=change_keyword(data);
+ write_xml(data);
+endfunction
+
+function create_all()
+ files=findfiles('./','*.tst')
+ for i=1:length(length(files))
+ if strindex(files(i),'~') ==[]
+ create_xml(files(i))
+ end
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/help/en_US/read_file_doc2.sci b/scilab-arduino/tools/linux/help/en_US/read_file_doc2.sci
new file mode 100644
index 0000000..45275bd
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/read_file_doc2.sci
@@ -0,0 +1,285 @@
+
+function data=read_file_doc(file_name)
+ fd=mopen(file_name); //open file
+ txt=mgetl(fd,-1); //read all lines
+ err=mclose(fd);
+
+ //items to read (respect this order )
+// items_to_read=["\name","\smalldescription","\palette","\description","\dialogbox","\example1","\example2","\example3","\seealso"];
+ items_to_read=["\name","\smalldescription","\module","\description","\callingsequences","\example1","\example2","\example3","\seealso"];
+ lign_of_items=0*ones(1,size(items_to_read,2));
+ nb_items=size(items_to_read,'*')
+ //definition de la structure de donnee
+ for i=1:size(txt,'*')
+ for j=1:nb_items
+
+ if ~isempty(strindex(txt(i),items_to_read(j))) then
+ lign_of_items(j)=i;
+ end
+ end
+ end
+
+ //to use if the ordre is not respected
+ [temp,order]=gsort(lign_of_items,'g','i');
+
+ //extract data by items
+ data_by_items=cell(nb_items,1);
+ for j=1:nb_items-1
+ data_by_items(j).entries=txt(lign_of_items(order(j))+1:lign_of_items(order(j+1))-1);
+ end
+ data_by_items(nb_items).entries=txt(lign_of_items(order(nb_items))+1:$);
+ data_by_items2=data_by_items;
+ data_by_items2(order)=data_by_items;
+ data.name=stripblanks(strcat(data_by_items2(1).entries),%t);
+ data.smalldescription=strcat(data_by_items2(2).entries);
+ data.palette=stripblanks(strcat(data_by_items2(3).entries),%t);
+ data.seealso=data_by_items2(9).entries;
+ data.description=data_by_items2(4).entries;
+ data.dialogbox=data_by_items2(5).entries;
+ data.example1=data_by_items2(6).entries;
+ data.example2=data_by_items2(7).entries;
+ data.example3=data_by_items2(8).entries;
+ data.to_replace=cell(5,1);
+ data.to_replace=data_by_items2(4:8);
+
+endfunction
+
+function data=change_keyword(data)
+
+
+ for d=1:size(data.to_replace,1)
+ to_replace=data.to_replace(d).entries;
+
+ //add <par> </par> for each non empty lign
+ for i=1:size(to_replace,'*')
+ if ~isempty(to_replace(i)) then
+ to_replace(i)='<para> '+to_replace(i)+' </para>';
+ end
+ end
+
+ //replace \bold{} by <emphasis role="bold">Step Time</emphasis>
+ for i=1:size(to_replace,'*')
+ ind_bold=strindex(to_replace(i),"\bold")
+ ind_acc1=strindex(to_replace(i),"{")
+ ind_acc2=strindex(to_replace(i),"}")
+ n=0
+ ind_bold_acc=[]
+ for j=ind_bold
+ n=n+1;
+ for k=ind_acc1
+ if k==j+5 then
+ ind_bold_acc($+1)=ind_acc2(n);
+ continue
+ end
+ end
+ end
+
+ sizestr=length(to_replace(i))
+ if ~isempty(ind_bold) then
+ new_str=[];
+ ind_ini=1;
+ for j=1:size(ind_bold,2)
+ new_str=new_str+part(to_replace(i),ind_ini:ind_bold(j)-1);
+ new_str=new_str+"<emphasis role='"bold'">";
+ new_str=new_str+part(to_replace(i),ind_bold(j)+6:ind_bold_acc(j)-1);
+ new_str=new_str+"</emphasis>";
+ ind_ini=ind_bold_acc(j)+1;
+ end
+ to_replace(i)=new_str+part(to_replace(i),ind_bold_acc($)+1:sizestr);
+ end
+ end
+
+ //replace \image by xml code
+ for i=1:size(to_replace,'*')
+ ind_image=strindex(to_replace(i),"\image")
+ ind_acc=strindex(to_replace(i),"}")
+ if ~isempty(ind_image) then
+ name=stripblanks(part(to_replace(i),ind_image+7:ind_acc-1));
+ to_replace(i) = "<inlinemediaobject> <imageobject> <imagedata fileref='""+name+"'" align='"center'"/> </imageobject> </inlinemediaobject>"
+ end
+
+ end
+
+
+ data.to_replace(d).entries=to_replace;
+
+
+ end
+
+ data.description=data.to_replace(1).entries
+ data.dialogbox=data.to_replace(2).entries;
+ data.example1=data.to_replace(3).entries;
+ data.example2=data.to_replace(4).entries;
+ data.example3=data.to_replace(5).entries;
+ //data.seealso=data.to_replace(6).entries;
+
+endfunction
+
+function write_xml(data)
+
+ fd = mopen(data.name+'.xml','w+');
+
+ //write entete
+ entete=['<?xml version='"1.0'" encoding='"UTF-8'"?>'
+ '<refentry xmlns='"http://docbook.org/ns/docbook'" xmlns:xlink='"http://www.w3.org/1999/xlink'" xmlns:svg='"http://www.w3.org/2000/svg'" xmlns:mml='"http://www.w3.org/1998/Math/MathML'" xmlns:db='"http://docbook.org/ns/docbook'" version='"5.0-subset Scilab'" xml:id='""+data.name+"'"> ']
+ mputl(entete,fd);
+ towrite= ['<refnamediv>'
+ ' <refname>'+data.name+'</refname>'
+ ' <refpurpose>'+data.smalldescription+'</refpurpose> '
+ '</refnamediv>']
+ mputl(towrite,fd);
+
+ towrite=['<refsection>'
+ ' <title>Block Screenshot</title>'
+ ' <para>'
+ ' <inlinemediaobject>'
+ ' <imageobject>'
+ ' <imagedata fileref='"../../images/gif/'+data.name'+'.gif'" align='"center'" valign='"middle'"/>'
+ ' </imageobject>'
+ ' </inlinemediaobject>'
+ ' </para>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd);
+
+ linkend=[]
+ linkend_name=[];
+ linkend_data=cell(7,1);
+ n=1;
+ if ~isempty(data.palette) then
+ linkend($+1)='Palette_'+data.name;
+ linkend_name($+1)='Palette';
+ linkend_data(n).entries=data.palette
+ n=n+1
+ end
+ if ~isempty(data.description) then
+ linkend($+1)='Description_'+data.name;
+ linkend_name($+1)='Description';
+ linkend_data(n).entries=data.description
+ n=n+1
+ end
+ if ~isempty(data.dialogbox) then
+ linkend($+1)='Dialogbox_'+data.name;
+ linkend_name($+1)='Dialog box';
+ linkend_data(n).entries=data.dialogbox;
+ n=n+1
+ end
+ if ~isempty(data.example1) then
+ linkend($+1)='Example1_'+data.name;
+ linkend_name($+1)='Example 1';
+ linkend_data(n).entries=data.example1;
+ n=n+1
+ end
+ if ~isempty(data.example2) then
+ linkend($+1)='Example2_'+data.name;
+ linkend_name($+1)='Example 2';
+ linkend_data(n).entries=data.example2;
+ n=n+1
+ end
+ if ~isempty(data.example3) then
+ linkend($+1)='Example3_'+data.name;
+ linkend_name($+1)='Example 3';
+ linkend_data(n).entries=data.example3;
+ n=n+1
+ end
+ if ~isempty(data.seealso) then
+ linkend($+1)='Seealso_'+data.name;
+ linkend_name($+1)='See Also';
+ linkend_data(n).entries=data.seealso;
+ n=n+1
+ end
+
+ towrite=[
+ '<refsection id='"Contents_'+data.name+''">'
+ ' <title>Contents</title>'
+ ' <itemizedlist>'
+ ' <listitem>'
+ ' <para>'
+ ' <link linkend='"'+data.name'+''">'+data.smalldescription+'</link>'
+ ' </para>'
+ ' </listitem>'
+ ' <listitem>'
+ ' <itemizedlist>'
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)
+ towrite=[
+ ' <listitem>'
+ ' <para>'
+ ' <xref linkend='"'+linkend(i)+''">'+linkend_name(i)+'</xref>'
+ ' </para>'
+ ' </listitem>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ towrite=[
+ ' </itemizedlist>'
+ ' </listitem>'
+ ' </itemizedlist>'
+ '</refsection> '
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)-1
+ towrite=[
+ '<refsection id='"'+linkend(i)+''">'
+ ' <title>'+linkend_name(i)+'</title>'
+ // ' <itemizedlist>'
+ // ' <listitem>'
+ //' <para>'
+ linkend_data(i).entries
+ //' </para>'
+ //' </listitem>'
+ //' </itemizedlist>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ //specific for see_also
+ towrite=[
+ '<refsection id='"'+linkend($)+''">'
+ ' <title>'+linkend_name(size(linkend,1))+'</title>'
+ ]
+ mputl(towrite,fd)
+
+ for j=1:size(linkend_data(size(linkend,1)).entries,'*')
+ towrite=[
+ ' <para>'
+ ' <link linkend='"'+linkend_data(size(linkend,1)).entries(j)+''">'+linkend_data(size(linkend,1)).entries(j)+'</link>'
+ ' </para>'
+ ]
+ mputl(towrite,fd)
+ end
+ towrite=[
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+
+
+towrite='</refentry>'
+mputl(towrite,fd)
+
+
+ mclose(fd);
+
+endfunction
+
+
+function create_xml(filename)
+ disp('Creation du fichier xml associé à '+filename)
+ data=read_file_doc(filename);
+ data=change_keyword(data);
+ write_xml(data);
+endfunction
+
+function create_all()
+ files=findfiles('./','*.tst')
+ for i=1:length(length(files))
+ if strindex(files(i),'~') ==[]
+ create_xml(files(i))
+ end
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB.gif b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB.gif
new file mode 100644
index 0000000..00a75c6
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB.html
new file mode 100644
index 0000000..daa346b
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>ANALOG_READ_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">&lt;&lt; Arduino toolbox</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ANALOG_WRITE_SB.html">ANALOG_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; ANALOG_READ_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">ANALOG_READ_SB</h1>
+ <p class="refpurpose">Analog ports of an Arduino board which allow the acquisition of an analog input</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./ANALOG_READ_SB.gif'/></div></span></p></div>
+<a name="Contents_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="ANALOG_READ_SB.html" class="link">Analog ports of an Arduino board which allow the acquisition of an analog input</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="ANALOG_READ_SB.html#Palette_ANALOG_READ_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="ANALOG_READ_SB.html#Description_ANALOG_READ_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="ANALOG_READ_SB.html#Dialogbox_ANALOG_READ_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="ANALOG_READ_SB.html#Example1_ANALOG_READ_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="ANALOG_READ_SB.html#Seealso_ANALOG_READ_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p></div>
+<a name="Dialogbox_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./ANALOG_READ_SB_dialogbox.png'/></div></span>
+<p class="para">The port number of 0-5 must be specified for the UNO card, 0-15 for a MEGA board.</p>
+<p class="para">The card number can not be changed at this time.</p>
+<p class="para">There would be no verification routine for the setting, please refer to the specification of your Arduino board to put a correct value.</p></div>
+<a name="Example1_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The following example shows the use of the block in connecting with an angular potentiometer which signal pin is connected to port 2 of Arduino board. The other two pins of the potentiometer are connected to ground (GND) and the 5 Volt the card directly.</p>
+<span><div style='text-align:center'><img src='./ANALOG_READ_example.png'/></div></span></div>
+<a name="Seealso_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ANALOG_WRITE_SB.html" class="link">ANALOG_WRITE_SB</a></p>
+ <p class="para"><a href="DIGITAL_READ_SB.html" class="link">DIGITAL_READ_SB</a></p>
+ <p class="para"><a href="DIGITAL_WRITE_SB.html" class="link">DIGITAL_WRITE_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">&lt;&lt; Arduino toolbox</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ANALOG_WRITE_SB.html">ANALOG_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB_dialogbox.png
new file mode 100644
index 0000000..0a4a823
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_example.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_example.png
new file mode 100644
index 0000000..4df93cf
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_READ_example.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.gif b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.gif
new file mode 100644
index 0000000..1da5d03
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.html
new file mode 100644
index 0000000..18b6f9f
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>ANALOG_WRITE_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="ANALOG_READ_SB.html">&lt;&lt; ANALOG_READ_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ARDUINO_SETUP.html">ARDUINO_SETUP &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; ANALOG_WRITE_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">ANALOG_WRITE_SB</h1>
+ <p class="refpurpose">Analog outputs which allow generation of analog voltage on a given port</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./ANALOG_WRITE_SB.gif'/></div></span></p></div>
+<a name="Contents_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="ANALOG_WRITE_SB.html" class="link">Analog outputs which allow generation of analog voltage on a given port</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="ANALOG_WRITE_SB.html#Palette_ANALOG_WRITE_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="ANALOG_WRITE_SB.html#Description_ANALOG_WRITE_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="ANALOG_WRITE_SB.html#Dialogbox_ANALOG_WRITE_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="ANALOG_WRITE_SB.html#Example1_ANALOG_WRITE_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="ANALOG_WRITE_SB.html#Seealso_ANALOG_WRITE_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term &#0034;analog output&#0034;, because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage.</p>
+<p class="para">The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p></div>
+<a name="Dialogbox_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./ANALOG_WRITE_SB_dialogbox.png'/></div></span>
+<p class="para">The port number must be 3, 5, 6, 9, 10, 11 for UNO card (PWM ports with symbol ~) and must be 1 to 13 or 44 to 46 for the MEGA board. Using other ports would either cause the output to 0 or 5V according to the value sent.</p>
+<p class="para">The card number can not be changed at this time.</p></div>
+<a name="Example1_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The following example shows the use of the block to control the brightness of a LED by a potentiometer. The LED (in series with a resistor with proper ohmic) is connected to ground (GND) and to the port 10 while potentiometer is connected to the analog input A2. As the analog input is 10 bits while the PWM is bits, it is necessary to add a gain to convert 0 - 1023 to 0 - 255.</p>
+<span><div style='text-align:center'><img src='./ANALOG_WRITE_exemple.png'/></div></span></div>
+<a name="Seealso_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ANALOG_READ_SB.html" class="link">ANALOG_READ_SB</a></p>
+ <p class="para"><a href="DIGITAL_READ_SB.html" class="link">DIGITAL_READ_SB</a></p>
+ <p class="para"><a href="DIGITAL_WRITE_SB.html" class="link">DIGITAL_WRITE_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="ANALOG_READ_SB.html">&lt;&lt; ANALOG_READ_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ARDUINO_SETUP.html">ARDUINO_SETUP &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..febf848
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_exemple.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_exemple.png
new file mode 100644
index 0000000..8b84651
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ANALOG_WRITE_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP.gif b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP.gif
new file mode 100644
index 0000000..e2e8d42
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP.html
new file mode 100644
index 0000000..214f950
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP.html
@@ -0,0 +1,88 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>ARDUINO_SETUP</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="ANALOG_WRITE_SB.html">&lt;&lt; ANALOG_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DCMOTOR_SB.html">DCMOTOR_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; ARDUINO_SETUP</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">ARDUINO_SETUP</h1>
+ <p class="refpurpose">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./ARDUINO_SETUP.gif'/></div></span></p></div>
+<a name="Contents_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="ARDUINO_SETUP.html" class="link">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="ARDUINO_SETUP.html#Palette_ARDUINO_SETUP" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="ARDUINO_SETUP.html#Description_ARDUINO_SETUP" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="ARDUINO_SETUP.html#Dialogbox_ARDUINO_SETUP" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="ARDUINO_SETUP.html#Example1_ARDUINO_SETUP" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="ARDUINO_SETUP.html#Seealso_ARDUINO_SETUP" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">This block is <b>compulsory</b> to be placed in the xcos model to use this toolbox.</p>
+<p class="para">It defines the communication setting between the Arduino board and Xcos.</p>
+<p class="para">The port setting can be determined by running the Arduino application from the menu item &#0034;Tools / Serial Port&#0034;. The port number can also be changed by going to computer&#0039;s &#0034;Device Manager / Ports (Advanced options)&#0034;.</p>
+<p class="para">Currently it is not possible to use multiple Arduino boards.</p>
+
+<p class="para">The toolbox can be used only on Windows for now.</p>
+
+<p class="para"><b>Before using Arduino toolbox, it is necessary to upload the program &#0034;toolbox_arduino.ino&#0034; to the board, which is available at:</b> http://www.demosciences.fr</p></div>
+<a name="Dialogbox_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./ARDUINO_SETUP_dialogbox.png'/></div></span>
+<p class="para">The communication port must be specified (between 2 and 9 or an error message would appear).</p>
+<p class="para">The card number Arduino must be equal to 1 now (or an error message would appear)</p></div>
+<a name="Example1_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the block to blink the LED at port 13 of the UNO card set on the serial port 5. All blocks are using the default settings, except for the PULSE block from the source palette where the phase shift is changed to 0.</p>
+<span><div style='text-align:center'><img src='./ARDUINO_SETUP_example.png'/></div></span></div>
+<a name="Seealso_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="TIME_SAMPLE.html" class="link">TIME_SAMPLE</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="ANALOG_WRITE_SB.html">&lt;&lt; ANALOG_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DCMOTOR_SB.html">DCMOTOR_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP_dialogbox.png
new file mode 100644
index 0000000..715ec38
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP_example.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP_example.png
new file mode 100644
index 0000000..22f0da8
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ARDUINO_SETUP_example.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ASSERV_POS_exemple.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ASSERV_POS_exemple.png
new file mode 100644
index 0000000..2ddb447
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ASSERV_POS_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB.gif b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB.gif
new file mode 100644
index 0000000..c5cf0e6
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB.html
new file mode 100644
index 0000000..e1d3bf3
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB.html
@@ -0,0 +1,101 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>DCMOTOR_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="ARDUINO_SETUP.html">&lt;&lt; ARDUINO_SETUP</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DIGITAL_READ_SB.html">DIGITAL_READ_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; DCMOTOR_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">DCMOTOR_SB</h1>
+ <p class="refpurpose">This block is used to control a DC motor</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./DCMOTOR_SB.gif'/></div></span></p></div>
+<a name="Contents_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="DCMOTOR_SB.html" class="link">This block is used to control a DC motor</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="DCMOTOR_SB.html#Palette_DCMOTOR_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="DCMOTOR_SB.html#Description_DCMOTOR_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="DCMOTOR_SB.html#Dialogbox_DCMOTOR_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="DCMOTOR_SB.html#Example1_DCMOTOR_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="DCMOTOR_SB.html#Seealso_DCMOTOR_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">The DCMOTOR block is used to control one or more DC motors. Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.</p>
+<p class="para">This is why the block is used to select the type of card or H-bridge used and depending on the choice, a different menu would pop up to for the device dependent setting (port numbers or motor number ...)</p>
+<p class="para">Remember that the PWM is 8-bit (0 to 255).</p>
+<p class="para">The input of the block could accept any value, but it would saturate at +- 255.</p>
+<p class="para">Do note that the sampling rate is 8 ms minimum for this block.</p>
+<p class="para"></p></div>
+<a name="Dialogbox_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<p class="para">The block has two menus.</p>
+<p class="para">The first lets you choose the type of card used:</p>
+<p class="para">1 for official Motorshield Rev3 available on the website arduino.cc card</p>
+<p class="para">2 H-bridge L298 using PWM and a current sense</p>
+<p class="para">3 H-bridge L293 using two PWM</p>
+<p class="para">The card number can not be changed at this time.</p>
+<span><div style='text-align:center'><img src='./DCMOTOR_SB_dialogbox1.png'/></div></span>
+
+<p class="para">The second menu is for the setting of the selected card used</p>
+<p class="para">For Motorshield channel number 1 or 2 correspond to the motor A or B on the Shield.</p>
+
+<span><div style='text-align:center'><img src='./DCMOTOR_SB_dialogbox2.png'/></div></span>
+<p class="para">For L298, one informs the port number specification of meaning (any digital port), the number of the port for PWM speed (3,5,6,9,10,11) and the number of motor-driven (limited 1 to 4)</p>
+<span><div style='text-align:center'><img src='./DCMOTOR_SB_dialogbox3.png'/></div></span>
+<p class="para">For L293, the setting are 2 PWM port and the motor number (1 to 3)</p>
+<span><div style='text-align:center'><img src='./DCMOTOR_SB_dialogbox4.png'/></div></span></div>
+<a name="Example1_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The following example shows the of the motor unit associated with a potentiometer. When the knob is in the middle position, the motor is not moving while when the knob is turned in one direction or the other, the motor is moving faster or slower in one direction or the other.</p>
+<p class="para">A gain block is used to convert the 10 bits analog input to the 8 bits motor output. (or the input of this block)</p>
+<span><div style='text-align:center'><img src='./DCMOTOR_exemple.png'/></div></span></div>
+<a name="Seealso_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ENCODER_SB.html" class="link">ENCODER_SB</a></p>
+ <p class="para"><a href="SERVO_WRITE_SB.html" class="link">SERVO_WRITE_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="ARDUINO_SETUP.html">&lt;&lt; ARDUINO_SETUP</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DIGITAL_READ_SB.html">DIGITAL_READ_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox1.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox1.png
new file mode 100644
index 0000000..5bf8920
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox2.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox2.png
new file mode 100644
index 0000000..4d2a7b4
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox3.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox3.png
new file mode 100644
index 0000000..34a15d0
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox3.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox4.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox4.png
new file mode 100644
index 0000000..c80e6c3
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox4.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_exemple.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_exemple.png
new file mode 100644
index 0000000..24e50fe
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DCMOTOR_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.gif b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.gif
new file mode 100644
index 0000000..39dea04
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.html
new file mode 100644
index 0000000..b2773f4
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>DIGITAL_READ_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="DCMOTOR_SB.html">&lt;&lt; DCMOTOR_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DIGITAL_WRITE_SB.html">DIGITAL_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; DIGITAL_READ_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">DIGITAL_READ_SB</h1>
+ <p class="refpurpose">Allows to receive a logical value 0 or 1 on a given port.</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./DIGITAL_READ_SB.gif'/></div></span></p></div>
+<a name="Contents_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="DIGITAL_READ_SB.html" class="link">Allows to receive a logical value 0 or 1 on a given port.</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="DIGITAL_READ_SB.html#Palette_DIGITAL_READ_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="DIGITAL_READ_SB.html#Description_DIGITAL_READ_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="DIGITAL_READ_SB.html#Dialogbox_DIGITAL_READ_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="DIGITAL_READ_SB.html#Example1_DIGITAL_READ_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="DIGITAL_READ_SB.html#Seealso_DIGITAL_READ_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.</p>
+<p class="para">To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p></div>
+<a name="Dialogbox_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./DIGITAL_READ_SB_dialogbox.png'/></div></span>
+<p class="para">The digital port number is between 2 and 53, chosen based on his Arduino.</p>
+<p class="para">The card number can not be changed at this time.</p></div>
+<a name="Example1_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up.</p>
+<span><div style='text-align:center'><img src='./DIGITAL_exemple.png'/></div></span></div>
+<a name="Seealso_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ANALOG_READ_SB.html" class="link">ANALOG_READ_SB</a></p>
+ <p class="para"><a href="ANALOG_WRITE_SB.html" class="link">ANALOG_WRITE_SB</a></p>
+ <p class="para"><a href="DIGITAL_WRITE_SB.html" class="link">DIGITAL_WRITE_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="DCMOTOR_SB.html">&lt;&lt; DCMOTOR_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DIGITAL_WRITE_SB.html">DIGITAL_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB_dialogbox.png
new file mode 100644
index 0000000..244b37d
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.gif b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.gif
new file mode 100644
index 0000000..e47dca2
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.html
new file mode 100644
index 0000000..a0ff361
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.html
@@ -0,0 +1,86 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>DIGITAL_WRITE_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="DIGITAL_READ_SB.html">&lt;&lt; DIGITAL_READ_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ENCODER_SB.html">ENCODER_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; DIGITAL_WRITE_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">DIGITAL_WRITE_SB</h1>
+ <p class="refpurpose">Allows to send a logical value 0 or 1 on a given port.</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./DIGITAL_WRITE_SB.gif'/></div></span></p></div>
+<a name="Contents_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="DIGITAL_WRITE_SB.html" class="link">Allows to send a logical value 0 or 1 on a given port.</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="DIGITAL_WRITE_SB.html#Palette_DIGITAL_WRITE_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="DIGITAL_WRITE_SB.html#Description_DIGITAL_WRITE_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="DIGITAL_WRITE_SB.html#Dialogbox_DIGITAL_WRITE_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="DIGITAL_WRITE_SB.html#Example1_DIGITAL_WRITE_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="DIGITAL_WRITE_SB.html#Seealso_DIGITAL_WRITE_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">The UNO card has a set of logical ports (digital) which are used for writing or reading data from a component.</p>
+<p class="para">To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p>
+<p class="para"></p></div>
+<a name="Dialogbox_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./DIGITAL_WRITE_SB_dialogbox.png'/></div></span>
+<p class="para">The digital port number is between 2 and 53, chosen based on his Arduino.</p>
+<p class="para">The card number can not be changed at this time.</p></div>
+<a name="Example1_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up.</p>
+<span><div style='text-align:center'><img src='./DIGITAL_exemple.png'/></div></span></div>
+<a name="Seealso_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ANALOG_READ_SB.html" class="link">ANALOG_READ_SB</a></p>
+ <p class="para"><a href="ANALOG_WRITE_SB.html" class="link">ANALOG_WRITE_SB</a></p>
+ <p class="para"><a href="DIGITAL_READ_SB.html" class="link">DIGITAL_READ_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="DIGITAL_READ_SB.html">&lt;&lt; DIGITAL_READ_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ENCODER_SB.html">ENCODER_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..4abc644
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_exemple.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_exemple.png
new file mode 100644
index 0000000..22832fa
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/DIGITAL_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB.gif b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB.gif
new file mode 100644
index 0000000..6cbd55b
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB.html
new file mode 100644
index 0000000..4a6244f
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB.html
@@ -0,0 +1,100 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>ENCODER_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="DIGITAL_WRITE_SB.html">&lt;&lt; DIGITAL_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="INTERRUPT_SB.html">INTERRUPT_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; ENCODER_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">ENCODER_SB</h1>
+ <p class="refpurpose">Used to read encoder signal from one or more channels.</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./ENCODER_SB.gif'/></div></span></p></div>
+<a name="Contents_ENCODER_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="ENCODER_SB.html" class="link">Used to read encoder signal from one or more channels.</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="ENCODER_SB.html#Palette_ENCODER_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="ENCODER_SB.html#Description_ENCODER_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="ENCODER_SB.html#Dialogbox_ENCODER_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="ENCODER_SB.html#Example1_ENCODER_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="ENCODER_SB.html#Example2_ENCODER_SB" class="xref">Example 2</a></p></li>
+ <li><p class="para"><a href="ENCODER_SB.html#Seealso_ENCODER_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_ENCODER_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_ENCODER_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">Many sensors (incremental encoder, Hall sensor ...) return a pulses signal for which one wishes to count the edges. The block is used to perform this operation for one or two encoders. It uses the interrupts inputs available on the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment or decrement a counter.</p>
+<p class="para">Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and from 18 to 21. It is necessary to use an additional signal to determine the direction of the encoder.</p>
+<p class="para">Thus, the block offers the possibility to read from a quadrature encoder. It is then necessary that the two channels are wired to the interrupt and the rising and falling edges are taken into account on two channels pins (the precision is increased and can also determine the direction).</p>
+<p class="para">On the contrary, if a mode other than the quadrature is used, only one pin must be connected to the interrupt, the other pin can be connected to a conventional digital input.</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p></div>
+<a name="Dialogbox_ENCODER_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+
+<p class="para">The block has two menus.</p>
+<p class="para">The first allows you to select the mode on how to read the signal from the encoder (choice of 1, 2 or 4).</p>
+<p class="para">The card number can not be changed at this time.</p>
+<span><div style='text-align:center'><img src='./ENCODER_SB_dialogbox1.png'/></div></span>
+<p class="para">Mode 1 uses a one interrupt and any digital channel to determine the direction. Only the rising edges of the channel interrupt is taken into account in this mode.</p>
+<p class="para">Mode 2 uses the same channels, but both the rising and falling edges of the channel interrupt is taken into account.</p>
+<p class="para">Mode 4 corresponds to the quadrature mode. In this mode, the rising and falling edges of the two channels are taken into account.</p>
+
+<p class="para">The second menu allows you to specify the ports used in the mode selected:</p>
+<span><div style='text-align:center'><img src='./ENCODER_SB_dialogbox2.png'/></div></span>
+<p class="para">mode 1x : Declaration of interrupt pins 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and a declaration of any digital pin 2 to 13 for a UNO card (2 to 53 MEGA)</p>
+<p class="para">mode 2x : Same as above.</p>
+<p class="para">mode 4x : Mandatory use of two interrupt pins 2 and 3 on a UNO card. 2 from pin 2, 3 or from 18 to 21 for MEGA.</p></div>
+<a name="Example1_ENCODER_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The following example shows the use of the block in the case of a motor whose position is noted over time and speed from the signal from the encoder. The 4x mode was chosen to improve the accuracy. The setting of the motor is the same as that of motor example.</p>
+<span><div style='text-align:center'><img src='./ENCODER_exemple.png'/></div></span></div>
+<a name="Example2_ENCODER_SB"></a><div class="refsection"><h3 class="title">Example 2</h3>
+<p class="para">The following example shows a position control using information from the encoder for comparison with a reference variable. A PI controller is used to correct the difference and outputting the control voltage for the DC motor.</p>
+<span><div style='text-align:center'><img src='./ASSERV_POS_exemple.png'/></div></span></div>
+<a name="Seealso_ENCODER_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="DCMOTOR_SB.html" class="link">DCMOTOR_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="DIGITAL_WRITE_SB.html">&lt;&lt; DIGITAL_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="INTERRUPT_SB.html">INTERRUPT_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox1.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox1.png
new file mode 100644
index 0000000..8dbe19c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox2.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox2.png
new file mode 100644
index 0000000..b63878e
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_exemple.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_exemple.png
new file mode 100644
index 0000000..9c477cf
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ENCODER_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB.gif b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB.gif
new file mode 100644
index 0000000..ec40a43
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB.html
new file mode 100644
index 0000000..fb7e402
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB.html
@@ -0,0 +1,84 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>INTERRUPT_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="ENCODER_SB.html">&lt;&lt; ENCODER_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="SERVO_WRITE_SB.html">SERVO_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; INTERRUPT_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">INTERRUPT_SB</h1>
+ <p class="refpurpose">Used to track a set of events on one or more channels.</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./INTERRUPT_SB.gif'/></div></span></p></div>
+<a name="Contents_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="INTERRUPT_SB.html" class="link">Used to track a set of events on one or more channels.</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="INTERRUPT_SB.html#Palette_INTERRUPT_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="INTERRUPT_SB.html#Description_INTERRUPT_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="INTERRUPT_SB.html#Dialogbox_INTERRUPT_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="INTERRUPT_SB.html#Example1_INTERRUPT_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="INTERRUPT_SB.html#Seealso_INTERRUPT_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">This is a read counter that counts the information from absolute position sensors (Hall effect sensor ...).</p>
+<p class="para">The block is used to read the rising edges detected on the interruption inputs of the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment a counter.</p>
+<p class="para">Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and 18 to 21.</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p></div>
+<a name="Dialogbox_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<p class="para">The device offers a menu that allows the declaration of the interrupt pin 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and declaration of any digital pin 2 to 13 for a UNO card (2-53 for the MEGA board).</p>
+<p class="para">The card number can not be changed at this time.</p>
+<span><div style='text-align:center'><img src='./INTERRUPT_SB_dialogbox.png'/></div></span></div>
+<a name="Example1_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the block to count the signal of a optical sensor connected to pin 3.</p>
+<span><div style='text-align:center'><img src='./INTERRUPT_exemple.png'/></div></span></div>
+<a name="Seealso_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ENCODER_SB.html" class="link">ENCODER_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="ENCODER_SB.html">&lt;&lt; ENCODER_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="SERVO_WRITE_SB.html">SERVO_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB_dialogbox.png
new file mode 100644
index 0000000..ec3f62c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_exemple.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_exemple.png
new file mode 100644
index 0000000..7807247
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/INTERRUPT_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS
new file mode 100644
index 0000000..57c8404
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
new file mode 100644
index 0000000..3b464d6
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
@@ -0,0 +1,3 @@
+eÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿuÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷_ÿÿÿÿÿÙÙÿÿý—ÿÿÿÿÿÿÿÌ%—ÿÿÿÿÿÿÿÿ÷_ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ0ŸÿÿÿÿÿÿÿÿóIÿÿÿÿÿÿÿÿÿÿÿý×ÿÿÿÿÿö_Ùö_ÿÿÿÿÿÿý×ÿuÿeÿÿÿÿÿÿÿÍ'ÿýÕåÿ@Õ¯Ì!ÅÆ—š0—WûOt6_íÿ[ã"*™*et¹¬\l\m.¡qÁq´ü`\h\b¨_)'Åül_lOüÒüÙ‹ÌbüÂÆÏ,âñ¡rÿ<¼á¡G‹Ì,ÒÆ„ÆÄÎF,òóË<±1¡tqhdHlHl\`ZÑ¢ñ©EƪÄüñªúŽ,Æ‹þ¨Âÿã †(`Ré†
+4ª®Œ.†Dÿîï0¿¯ó ÿ4³ ÿ0¼`Xºª£Ê8ª®ªª¯û0³r³
+Œ*ªŒ**«ÿªªºªª«4¿ë̪dªªdª¦BÿÿÍbúºªŒŠ2ªªªªd©‹üÒÿÿÿÿÿÿÿÿÿ7ÿËÿÿÿÿÿÿÿÿÿÿÿüÂÿÿ` \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
new file mode 100644
index 0000000..9b7c062
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
@@ -0,0 +1 @@
+„øˆšŸ$ÙþAhA…ÍjjR!…#†)ᆡ@ €º[KߢÏáþ¿¯|h¹r.Æ.¡–+³…E´oG¤bè¹b6–.P+Àbèb7D¼v«û£.M—6³—O<^ªf¨VŒ|F«]¤Íäx¼ôŠ—Šu.«x¼<Œ5 \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS
new file mode 100644
index 0000000..650fe51
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA
new file mode 100644
index 0000000..9aee059
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA
@@ -0,0 +1,2 @@
+JavaSearch 1.0
+TMAP bs=2048 rt=1 fl=-1 id1=659 id2=1
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP
new file mode 100644
index 0000000..6d42bb4
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_SB_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_SB_dialogbox.png
new file mode 100644
index 0000000..a421e75
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_SB_exemple.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_SB_exemple.png
new file mode 100644
index 0000000..86cb244
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_SB_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.gif b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.gif
new file mode 100644
index 0000000..f04d9fe
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.html
new file mode 100644
index 0000000..cf4c7d1
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.html
@@ -0,0 +1,89 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>SERVO_WRITE_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="INTERRUPT_SB.html">&lt;&lt; INTERRUPT_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="TIME_SAMPLE.html">TIME_SAMPLE &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; SERVO_WRITE_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">SERVO_WRITE_SB</h1>
+ <p class="refpurpose">Drive a servomotor by sending command of the angle from 0 to 180°</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./SERVO_WRITE_SB.gif'/></div></span></p></div>
+<a name="Contents_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="SERVO_WRITE_SB.html" class="link">Drive a servomotor by sending command of the angle from 0 to 180°</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="SERVO_WRITE_SB.html#Palette_SERVO_WRITE_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="SERVO_WRITE_SB.html#Description_SERVO_WRITE_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="SERVO_WRITE_SB.html#Dialogbox_SERVO_WRITE_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="SERVO_WRITE_SB.html#Example1_SERVO_WRITE_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="SERVO_WRITE_SB.html#Seealso_SERVO_WRITE_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).</p>
+<p class="para">The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.</p>
+<p class="para">A servomotor for continuous rotation, the pulse width control the rotational speed and the direction.</p>
+<p class="para">It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power.</p>
+<p class="para">For simplicity, the block takes an input commnad in degrees from 0 to 180.</p>
+<p class="para">Two actuators can be controlled with this toolbox. (modified version of 3 motors available)</p>
+
+<p class="para">Do note that the sampling rate is at least 10 ms for this block.</p></div>
+<a name="Dialogbox_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./SERVO_SB_dialogbox.png'/></div></span>
+<p class="para">The block is used to set the number of servomotor to be driven. Servo 1 corresponds to port 9 on Arduino and Servo 2 corresponds to port 10 on Arduino.</p>
+<p class="para">The card number can not be changed at this time.</p></div>
+<a name="Example1_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the servomotor block which position is controlled by the potentiometer at analog port 0 .</p>
+<p class="para">A gain block is used to convert the 10 bits analog input signal from the potentiometer to the range of 0 to 180 to which specify the desired position of the servomotor.</p>
+<span><div style='text-align:center'><img src='./SERVO_SB_exemple.png'/></div></span></div>
+<a name="Seealso_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="DCMOTOR_SB.html" class="link">DCMOTOR_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="INTERRUPT_SB.html">&lt;&lt; INTERRUPT_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="TIME_SAMPLE.html">TIME_SAMPLE &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabCaution.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabCaution.png
new file mode 100644
index 0000000..a9e4ff3
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabCaution.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabEdit.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabEdit.png
new file mode 100644
index 0000000..188e1c1
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabEdit.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabExecute.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabExecute.png
new file mode 100644
index 0000000..a7de0fe
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabExecute.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabImportant.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabImportant.png
new file mode 100644
index 0000000..81e9ed2
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabImportant.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabNote.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabNote.png
new file mode 100644
index 0000000..8851b99
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabNote.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabTip.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabTip.png
new file mode 100644
index 0000000..8851b99
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabTip.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabWarning.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabWarning.png
new file mode 100644
index 0000000..a9e4ff3
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/ScilabWarning.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE.gif b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE.gif
new file mode 100644
index 0000000..01837f0
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE.html
new file mode 100644
index 0000000..dd80b55
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE.html
@@ -0,0 +1,84 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>TIME_SAMPLE</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="SERVO_WRITE_SB.html">&lt;&lt; SERVO_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="close_serial.html">close_serial &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; TIME_SAMPLE</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">TIME_SAMPLE</h1>
+ <p class="refpurpose">Set the control duration and the sampling time</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./TIME_SAMPLE.gif'/></div></span></p></div>
+<a name="Contents_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="TIME_SAMPLE.html" class="link">Set the control duration and the sampling time</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="TIME_SAMPLE.html#Palette_TIME_SAMPLE" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="TIME_SAMPLE.html#Description_TIME_SAMPLE" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="TIME_SAMPLE.html#Dialogbox_TIME_SAMPLE" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="TIME_SAMPLE.html#Example1_TIME_SAMPLE" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="TIME_SAMPLE.html#Seealso_TIME_SAMPLE" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">This block is <b>compulsory</b> to be placed in the xcos model to use this toolbox.</p>
+<p class="para">It defines the simulation time of the model as well as the sampling time used for the model (each block is sampled by this step).</p>
+<p class="para">Due to the limitation of serial communication the sampling time is about 8 ms (it is possible to go down to 4 ms) per block.</p>
+<p class="para">For the complex model, do make sure that the sampling is sufficient for the execution. This could be done by measuring the simulation time is the actual time (10 s simulation should last 10 s). Otherwise, increase the sampling period to suit the need of the model.</p></div>
+<a name="Dialogbox_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./TIME_SAMPLE_dialogbox.png'/></div></span>
+<p class="para">The simulation time (positive) must be specified.</p>
+<p class="para">The sampling time must be set completed according to the complexity of the model</p></div>
+<a name="Example1_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the block to blink the LED on port 13 of the UNO card set on the communication port 5. All blocks are using the default settings, except for the PULSE block the standard palette of which the phase shift is set to 0.</p>
+<span><div style='text-align:center'><img src='./ARDUINO_SETUP_example.png'/></div></span></div>
+<a name="Seealso_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ARDUINO_SETUP.html" class="link">ARDUINO_SETUP</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="SERVO_WRITE_SB.html">&lt;&lt; SERVO_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="close_serial.html">close_serial &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE_dialogbox.png b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE_dialogbox.png
new file mode 100644
index 0000000..45022af
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/TIME_SAMPLE_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/c_code.css b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/c_code.css
new file mode 100644
index 0000000..948d2ee
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/c_code.css
@@ -0,0 +1,54 @@
+.ccomment {
+ font-style: italic;
+ color: #b22222
+}
+
+.cdefault {
+ font-style: normal;
+ color: #000000
+}
+
+.copenclose {
+ font-style: normal;
+ color: #000000
+}
+
+.coperator {
+ font-style: normal;
+ color: #000000
+}
+
+.cstring {
+ font-style: normal;
+ color: #a6557a
+}
+
+.ctype {
+ font-style: normal;
+ color: #55a655
+}
+
+.cpreprocessor {
+ font-style: normal;
+ color: #9965a6
+}
+
+.cid {
+ font-style: normal;
+ color: #000000
+}
+
+.ckeyword {
+ font-style: normal;
+ color: #ad3ff2
+}
+
+.cmodifier {
+ font-style: normal;
+ color: #ad3ff2
+}
+
+.cnumber {
+ font-style: normal;
+ color: #008b8b
+}
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/close_serial.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/close_serial.html
new file mode 100644
index 0000000..33c3c3f
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/close_serial.html
@@ -0,0 +1,83 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>close_serial</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="TIME_SAMPLE.html">&lt;&lt; TIME_SAMPLE</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_in.html">cmd_analog_in &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; close_serial</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">close_serial</h1>
+ <p class="refpurpose">Command to close the serial port which is connected to Arduino</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">res</span><span class="default">=</span><span class="functionid">close_serial</span><span class="default">(</span><span class="default">nHandle</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">nHandle :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">res :</span>
+ <dd><p class="para">0 if the connection is successful, else the connection fail</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">It is important to close the serial port after use, else the port would be busy and restart of Scilab might required to connect to it again.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="open_serial.html" class="link">open_serial</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="TIME_SAMPLE.html">&lt;&lt; TIME_SAMPLE</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_in.html">cmd_analog_in &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_in.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_in.html
new file mode 100644
index 0000000..852af48
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_in.html
@@ -0,0 +1,87 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_analog_in</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="close_serial.html">&lt;&lt; close_serial</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_in_volt.html">cmd_analog_in_volt &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_analog_in</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_analog_in</h1>
+ <p class="refpurpose">Command to read in analog signal from a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">val</span><span class="default"> = </span><span class="functionid">cmd_analog_in</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Analog pin to measure the signal</p></dd></dt>
+ <dt><span class="term">val :</span>
+ <dd><p class="para">Reading in the range of 0-1023 to to indicate the input voltage from 0-5V</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">val</span> <span class="scilaboperator">=</span> <span class="scilabid">cmd_analog_in</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_analog_in_volt.html" class="link">cmd_analog_in_volt</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="close_serial.html">&lt;&lt; close_serial</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_in_volt.html">cmd_analog_in_volt &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_in_volt.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_in_volt.html
new file mode 100644
index 0000000..542fa4a
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_in_volt.html
@@ -0,0 +1,87 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_analog_in_volt</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_in.html">&lt;&lt; cmd_analog_in</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_out.html">cmd_analog_out &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_analog_in_volt</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_analog_in_volt</h1>
+ <p class="refpurpose">Command to read in analog signal from a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">val</span><span class="default"> = </span><span class="functionid">cmd_analog_in_volt</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Analog pin to measure the signal</p></dd></dt>
+ <dt><span class="term">val :</span>
+ <dd><p class="para">Reading in the input voltage from 0-5V</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. This function scale the reading to 0-5 so the user could get the measured voltage directly</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">val</span> <span class="scilaboperator">=</span> <span class="scilabid">cmd_analog_in_volt</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_analog_out.html" class="link">cmd_analog_out</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_in.html">&lt;&lt; cmd_analog_in</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_out.html">cmd_analog_out &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_out.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_out.html
new file mode 100644
index 0000000..5d69a8f
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_out.html
@@ -0,0 +1,91 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_analog_out</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_in_volt.html">&lt;&lt; cmd_analog_in_volt</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_out_volt.html">cmd_analog_out_volt &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_analog_out</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_analog_out</h1>
+ <p class="refpurpose">Command to sent out analog signal to a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_analog_out</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">,</span><span class="default">val</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin with ~ to sent the signal</p></dd></dt>
+ <dt><span class="term">val :</span>
+ <dd><p class="para">The value of 0-255 to be sent to the digital pins with ~ sign. It will be then scaled to 0-5V</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+It is a bit misleading to use the term &#0034;analog output&#0034;, because in order to generate this output while minimizing energy losses,
+the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+voltage across the component connected to this port, which has the effect of having a analog output voltage.</p>
+ <p class="para">The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_analog_out</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_analog_out_volt.html" class="link">cmd_analog_out_volt</a></li>
+ <li class="member"><a href="cmd_arduino_a_control.html" class="link">cmd_arduino_a_control</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_in_volt.html">&lt;&lt; cmd_analog_in_volt</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_out_volt.html">cmd_analog_out_volt &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_out_volt.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_out_volt.html
new file mode 100644
index 0000000..7797a02
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_analog_out_volt.html
@@ -0,0 +1,90 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_analog_out_volt</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_out.html">&lt;&lt; cmd_analog_out</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_a_control.html">cmd_arduino_a_control &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_analog_out_volt</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_analog_out_volt</h1>
+ <p class="refpurpose">Command to sent out analog signal to a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_analog_out_volt</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin with ~ to sent the signal</p></dd></dt>
+ <dt><span class="term">val :</span>
+ <dd><p class="para">The value in volt (0-5) to be sent to the digital pins with ~ sign.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+It is a bit misleading to use the term &#0034;analog output&#0034;, because in order to generate this output while minimizing energy losses,
+the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+voltage across the component connected to this port, which has the effect of having a analog output voltage.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_analog_out_volt</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_analog_out.html" class="link">cmd_analog_out</a></li>
+ <li class="member"><a href="cmd_arduino_a_control.html" class="link">cmd_arduino_a_control</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_out.html">&lt;&lt; cmd_analog_out</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_a_control.html">cmd_arduino_a_control &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_a_control.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_a_control.html
new file mode 100644
index 0000000..2af0087
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_a_control.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_arduino_a_control</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_out_volt.html">&lt;&lt; cmd_analog_out_volt</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_d_control.html">cmd_arduino_d_control &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_arduino_a_control</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_arduino_a_control</h1>
+ <p class="refpurpose">GUI to control analog signal to be sent to a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_arduino_a_control</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin with ~ to sent the signal</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_arduino_a_control</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_analog_out_volt.html" class="link">cmd_analog_out_volt</a></li>
+ <li class="member"><a href="cmd_analog_out.html" class="link">cmd_analog_out</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_out_volt.html">&lt;&lt; cmd_analog_out_volt</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_d_control.html">cmd_arduino_d_control &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_d_control.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_d_control.html
new file mode 100644
index 0000000..34862b2
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_d_control.html
@@ -0,0 +1,86 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_arduino_d_control</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_a_control.html">&lt;&lt; cmd_arduino_a_control</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_meter.html">cmd_arduino_meter &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_arduino_d_control</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_arduino_d_control</h1>
+ <p class="refpurpose">GUI to control digital signal to be sent to a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_arduino_d_control</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin to sent the signal</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_arduino_d_control</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="scilab://cmd_digital_out_volt" class="link">cmd_digital_out_volt</a></li>
+ <li class="member"><a href="cmd_digital_out.html" class="link">cmd_digital_out</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li>
+ <li class="member">str = string(val)</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_a_control.html">&lt;&lt; cmd_arduino_a_control</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_meter.html">cmd_arduino_meter &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_meter.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_meter.html
new file mode 100644
index 0000000..c35af5b
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_arduino_meter.html
@@ -0,0 +1,84 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_arduino_meter</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_d_control.html">&lt;&lt; cmd_arduino_d_control</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_release.html">cmd_dcmotor_release &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_arduino_meter</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_arduino_meter</h1>
+ <p class="refpurpose">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_arduino_meter</span><span class="default">(</span><span class="default">val</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">val :</span>
+ <dd><p class="para">Value to be displayed</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This GUI provides a convenient way display a continuous data from a loop and break the loop after the termination of the GUI. By this, it behave like a digital meter by showing the data in a GUI instead of the console</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">val</span> <span class="scilaboperator">=</span> <span class="scilabid">cmd_analog_in_volt</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_arduino_meter</span><span class="scilabopenclose">(</span><span class="scilabid">val</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_arduino_d_control.html" class="link">cmd_arduino_d_control</a></li>
+ <li class="member"><a href="cmd_arduino_a_control.html" class="link">cmd_arduino_a_control</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_d_control.html">&lt;&lt; cmd_arduino_d_control</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_release.html">cmd_dcmotor_release &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_release.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_release.html
new file mode 100644
index 0000000..f895d2e
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_release.html
@@ -0,0 +1,84 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_dcmotor_release</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_meter.html">&lt;&lt; cmd_arduino_meter</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_run.html">cmd_dcmotor_run &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_dcmotor_release</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_dcmotor_release</h1>
+ <p class="refpurpose">Command to release pins which have setup for DC motor</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_dcmotor_release</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">motor_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">motor_no :</span>
+ <dd><p class="para">ID in which the motor has been connected</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.</p>
+ <p class="para">Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_setup</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">10</span><span class="scilabopenclose">)</span> <span class="scilabcomment">// Setup DC motor of type 3 (L293), motor 1, pin 9 and 10</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_release</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_meter.html">&lt;&lt; cmd_arduino_meter</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_run.html">cmd_dcmotor_run &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_run.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_run.html
new file mode 100644
index 0000000..47e97f2
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_run.html
@@ -0,0 +1,86 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_dcmotor_run</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_release.html">&lt;&lt; cmd_dcmotor_release</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_setup.html">cmd_dcmotor_setup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_dcmotor_run</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_dcmotor_run</h1>
+ <p class="refpurpose">Command to run DC motor after setting up</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_dcmotor_run</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">motor_no</span><span class="default">,</span><span class="default">u1</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">motor_no :</span>
+ <dd><p class="para">ID in which the motor has been connected</p></dd></dt>
+ <dt><span class="term">u1 :</span>
+ <dd><p class="para">Value to sent, range from -255 to 255, for clockwise and anti-clockwise direction</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.</p>
+ <p class="para">Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_setup</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">10</span><span class="scilabopenclose">)</span> <span class="scilabcomment">// Setup DC motor of type 3 (L293), motor 1, pin 9 and 10</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_release</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_release.html">&lt;&lt; cmd_dcmotor_release</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_setup.html">cmd_dcmotor_setup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_setup.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_setup.html
new file mode 100644
index 0000000..a92e41c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_dcmotor_setup.html
@@ -0,0 +1,90 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_dcmotor_setup</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_run.html">&lt;&lt; cmd_dcmotor_run</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_digital_in.html">cmd_digital_in &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_dcmotor_setup</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_dcmotor_setup</h1>
+ <p class="refpurpose">Command to setup pins to control DC motor</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_dcmotor_setup</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">driver_type</span><span class="default">,</span><span class="default">motor_no</span><span class="default">,</span><span class="default">pin_no_1</span><span class="default">,</span><span class="default">pin_no_2</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">driver_type :</span>
+ <dd><p class="para">1=Motorshield Rev3, 2=L298, 3=L293</p></dd></dt>
+ <dt><span class="term">motor_no :</span>
+ <dd><p class="para">ID used to identify motor to be connected</p></dd></dt>
+ <dt><span class="term">pin_no_1 :</span>
+ <dd><p class="para">Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.</p></dd></dt>
+ <dt><span class="term">pin_no_2 :</span>
+ <dd><p class="para">Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.</p>
+ <p class="para">Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_setup</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">10</span><span class="scilabopenclose">)</span> <span class="scilabcomment">// Setup DC motor of type 3 (L293), motor 1, pin 9 and 10</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_release</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_run.html">&lt;&lt; cmd_dcmotor_run</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_digital_in.html">cmd_digital_in &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_digital_in.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_digital_in.html
new file mode 100644
index 0000000..558f262
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_digital_in.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_digital_in</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_setup.html">&lt;&lt; cmd_dcmotor_setup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_digital_out.html">cmd_digital_out &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_digital_in</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_digital_in</h1>
+ <p class="refpurpose">Command to read in digital signal from a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">values</span><span class="default"> = </span><span class="functionid">cmd_digital_in</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin to measure the signal</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.</p>
+ <p class="para">To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">val</span> <span class="scilaboperator">=</span> <span class="scilabid">cmd_digital_in</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_digital_out.html" class="link">cmd_digital_out</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_setup.html">&lt;&lt; cmd_dcmotor_setup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_digital_out.html">cmd_digital_out &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_digital_out.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_digital_out.html
new file mode 100644
index 0000000..52ba2ba
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_digital_out.html
@@ -0,0 +1,90 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_digital_out</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_digital_in.html">&lt;&lt; cmd_digital_in</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_attach.html">cmd_servo_attach &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_digital_out</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_digital_out</h1>
+ <p class="refpurpose">Command to sent out digital signal to a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_digital_out</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">,</span><span class="default">val</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin to sent the signal</p></dd></dt>
+ <dt><span class="term">val :</span>
+ <dd><p class="para">The value of 0 or 1 to be sent to the digital pins with. It is correspond to 0 and 5V</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.</p>
+ <p class="para">To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_digital_out</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">13</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_digital_out</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">13</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_digital_in.html" class="link">cmd_digital_in</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_digital_in.html">&lt;&lt; cmd_digital_in</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_attach.html">cmd_servo_attach &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_attach.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_attach.html
new file mode 100644
index 0000000..cf9b47f
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_attach.html
@@ -0,0 +1,94 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_servo_attach</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_digital_out.html">&lt;&lt; cmd_digital_out</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_detach.html">cmd_servo_detach &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_servo_attach</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_servo_attach</h1>
+ <p class="refpurpose">Command to attach servo motor to Arduino</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_servo_attach</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">servo_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">servo_no :</span>
+ <dd><p class="para">1=pin 9, 2=pin 10</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).</p>
+ <p class="para">The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.</p>
+ <p class="para">A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_attach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">90</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">45</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_detach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_servo_move.html" class="link">cmd_servo_move</a></li>
+ <li class="member"><a href="cmd_servo_detach.html" class="link">cmd_servo_detach</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_digital_out.html">&lt;&lt; cmd_digital_out</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_detach.html">cmd_servo_detach &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_detach.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_detach.html
new file mode 100644
index 0000000..8a5c3aa
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_detach.html
@@ -0,0 +1,94 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_servo_detach</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_attach.html">&lt;&lt; cmd_servo_attach</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_move.html">cmd_servo_move &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_servo_detach</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_servo_detach</h1>
+ <p class="refpurpose">Command to release the pin which has been setup for servo motor</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_servo_detach</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">servo_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">servo_no :</span>
+ <dd><p class="para">1=pin 9, 2=pin 10</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).</p>
+ <p class="para">The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.</p>
+ <p class="para">A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_attach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">90</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">45</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_detach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="scilab://cmd_servo_setup" class="link">cmd_servo_setup</a></li>
+ <li class="member"><a href="cmd_servo_move.html" class="link">cmd_servo_move</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_attach.html">&lt;&lt; cmd_servo_attach</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_move.html">cmd_servo_move &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_move.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_move.html
new file mode 100644
index 0000000..b0d61e9
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/cmd_servo_move.html
@@ -0,0 +1,96 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_servo_move</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_detach.html">&lt;&lt; cmd_servo_detach</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="open_serial.html">open_serial &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; cmd_servo_move</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_servo_move</h1>
+ <p class="refpurpose">Command to run servo motor which has been setup</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_servo_move</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">servo_no</span><span class="default">,</span><span class="default">u1</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">servo_no :</span>
+ <dd><p class="para">1=pin 9, 2=pin 10</p></dd></dt>
+ <dt><span class="term">u1 :</span>
+ <dd><p class="para">0 - 180 degree</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).</p>
+ <p class="para">The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.</p>
+ <p class="para">A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_attach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">90</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">45</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_detach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="scilab://cmd_servo_setup" class="link">cmd_servo_setup</a></li>
+ <li class="member"><a href="cmd_servo_detach.html" class="link">cmd_servo_detach</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_detach.html">&lt;&lt; cmd_servo_detach</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="open_serial.html">open_serial &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/index.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/index.html
new file mode 100644
index 0000000..259e070
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/index.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+
+ <br /><br />
+ <h3 class="book-title">Arduino toolbox</h3>
+<ul class="list-part"><a name="arduino_toolbox_manual"></a><div class="info"></div>
+
+<li><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html" class="part">Arduino toolbox</a>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpidx.xml b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpidx.xml
new file mode 100644
index 0000000..aa5a66e
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpidx.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE index PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Index Version 1.0//EN" "http://java.sun.com/products/javahelp/index_1_0.dtd">
+<index version="1.0"/> \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpmap.jhm b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpmap.jhm
new file mode 100644
index 0000000..02654d9
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpmap.jhm
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN" "http://java.sun.com/products/javahelp/map_1_0.dtd">
+<map version="1.0">
+<mapID target="index" url="index.html"/>
+<mapID target="section_31b851c5cd4247a8b1d03294fc8872b1" url="section_31b851c5cd4247a8b1d03294fc8872b1.html"/>
+<mapID target="ANALOG_READ_SB" url="ANALOG_READ_SB.html"/>
+<mapID target="Contents_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Contents_ANALOG_READ_SB"/>
+<mapID target="Palette_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Palette_ANALOG_READ_SB"/>
+<mapID target="Description_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Description_ANALOG_READ_SB"/>
+<mapID target="Dialogbox_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Dialogbox_ANALOG_READ_SB"/>
+<mapID target="Example1_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Example1_ANALOG_READ_SB"/>
+<mapID target="Seealso_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Seealso_ANALOG_READ_SB"/>
+<mapID target="ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html"/>
+<mapID target="Contents_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Contents_ANALOG_WRITE_SB"/>
+<mapID target="Palette_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Palette_ANALOG_WRITE_SB"/>
+<mapID target="Description_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Description_ANALOG_WRITE_SB"/>
+<mapID target="Dialogbox_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Dialogbox_ANALOG_WRITE_SB"/>
+<mapID target="Example1_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Example1_ANALOG_WRITE_SB"/>
+<mapID target="Seealso_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Seealso_ANALOG_WRITE_SB"/>
+<mapID target="ARDUINO_SETUP" url="ARDUINO_SETUP.html"/>
+<mapID target="Contents_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Contents_ARDUINO_SETUP"/>
+<mapID target="Palette_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Palette_ARDUINO_SETUP"/>
+<mapID target="Description_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Description_ARDUINO_SETUP"/>
+<mapID target="Dialogbox_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Dialogbox_ARDUINO_SETUP"/>
+<mapID target="Example1_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Example1_ARDUINO_SETUP"/>
+<mapID target="Seealso_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Seealso_ARDUINO_SETUP"/>
+<mapID target="DCMOTOR_SB" url="DCMOTOR_SB.html"/>
+<mapID target="Contents_DCMOTOR_SB" url="DCMOTOR_SB.html#Contents_DCMOTOR_SB"/>
+<mapID target="Palette_DCMOTOR_SB" url="DCMOTOR_SB.html#Palette_DCMOTOR_SB"/>
+<mapID target="Description_DCMOTOR_SB" url="DCMOTOR_SB.html#Description_DCMOTOR_SB"/>
+<mapID target="Dialogbox_DCMOTOR_SB" url="DCMOTOR_SB.html#Dialogbox_DCMOTOR_SB"/>
+<mapID target="Example1_DCMOTOR_SB" url="DCMOTOR_SB.html#Example1_DCMOTOR_SB"/>
+<mapID target="Seealso_DCMOTOR_SB" url="DCMOTOR_SB.html#Seealso_DCMOTOR_SB"/>
+<mapID target="DIGITAL_READ_SB" url="DIGITAL_READ_SB.html"/>
+<mapID target="Contents_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Contents_DIGITAL_READ_SB"/>
+<mapID target="Palette_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Palette_DIGITAL_READ_SB"/>
+<mapID target="Description_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Description_DIGITAL_READ_SB"/>
+<mapID target="Dialogbox_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Dialogbox_DIGITAL_READ_SB"/>
+<mapID target="Example1_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Example1_DIGITAL_READ_SB"/>
+<mapID target="Seealso_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Seealso_DIGITAL_READ_SB"/>
+<mapID target="DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html"/>
+<mapID target="Contents_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Contents_DIGITAL_WRITE_SB"/>
+<mapID target="Palette_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Palette_DIGITAL_WRITE_SB"/>
+<mapID target="Description_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Description_DIGITAL_WRITE_SB"/>
+<mapID target="Dialogbox_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Dialogbox_DIGITAL_WRITE_SB"/>
+<mapID target="Example1_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Example1_DIGITAL_WRITE_SB"/>
+<mapID target="Seealso_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Seealso_DIGITAL_WRITE_SB"/>
+<mapID target="ENCODER_SB" url="ENCODER_SB.html"/>
+<mapID target="Contents_ENCODER_SB" url="ENCODER_SB.html#Contents_ENCODER_SB"/>
+<mapID target="Palette_ENCODER_SB" url="ENCODER_SB.html#Palette_ENCODER_SB"/>
+<mapID target="Description_ENCODER_SB" url="ENCODER_SB.html#Description_ENCODER_SB"/>
+<mapID target="Dialogbox_ENCODER_SB" url="ENCODER_SB.html#Dialogbox_ENCODER_SB"/>
+<mapID target="Example1_ENCODER_SB" url="ENCODER_SB.html#Example1_ENCODER_SB"/>
+<mapID target="Example2_ENCODER_SB" url="ENCODER_SB.html#Example2_ENCODER_SB"/>
+<mapID target="Seealso_ENCODER_SB" url="ENCODER_SB.html#Seealso_ENCODER_SB"/>
+<mapID target="INTERRUPT_SB" url="INTERRUPT_SB.html"/>
+<mapID target="Contents_INTERRUPT_SB" url="INTERRUPT_SB.html#Contents_INTERRUPT_SB"/>
+<mapID target="Palette_INTERRUPT_SB" url="INTERRUPT_SB.html#Palette_INTERRUPT_SB"/>
+<mapID target="Description_INTERRUPT_SB" url="INTERRUPT_SB.html#Description_INTERRUPT_SB"/>
+<mapID target="Dialogbox_INTERRUPT_SB" url="INTERRUPT_SB.html#Dialogbox_INTERRUPT_SB"/>
+<mapID target="Example1_INTERRUPT_SB" url="INTERRUPT_SB.html#Example1_INTERRUPT_SB"/>
+<mapID target="Seealso_INTERRUPT_SB" url="INTERRUPT_SB.html#Seealso_INTERRUPT_SB"/>
+<mapID target="SERVO_WRITE_SB" url="SERVO_WRITE_SB.html"/>
+<mapID target="Contents_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Contents_SERVO_WRITE_SB"/>
+<mapID target="Palette_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Palette_SERVO_WRITE_SB"/>
+<mapID target="Description_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Description_SERVO_WRITE_SB"/>
+<mapID target="Dialogbox_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Dialogbox_SERVO_WRITE_SB"/>
+<mapID target="Example1_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Example1_SERVO_WRITE_SB"/>
+<mapID target="Seealso_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Seealso_SERVO_WRITE_SB"/>
+<mapID target="TIME_SAMPLE" url="TIME_SAMPLE.html"/>
+<mapID target="Contents_TIME_SAMPLE" url="TIME_SAMPLE.html#Contents_TIME_SAMPLE"/>
+<mapID target="Palette_TIME_SAMPLE" url="TIME_SAMPLE.html#Palette_TIME_SAMPLE"/>
+<mapID target="Description_TIME_SAMPLE" url="TIME_SAMPLE.html#Description_TIME_SAMPLE"/>
+<mapID target="Dialogbox_TIME_SAMPLE" url="TIME_SAMPLE.html#Dialogbox_TIME_SAMPLE"/>
+<mapID target="Example1_TIME_SAMPLE" url="TIME_SAMPLE.html#Example1_TIME_SAMPLE"/>
+<mapID target="Seealso_TIME_SAMPLE" url="TIME_SAMPLE.html#Seealso_TIME_SAMPLE"/>
+<mapID target="close_serial" url="close_serial.html"/>
+<mapID target="cmd_analog_in" url="cmd_analog_in.html"/>
+<mapID target="cmd_analog_in_volt" url="cmd_analog_in_volt.html"/>
+<mapID target="cmd_analog_out" url="cmd_analog_out.html"/>
+<mapID target="cmd_analog_out_volt" url="cmd_analog_out_volt.html"/>
+<mapID target="cmd_arduino_a_control" url="cmd_arduino_a_control.html"/>
+<mapID target="cmd_arduino_d_control" url="cmd_arduino_d_control.html"/>
+<mapID target="cmd_arduino_meter" url="cmd_arduino_meter.html"/>
+<mapID target="cmd_dcmotor_release" url="cmd_dcmotor_release.html"/>
+<mapID target="cmd_dcmotor_run" url="cmd_dcmotor_run.html"/>
+<mapID target="cmd_dcmotor_setup" url="cmd_dcmotor_setup.html"/>
+<mapID target="cmd_digital_in" url="cmd_digital_in.html"/>
+<mapID target="cmd_digital_out" url="cmd_digital_out.html"/>
+<mapID target="cmd_servo_attach" url="cmd_servo_attach.html"/>
+<mapID target="cmd_servo_detach" url="cmd_servo_detach.html"/>
+<mapID target="cmd_servo_move" url="cmd_servo_move.html"/>
+<mapID target="open_serial" url="open_serial.html"/>
+</map> \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpset.hs b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpset.hs
new file mode 100644
index 0000000..80509ea
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelpset.hs
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE helpset
+ PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN" "http://java.sun.com/products/javahelp/helpset_1_0.dtd">
+<helpset version="1.0">
+<title>Arduino toolbox</title>
+<maps>
+<homeID>top</homeID>
+<mapref location="jhelpmap.jhm"/>
+</maps>
+<view>
+<name>TOC</name>
+<label>Table Of Contents</label>
+<type>javax.help.TOCView</type>
+<data>jhelptoc.xml</data>
+</view>
+<view>
+<name>Index</name>
+<label>Index</label>
+<type>javax.help.IndexView</type>
+<data>jhelpidx.xml</data>
+</view>
+<view>
+<name>Search</name>
+<label>Search</label>
+<type>javax.help.SearchView</type>
+<data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
+</view>
+</helpset> \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelptoc.xml b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelptoc.xml
new file mode 100644
index 0000000..afbedf1
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/jhelptoc.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 1.0//EN" "http://java.sun.com/products/javahelp/toc_1_0.dtd">
+<toc version="1.0">
+<tocitem target="index" text="Arduino toolbox">
+<tocitem target="section_31b851c5cd4247a8b1d03294fc8872b1" text="Arduino toolbox">
+<tocitem target="ANALOG_READ_SB" text="ANALOG_READ_SB"/>
+<tocitem target="ANALOG_WRITE_SB" text="ANALOG_WRITE_SB"/>
+<tocitem target="ARDUINO_SETUP" text="ARDUINO_SETUP"/>
+<tocitem target="DCMOTOR_SB" text="DCMOTOR_SB"/>
+<tocitem target="DIGITAL_READ_SB" text="DIGITAL_READ_SB"/>
+<tocitem target="DIGITAL_WRITE_SB" text="DIGITAL_WRITE_SB"/>
+<tocitem target="ENCODER_SB" text="ENCODER_SB"/>
+<tocitem target="INTERRUPT_SB" text="INTERRUPT_SB"/>
+<tocitem target="SERVO_WRITE_SB" text="SERVO_WRITE_SB"/>
+<tocitem target="TIME_SAMPLE" text="TIME_SAMPLE"/>
+<tocitem target="close_serial" text="close_serial"/>
+<tocitem target="cmd_analog_in" text="cmd_analog_in"/>
+<tocitem target="cmd_analog_in_volt" text="cmd_analog_in_volt"/>
+<tocitem target="cmd_analog_out" text="cmd_analog_out"/>
+<tocitem target="cmd_analog_out_volt" text="cmd_analog_out_volt"/>
+<tocitem target="cmd_arduino_a_control" text="cmd_arduino_a_control"/>
+<tocitem target="cmd_arduino_d_control" text="cmd_arduino_d_control"/>
+<tocitem target="cmd_arduino_meter" text="cmd_arduino_meter"/>
+<tocitem target="cmd_dcmotor_release" text="cmd_dcmotor_release"/>
+<tocitem target="cmd_dcmotor_run" text="cmd_dcmotor_run"/>
+<tocitem target="cmd_dcmotor_setup" text="cmd_dcmotor_setup"/>
+<tocitem target="cmd_digital_in" text="cmd_digital_in"/>
+<tocitem target="cmd_digital_out" text="cmd_digital_out"/>
+<tocitem target="cmd_servo_attach" text="cmd_servo_attach"/>
+<tocitem target="cmd_servo_detach" text="cmd_servo_detach"/>
+<tocitem target="cmd_servo_move" text="cmd_servo_move"/>
+<tocitem target="open_serial" text="open_serial"/>
+</tocitem>
+</tocitem>
+</toc> \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/open_serial.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/open_serial.html
new file mode 100644
index 0000000..6d13956
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/open_serial.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>open_serial</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_move.html">&lt;&lt; cmd_servo_move</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a> &gt; open_serial</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">open_serial</h1>
+ <p class="refpurpose">Command to initialize the serial port which is connected to Arduino</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">res</span><span class="default">=</span><span class="functionid">open_serial</span><span class="default">(</span><span class="default">nHandle</span><span class="default">, </span><span class="default">nPort</span><span class="default">,</span><span class="default">baudrate</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">nHandle :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">nPort :</span>
+ <dd><p class="para">Com port in which the Arduino is connected to</p></dd></dt>
+ <dt><span class="term">baudrate :</span>
+ <dd><p class="para">baudrate for the serial comminication</p></dd></dt>
+ <dt><span class="term">res :</span>
+ <dd><p class="para">0 if the connection is successful, else the connection fail</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">To connect to the Arduino board. To check the port number, do to the device manager or check it from the Arduino software</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="close_serial.html" class="link">close_serial</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_move.html">&lt;&lt; cmd_servo_move</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_31b851c5cd4247a8b1d03294fc8872b1.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/scilab_code.css b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/scilab_code.css
new file mode 100644
index 0000000..658f42e
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/scilab_code.css
@@ -0,0 +1,96 @@
+.scilabcomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.scilabdefault {
+ font-style: normal;
+ color: #000000
+}
+
+.scilabspecial {
+ font-style: normal;
+ color: #ffaa00
+}
+
+.scilabconstants {
+ font-style: normal;
+ color: #da70d6
+}
+
+.scilaboperator {
+ font-style: normal;
+ color: #5c5c5c
+}
+
+.scilabnumber {
+ font-style: normal;
+ color: #bc8f8f
+}
+
+.scilabfkeyword {
+ font-style: normal;
+ color: #b01813
+}
+
+.scilabskeyword {
+ font-style: normal;
+ color: #a020f0
+}
+
+.scilabckeyword {
+ font-style: normal;
+ color: #5f9ea0
+}
+
+.scilabcommand {
+ font-style: normal;
+ color: #32b9b9
+}
+
+.scilabmacro {
+ font-style: normal;
+ color: #ae5cb0
+}
+
+a.scilabcommand {
+ font-style: normal;
+ text-decoration: underline;
+ color: #32b9b9
+}
+
+a.scilabmacro {
+ font-style: normal;
+ text-decoration: underline;
+ color: #ae5cb0
+}
+
+.scilabstring {
+ font-style: normal;
+ color: #bc8f8f
+}
+
+.scilabid {
+ font-style: normal;
+ color: #000000
+}
+
+.scilabinputoutputargs {
+ font-weight: bold;
+ color: #834310
+}
+
+.scilabfunctionid {
+ font-weight: bold;
+ color: #000000
+}
+
+.scilabfield {
+ font-style: normal;
+ color: #aaaaaa
+}
+
+.scilabopenclose {
+ font-style: normal;
+ color: #4a55db
+}
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_14b1867c218d6510dbcc5160f5def719.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_14b1867c218d6510dbcc5160f5def719.html
new file mode 100644
index 0000000..d7feab5
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_14b1867c218d6510dbcc5160f5def719.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_281a422ce6f3febcfc8c21e8aa6841e5.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_281a422ce6f3febcfc8c21e8aa6841e5.html
new file mode 100644
index 0000000..d7feab5
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_281a422ce6f3febcfc8c21e8aa6841e5.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_31b851c5cd4247a8b1d03294fc8872b1.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_31b851c5cd4247a8b1d03294fc8872b1.html
new file mode 100644
index 0000000..d7feab5
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_31b851c5cd4247a8b1d03294fc8872b1.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_32282c1b5ec2ec16458d86fa5a7a4571.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_32282c1b5ec2ec16458d86fa5a7a4571.html
new file mode 100644
index 0000000..d7feab5
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_32282c1b5ec2ec16458d86fa5a7a4571.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_50fcf9fc9c8fb380e36d21e077a34f37.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_50fcf9fc9c8fb380e36d21e077a34f37.html
new file mode 100644
index 0000000..d7feab5
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_50fcf9fc9c8fb380e36d21e077a34f37.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_c81b4a57f4486e50a533732328fcb8e9.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_c81b4a57f4486e50a533732328fcb8e9.html
new file mode 100644
index 0000000..d7feab5
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_c81b4a57f4486e50a533732328fcb8e9.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_d8c18d63fe0e0a7831b9ab7a10831e5a.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_d8c18d63fe0e0a7831b9ab7a10831e5a.html
new file mode 100644
index 0000000..d7feab5
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_d8c18d63fe0e0a7831b9ab7a10831e5a.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_f3a404459a61fd97daa21459936e95ac.html b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_f3a404459a61fd97daa21459936e95ac.html
new file mode 100644
index 0000000..51f6ce1
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/section_f3a404459a61fd97daa21459936e95ac.html
@@ -0,0 +1,82 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/style.css b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/style.css
new file mode 100644
index 0000000..0fe8923
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/style.css
@@ -0,0 +1,350 @@
+body {
+ color:#000000;
+ background-color:#ffffff;
+ font-family:sans-serif;
+ font-size:100%;
+ margin:5px;
+ padding:0;
+ background : url("/img/body.png");
+ background-repeat : repeat-x;
+}
+
+.para {
+ padding-left: 10px;
+}
+
+.refname {
+ color: #ff6c0a;
+}
+.refpurpose {
+ font-size: 110%;
+}
+
+.synopsis {
+ border: 1px solid black;
+ width:80%;
+ padding: 0.5em;
+}
+
+.editbar {
+ text-align: right;
+}
+
+.term {
+ color:#800000;
+ font-size:100%;
+}
+
+h3 {
+ color: #000063;
+ font-weight: bold;
+ font-size:130%;
+ margin-bottom: 10px;
+}
+
+.programlisting {
+ font-family: monospace;
+ font-size: 100%;
+ background-color:#EEEEFF;
+ border-color:#CCCCCC;
+ border-style:solid;
+ border-width:2px medium;
+ width:80%;
+ color:#333333;
+ line-height:120%;
+ padding:10px;
+}
+
+.literal {
+ font-family: monospace;
+ font-size: 100%;
+}
+
+.option {
+ font-family: monospace;
+ font-style: italic;
+ font-size: 100%;
+}
+
+.command {
+ font-family: monospace;
+ font-size: 100%;
+ color: #32b9b9;
+}
+
+.function {
+ font-family: monospace;
+ font-size: 100%;
+ color: #32b9b9;
+}
+
+.varname {
+ font-family: monospace;
+ font-weight: bold;
+ font-size: 100%;
+}
+
+.constant {
+ font-family: monospace;
+ font-size: 100%;
+ color: #da70d6;
+}
+
+a {
+ color: blue;
+ text-decoration:none;
+}
+
+a:hover {
+ text-decoration:underline;
+}
+
+.itemizedlist {
+ list-style-type: disk;
+}
+
+.inline-list li {
+ display: inline;
+ list-style-type: disk;
+}
+
+.vert-list {
+ list-style-type: disk;
+}
+
+pre {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+.leftpart {
+ position:absolute;
+ float:left;
+ width: 186px;
+ padding: 5px;
+ font-size: smaller;
+}
+
+.content {
+ margin-top: 100px;
+ margin-left: 196px
+}
+
+.container {
+ margin: 0 auto;
+ width:1024px;
+}
+
+ul.toc li.list-active {
+ list-style-type:disc;
+ font-weight:bold;
+}
+
+ul.toc li.parent {
+ font-size: 115%;
+ padding: 5px 0px 5px 11px;
+ border-bottom: 1px solid #cccccc;
+ margin-bottom: 5px;
+}
+
+ul.toc li.root {
+ font-size: 135%;
+ padding: 5px 0px 5px 11px;
+ border-bottom: 1px solid #cccccc;
+ margin-bottom: 5px;
+}
+
+ul.toc li {
+ font-size: 85%;
+ margin: 1px 0 1px 1px;
+ padding: 1px 0 1px 11px;
+ background-repeat: no-repeat;
+ background-position: center left;
+ list-style-type: circle;
+}
+
+.next {
+ float:right;
+ text-align: right;
+}
+
+.center {
+ text-align: center;
+}
+
+.screen {
+ font-family: monospace;
+ font-size: 100%;
+ background-color:#FFFFFF;
+ border-color:#CCCCCC;
+ border-style:solid;
+ border-width:2px medium;
+ width:80%;
+ color:#333333;
+ line-height:120%;
+ padding:10px;
+}
+
+/* Top and bottom navigation controls on manual pages --------------------- */
+div.manualnavbar {
+ background-color: #E0E0E0;
+ color: inherit;
+ padding: 4px;
+ margin-bottom: 10px;
+}
+div.manualnavbar .prev {
+ padding-right: 4px;
+}
+div.manualnavbar .next {
+ text-align: right;
+ padding-left: 4px;
+}
+
+div.manualnavbar .top {
+ text-align: center;
+ display: block;
+}
+
+div.manualnavbar hr {
+ color: #cccccc;
+ background-color: #cccccc;
+}
+
+/* Footer navigation area ------------------------------------------------- */
+
+#pagefooter {
+ position: relative;
+ font-size: 75%;
+ color: inherit;
+ background-color: #e5e5e5;
+ width: 100%;
+}
+
+#pagefooterleft {
+ top: 0px;
+ left: 0px;
+ padding: 6px;
+ margin-right: 30%;
+}
+
+#pagefooterright {
+ text-align: right;
+ margin-left: 50%;
+ padding: 6px;
+}
+#footnav {
+ color: inherit;
+ background-color: #9999cc;
+ border-width: 1px 0px;
+ border-color: #333366;
+ border-style: solid;
+ text-align: right;
+ padding-right: 6px;
+}
+
+
+
+
+ #global{
+/* width: 90%; */
+ max-width: 90em;
+/* min-width: 850px; */
+ margin-left: auto;
+ margin-right: auto;
+ }
+
+ #myHeader{
+ background-color:#000000;
+ color:white;
+ margin-bottom : 10px;
+ position : relative;
+ text-align: center;
+/* width : 1024px;*/
+ height : 100px;
+ padding-left : 20px;
+ background : url("http://atoms.scilab.org/images/homepage/cadre_head.png");
+ background-repeat : no-repeat;
+ background-position : 0px 0px;
+
+ }
+
+ #myFooter{
+ background-color:#E5E5E5;
+ font-color:black;
+/* width: 90%;*/
+ max-width: 90em;
+/* min-width: 850px;
+ margin-left: 5%;
+ margin-right: 5%;*/
+ margin-top:10px;
+ padding:10px;
+ }
+
+ #mainArea{
+ width: 100%;
+ overflow: hidden;
+ }
+
+ #myLeftArea{
+ color:white;
+ float: left;
+ width: 180px;
+ padding:5px;
+ }
+
+ #myMiddleArea{
+ color:black;
+ margin-left: 200px;
+ padding: 10px 20px;
+ }
+
+ #myRightArea{
+ color:white;
+ float: right;
+ width: 200px;
+ padding: 12px 20px;
+ }
+
+
+div#cadre_head
+{
+ position : relative;
+ text-align: center;
+/* width : 1024px;*/
+ height : 100px;
+ padding-left : 20px;
+ background : url("/img/cadre_head.png");
+ background-repeat : no-repeat;
+ background-position : 0px 0px;
+}
+
+
+div#slogan{
+ position: absolute;
+ top : 50px;
+ left:251px;
+ color:#0000AA;
+ font: 120%, Georgia,Serif;
+}
+div#cadre_help
+{
+ position: absolute;
+ top:45px;
+ right:0px;
+ font-size:0.8em;
+ color:#0000AA;
+}
+
+table.revhistory
+{
+ width:80%;
+ border-color:#CCCCCC;
+ border-style:solid;
+ border-width:2px medium;
+ margin-bottom: 10px;
+}
+
+table.revhistory tr.title td
+{
+ background-color: #9999CC;
+} \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/xml_code.css b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/xml_code.css
new file mode 100644
index 0000000..9e4c27f
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/en_US/scilab_en_US_help/xml_code.css
@@ -0,0 +1,94 @@
+.xmlcomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmldefault {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlentity {
+ font-style: normal;
+ color: #ffaa00
+}
+
+.xmlopeninstr {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlcloseinstr {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlinstrname {
+ font-style: normal;
+ color: #9965a6
+}
+
+.xmllowtag {
+ font-style: normal;
+ color: #000000
+}
+
+.xmltagname {
+ font-style: normal;
+ color: #0303ff
+}
+
+.xmllowclose {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlopencomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmlcommentend {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmlcomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmlopencdata {
+ font-style: normal;
+ color: #c45555
+}
+
+.xmlcdataend {
+ font-style: normal;
+ color: #c45555
+}
+
+.xmlcdata {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlattributename {
+ font-style: normal;
+ color: #9965a6
+}
+
+.xmlequal {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlattributevalue {
+ font-style: normal;
+ color: #973964
+}
+
+.xmlautoclose {
+ font-style: normal;
+ color: #000000
+}
diff --git a/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB.xml b/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB.xml
new file mode 100644
index 0000000..408fb79
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ANALOG_READ_SB">
+<refnamediv>
+ <refname>ANALOG_READ_SB</refname>
+ <refpurpose>Permet de réaliser l'acquisition d'une grandeur analogique sur le port Analogique d'une carte Arduino.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ANALOG_READ_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ANALOG_READ_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ANALOG_READ_SB">Permet de réaliser l'acquisition d'une grandeur analogique sur le port Analogique d'une carte Arduino.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ANALOG_READ_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ANALOG_READ_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ANALOG_READ_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ANALOG_READ_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ANALOG_READ_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ANALOG_READ_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ANALOG_READ_SB">
+ <title>Description</title>
+<para> La carte Arduino UNO possède 6 ports d'entrées analogiques (de A0 à A5), la carte Arduino Mega possède 16 ports d'entrée analogique (de A0 à A15). Le bloc proposé permet de transmettre la valeur numérique codée sur 10 bits (de 0 à 1023) d'une grandeur analogique associée à un port d'entrée. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_ANALOG_READ_SB">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_READ_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le numéro du port de 0 à 5 doit être spécifié pour la carte UNO, de 0 à 15 pour une carte MEGA. </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+<para> Il n'y a pas de vérification de la valeur donnée, veuillez vous reporter à la spécification de votre carte Arduino pour mettre une valeur correcte. </para>
+
+</refsection>
+<refsection id="Example1_ANALOG_READ_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un potentiomètre angulaire dont la broche de mesure est connectée au port 2. Les deux autres broches du potentiomètre sont reliées à la masse (GND) et le 5 Volt de la carte directement. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_READ_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ANALOG_READ_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB_dialogbox.png b/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB_dialogbox.png
new file mode 100644
index 0000000..0a4a823
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB_help.tst b/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB_help.tst
new file mode 100644
index 0000000..a580e42
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+ANALOG_READ_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet de réaliser l'acquisition d'une grandeur analogique sur le port Analogique d'une carte Arduino.
+
+\description
+La carte Arduino UNO possède 6 ports d'entrées analogiques (de A0 à A5), la carte Arduino Mega possède 16 ports d'entrée analogique (de A0 à A15). Le bloc proposé permet de transmettre la valeur numérique codée sur 10 bits (de 0 à 1023) d'une grandeur analogique associée à un port d'entrée.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+\image{ANALOG_READ_SB_dialogbox.png}
+Le numéro du port de 0 à 5 doit être spécifié pour la carte UNO, de 0 à 15 pour une carte MEGA.
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+Il n'y a pas de vérification de la valeur donnée, veuillez vous reporter à la spécification de votre carte Arduino pour mettre une valeur correcte.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un potentiomètre angulaire dont la broche de mesure est connectée au port 2. Les deux autres broches du potentiomètre sont reliées à la masse (GND) et le 5 Volt de la carte directement.
+\image{ANALOG_READ_example.png}
+
+\seealso
+ANALOG_WRITE_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_example.png b/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_example.png
new file mode 100644
index 0000000..4df93cf
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ANALOG_READ_example.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB.xml b/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB.xml
new file mode 100644
index 0000000..39baf4b
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ANALOG_WRITE_SB">
+<refnamediv>
+ <refname>ANALOG_WRITE_SB</refname>
+ <refpurpose>Permet d'envoyer une valeur continûment variable sur un port donné</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ANALOG_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ANALOG_WRITE_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">Permet d'envoyer une valeur continûment variable sur un port donné</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ANALOG_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ANALOG_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ANALOG_WRITE_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ANALOG_WRITE_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ANALOG_WRITE_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ANALOG_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ANALOG_WRITE_SB">
+ <title>Description</title>
+<para> Les sorties analogiques de l'Arduino Uno sont disponibles sur les pins de sorties logiques (digital) 3,5,6,9,10 et 11. Sur la carte Mega, les sorties sont sur les pins 1 à 13 et 44 à 46. Parler de sorties analogiques est donc un abus de langage. En effet, pour générer cette sortie en minimisant les pertes d’énergie, l'Arduino utilise des PWM (Pulse With Modulation, MLI en français) disponibles sur ces ports. En faisant varier le rapport cyclique de ces PWM, on modifie la tension moyenne aux bornes du composant connecté à ce port, celui-ci a donc l'impression d'avoir une tension d'entrée variable. </para>
+<para> Le rapport cyclique qui théoriquement varie de 0 à 1 est codé sur 8 bits, ainsi une valeur de 0 correspond à un rapport cyclique de 0 et une valeur de 255 à un rapport cyclique de 1. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_ANALOG_WRITE_SB">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_WRITE_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le numéro du port doit être 3, 5, 6, 9, 10, 11 pour une carte UNO (ports ayant le symbole PWM) et doit être de 1 à 13 ou 44 à 46 pour la carte MEGA. L'utilisation d'un port digital provoquera soit la mise à 0 soit la mise à 1 de celui-ci en fonction de la valeur envoyée. </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+
+</refsection>
+<refsection id="Example1_ANALOG_WRITE_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un variateur de l'intensité lumineuse d'une LED à partir d'une consigne issue d'un potentiomètre. La LED (en série avec une résistance bien choisie) est connectée à la masse (GND) et au port digital 10 tandis que le potentiomètre est connecté sur le port analogique 2. La valeur lue pour le potentiomètre étant codée sur 10 bits et le signal du PWM étant codé sur 8 bits, il est nécessaire d'ajouter une gain d'adaptation. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_WRITE_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ANALOG_WRITE_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB_dialogbox.png b/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..febf848
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB_help.tst b/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB_help.tst
new file mode 100644
index 0000000..dffcda1
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+ANALOG_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet d'envoyer une valeur continûment variable sur un port donné
+
+\description
+Les sorties analogiques de l'Arduino Uno sont disponibles sur les pins de sorties logiques (digital) 3,5,6,9,10 et 11. Sur la carte Mega, les sorties sont sur les pins 1 à 13 et 44 à 46. Parler de sorties analogiques est donc un abus de langage. En effet, pour générer cette sortie en minimisant les pertes d’énergie, l'Arduino utilise des PWM (Pulse With Modulation, MLI en français) disponibles sur ces ports. En faisant varier le rapport cyclique de ces PWM, on modifie la tension moyenne aux bornes du composant connecté à ce port, celui-ci a donc l'impression d'avoir une tension d'entrée variable.
+Le rapport cyclique qui théoriquement varie de 0 à 1 est codé sur 8 bits, ainsi une valeur de 0 correspond à un rapport cyclique de 0 et une valeur de 255 à un rapport cyclique de 1.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+\image{ANALOG_WRITE_SB_dialogbox.png}
+Le numéro du port doit être 3, 5, 6, 9, 10, 11 pour une carte UNO (ports ayant le symbole PWM) et doit être de 1 à 13 ou 44 à 46 pour la carte MEGA. L'utilisation d'un port digital provoquera soit la mise à 0 soit la mise à 1 de celui-ci en fonction de la valeur envoyée.
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un variateur de l'intensité lumineuse d'une LED à partir d'une consigne issue d'un potentiomètre. La LED (en série avec une résistance bien choisie) est connectée à la masse (GND) et au port digital 10 tandis que le potentiomètre est connecté sur le port analogique 2. La valeur lue pour le potentiomètre étant codée sur 10 bits et le signal du PWM étant codé sur 8 bits, il est nécessaire d'ajouter une gain d'adaptation.
+\image{ANALOG_WRITE_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_exemple.png b/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_exemple.png
new file mode 100644
index 0000000..8b84651
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ANALOG_WRITE_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP.xml b/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP.xml
new file mode 100644
index 0000000..51ba760
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ARDUINO_SETUP">
+<refnamediv>
+ <refname>ARDUINO_SETUP</refname>
+ <refpurpose>Permet de configuration le port de communication série entre l'arduino et scilab.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ARDUINO_SETUP.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ARDUINO_SETUP">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ARDUINO_SETUP">Permet de configuration le port de communication série entre l'arduino et scilab.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ARDUINO_SETUP">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ARDUINO_SETUP">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ARDUINO_SETUP">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ARDUINO_SETUP">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ARDUINO_SETUP">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ARDUINO_SETUP">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ARDUINO_SETUP">
+ <title>Description</title>
+<para> Ce bloc doit <emphasis role="bold">obligatoirement</emphasis> être placé sur le schéma lors de l'utilisation d'autres blocs de la toolbox. </para>
+<para> Il permet de définir le port de communication entre la carte Arduino et Xcos. </para>
+<para> Le port à utiliser peut être déterminé en lançant l'application Arduino et en vérifiant le com indiqué dans Outils/Port série. Celui-ci peut également être modifié dans le Gestionnaire de périphériques / Ports (options Avancées). </para>
+<para> Il n'est pas possible actuellement d'utiliser plusieurs cartes Arduino. </para>
+
+<para> La toolbox n'est utilisable que sous Windows pour l'instant. </para>
+
+<para> <emphasis role="bold">Attention pour utiliser la toolbox Arduino, il est indispensable de charger dans la carte Arduino le programme toolbox_arduino.ino disponible sur le site :</emphasis> http://www.demosciences.fr </para>
+
+
+</refsection>
+<refsection id="Dialogbox_ARDUINO_SETUP">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le port de communication doit être spécifié (entre 2 et 9 sinon un message d'erreur apparaît). </para>
+<para> Le numéro de carte Arduino doit être égal à 1 actuellement (sinon un message d'erreur apparaît) </para>
+
+</refsection>
+<refsection id="Example1_ARDUINO_SETUP">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessus montre l'utilisation du bloc dans le cas du clignotement de la led 13 de la carte UNO définie sur le port de communication 5. Les blocs utilisent les paramètres par défaut, sauf pour le bloc PULSE de la palette standard dont on spécifie le déphasage à 0. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ARDUINO_SETUP">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="TIME_SAMPLE">TIME_SAMPLE</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_dialogbox.png b/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_dialogbox.png
new file mode 100644
index 0000000..715ec38
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_example.png b/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_example.png
new file mode 100644
index 0000000..22f0da8
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_example.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_help.tst b/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_help.tst
new file mode 100644
index 0000000..01ec5af
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ARDUINO_SETUP_help.tst
@@ -0,0 +1,31 @@
+\name
+ARDUINO_SETUP
+
+\palette
+Arduino
+
+\smalldescription
+Permet de configuration le port de communication série entre l'arduino et scilab.
+
+\description
+Ce bloc doit \bold{obligatoirement} être placé sur le schéma lors de l'utilisation d'autres blocs de la toolbox.
+Il permet de définir le port de communication entre la carte Arduino et Xcos.
+Le port à utiliser peut être déterminé en lançant l'application Arduino et en vérifiant le com indiqué dans Outils/Port série. Celui-ci peut également être modifié dans le Gestionnaire de périphériques / Ports (options Avancées).
+Il n'est pas possible actuellement d'utiliser plusieurs cartes Arduino.
+
+La toolbox n'est utilisable que sous Windows pour l'instant.
+
+\bold{Attention pour utiliser la toolbox Arduino, il est indispensable de charger dans la carte Arduino le programme toolbox_arduino.ino disponible sur le site :} http://www.demosciences.fr
+
+
+\dialogbox
+\image{ARDUINO_SETUP_dialogbox.png}
+Le port de communication doit être spécifié (entre 2 et 9 sinon un message d'erreur apparaît).
+Le numéro de carte Arduino doit être égal à 1 actuellement (sinon un message d'erreur apparaît)
+
+\example1
+L'exemple ci-dessus montre l'utilisation du bloc dans le cas du clignotement de la led 13 de la carte UNO définie sur le port de communication 5. Les blocs utilisent les paramètres par défaut, sauf pour le bloc PULSE de la palette standard dont on spécifie le déphasage à 0.
+\image{ARDUINO_SETUP_example.png}
+
+\seealso
+TIME_SAMPLE
diff --git a/scilab-arduino/tools/linux/help/fr_En/ASSERV_POS_exemple.png b/scilab-arduino/tools/linux/help/fr_En/ASSERV_POS_exemple.png
new file mode 100644
index 0000000..2ddb447
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ASSERV_POS_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB.tst b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB.tst
new file mode 100644
index 0000000..bebb341
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB.tst
@@ -0,0 +1,42 @@
+\name
+DCMOTOR_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet de piloter un hacheur (relié à un moteur)
+
+\description
+Le bloc DCMOTOR permet de piloter 1 ou plusieurs moteurs à courant continu. La carte Arduino ne délivre pas suffisamment de puissance, c'est pourquoi il est nécessaire d'utiliser un préactionneur de type hacheur en amont du moteur. Il existe plusieurs types de hacheurs qui ne fonctionnent pas tous selon le même principe. Le L298 nécessite par exemple l'utilisation d'un PWM et d'un signal logique spécifiant le sens. Le L293 utilise deux PWM pour spécifier la vitesse et le sens. Des cartes prêtes à l'emploi sont également disponibles.
+C'est pourquoi le bloc permet de choisir le type de carte ou de hacheur utilisé et en fonction du choix, un menu propose de spécifier les caractéristiques de chaque composant (numéro des ports utilisés ou bien numéro du moteur...)
+On rappelle que le PWM est codé sur 8 bits (de 0 à 255).
+Cependant en entrée du bloc, il est possible d'entrer un nombre positif ou négatif quelconque, une saturation logicielle à +- 255 est integrée dans la définition du bloc.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+
+Le bloc propose deux menus.
+Le premier permet de choisir le type de carte utilisé :
+1 pour la carte officielle Motorshield Reverse 3 disponible sur le site arduino.cc,
+2 pour un hacheur L298 utilisant un PWM et un sens,
+3 pour un hacheur L293 utilisant deux PWM
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+\image{DCMOTOR_SB_dialogbox1.png}
+
+Le second menu est spécifique au type de carte retenue
+Pour la carte Motorshield on renseigne le numéro 1 ou 2 pour le moteur A ou B
+\image{DCMOTOR_SB_dialogbox2.png}
+Pour le L298, on renseigne le numéro du port de spécification du sens (n'importe quel port digital), le numéro du port PWM pour la vitesse (3,5,6,9,10,11) et le numéro du moteur piloté (limité de 1 à 4)
+\image{DCMOTOR_SB_dialogbox3.png}
+Pour le L293, on renseigne les numéros des 2 PWM et le numéro du moteur (de 1 à 3)
+\image{DCMOTOR_SB_dialogbox1.png}
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc moteur associé à un potentiomètre. Lorsque le potentiomètre est en position médiane, le moteur ne tourne pas tandis que lorsque le potentiomètre est tourné dans un sens ou dans l'autre, le moteur tourne plus ou moins vite dans un sens ou dans l'autre.
+Un gain d'adaptation a été utilisé pour convertir les données numériques codées sur 10 bits et l'entrée moteur codée sur 8 bits.
+\image{DCMOTOR_exemple.png}
+
+\seealso
+ENCODER_SB
+SERVO_WRITE_SB
diff --git a/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB.xml b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB.xml
new file mode 100644
index 0000000..f33cca0
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DCMOTOR_SB">
+<refnamediv>
+ <refname>DCMOTOR_SB</refname>
+ <refpurpose>Permet de piloter un hacheur (relié à un moteur)</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DCMOTOR_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DCMOTOR_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DCMOTOR_SB">Permet de piloter un hacheur (relié à un moteur)</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DCMOTOR_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DCMOTOR_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DCMOTOR_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DCMOTOR_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DCMOTOR_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DCMOTOR_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DCMOTOR_SB">
+ <title>Description</title>
+<para> Le bloc DCMOTOR permet de piloter 1 ou plusieurs moteurs à courant continu. La carte Arduino ne délivre pas suffisamment de puissance, c'est pourquoi il est nécessaire d'utiliser un préactionneur de type hacheur en amont du moteur. Il existe plusieurs types de hacheurs qui ne fonctionnent pas tous selon le même principe. Le L298 nécessite par exemple l'utilisation d'un PWM et d'un signal logique spécifiant le sens. Le L293 utilise deux PWM pour spécifier la vitesse et le sens. Des cartes prêtes à l'emploi sont également disponibles. </para>
+<para> C'est pourquoi le bloc permet de choisir le type de carte ou de hacheur utilisé et en fonction du choix, un menu propose de spécifier les caractéristiques de chaque composant (numéro des ports utilisés ou bien numéro du moteur...) </para>
+<para> On rappelle que le PWM est codé sur 8 bits (de 0 à 255). </para>
+<para> Cependant en entrée du bloc, il est possible d'entrer un nombre positif ou négatif quelconque, une saturation logicielle à +- 255 est integrée dans la définition du bloc. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_DCMOTOR_SB">
+ <title>Boite de dialogue</title>
+
+<para> Le bloc propose deux menus. </para>
+<para> Le premier permet de choisir le type de carte utilisé : </para>
+<para> 1 pour la carte officielle Motorshield Reverse 3 disponible sur le site arduino.cc, </para>
+<para> 2 pour un hacheur L298 utilisant un PWM et un sens, </para>
+<para> 3 pour un hacheur L293 utilisant deux PWM </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>
+
+<para> Le second menu est spécifique au type de carte retenue </para>
+<para> Pour la carte Motorshield on renseigne le numéro 1 ou 2 pour le moteur A ou B </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox2.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Pour le L298, on renseigne le numéro du port de spécification du sens (n'importe quel port digital), le numéro du port PWM pour la vitesse (3,5,6,9,10,11) et le numéro du moteur piloté (limité de 1 à 4) </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox3.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Pour le L293, on renseigne les numéros des 2 PWM et le numéro du moteur (de 1 à 3) </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Example1_DCMOTOR_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc moteur associé à un potentiomètre. Lorsque le potentiomètre est en position médiane, le moteur ne tourne pas tandis que lorsque le potentiomètre est tourné dans un sens ou dans l'autre, le moteur tourne plus ou moins vite dans un sens ou dans l'autre. </para>
+<para> Un gain d'adaptation a été utilisé pour convertir les données numériques codées sur 10 bits et l'entrée moteur codée sur 8 bits. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DCMOTOR_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ENCODER_SB">ENCODER_SB</link>
+ </para>
+ <para>
+ <link linkend="SERVO_WRITE_SB">SERVO_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox1.png b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox1.png
new file mode 100644
index 0000000..5bf8920
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox2.png b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox2.png
new file mode 100644
index 0000000..4d2a7b4
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox3.png b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox3.png
new file mode 100644
index 0000000..34a15d0
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox3.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox4.png b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox4.png
new file mode 100644
index 0000000..c80e6c3
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_SB_dialogbox4.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_exemple.png b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_exemple.png
new file mode 100644
index 0000000..24e50fe
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DCMOTOR_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB.xml b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB.xml
new file mode 100644
index 0000000..3a0bbc7
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DIGITAL_READ_SB">
+<refnamediv>
+ <refname>DIGITAL_READ_SB</refname>
+ <refpurpose>Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DIGITAL_READ_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DIGITAL_READ_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DIGITAL_READ_SB">Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DIGITAL_READ_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DIGITAL_READ_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DIGITAL_READ_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DIGITAL_READ_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DIGITAL_READ_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DIGITAL_READ_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DIGITAL_READ_SB">
+ <title>Description</title>
+<para> Les carte Arduino possède un ensemble de ports logiques (digital) qui sont utilisés pour l'écriture ou la lecture de données issues d'un composant. </para>
+<para> Pour une carte UNO, les ports de 2 à 13 sont disponibles (0 et 1 sont utilisés pour la transmission série). Pour une carte MEGA, les ports 2 à 53 sont disponibles. Le port prend le niveau logique bas (0) ou le niveau logique haut (1) qui correspond à la tension de référence. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_DIGITAL_READ_SB">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_READ_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le numéro du port digital est compris entre 2 et 53, à choisir en fonction de sa carte Arduino. </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+
+</refsection>
+<refsection id="Example1_DIGITAL_READ_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un montage constitué d'un interrupteur dont une broche est reliée au port digital 7 et une LED reliée au port digital 10. Un appui sur le bouton entraîne l'allumage de la LED. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DIGITAL_READ_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB_dialogbox.png b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB_dialogbox.png
new file mode 100644
index 0000000..244b37d
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB_help.tst b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB_help.tst
new file mode 100644
index 0000000..4527a64
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_READ_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+DIGITAL_READ_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.
+
+\description
+Les carte Arduino possède un ensemble de ports logiques (digital) qui sont utilisés pour l'écriture ou la lecture de données issues d'un composant.
+Pour une carte UNO, les ports de 2 à 13 sont disponibles (0 et 1 sont utilisés pour la transmission série). Pour une carte MEGA, les ports 2 à 53 sont disponibles. Le port prend le niveau logique bas (0) ou le niveau logique haut (1) qui correspond à la tension de référence.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+\image{DIGITAL_READ_SB_dialogbox.png}
+Le numéro du port digital est compris entre 2 et 53, à choisir en fonction de sa carte Arduino.
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un montage constitué d'un interrupteur dont une broche est reliée au port digital 7 et une LED reliée au port digital 10. Un appui sur le bouton entraîne l'allumage de la LED.
+\image{DIGITAL_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+ANALOG_WRITE_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB.xml b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB.xml
new file mode 100644
index 0000000..1170bfa
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DIGITAL_WRITE_SB">
+<refnamediv>
+ <refname>DIGITAL_WRITE_SB</refname>
+ <refpurpose>Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DIGITAL_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DIGITAL_WRITE_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DIGITAL_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DIGITAL_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DIGITAL_WRITE_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DIGITAL_WRITE_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DIGITAL_WRITE_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DIGITAL_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DIGITAL_WRITE_SB">
+ <title>Description</title>
+<para> La carte UNO possède un ensemble de ports logiques (digital) qui sont utilisés pour l'écriture ou la lecture de données issues d'un composant. </para>
+<para> Pour une carte UNO, les ports de 2 à 13 sont disponibles (0 et 1 sont utilisés pour la transmission série). Pour une carte MEGA, les ports 2 à 53 sont disponibles. Le port prend le niveau logique bas (0) ou le niveau logique haut (1) qui correspond à la tension de référence. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_DIGITAL_WRITE_SB">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_WRITE_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le numéro du port digital est compris entre 2 et 53, à choisir en fonction de sa carte Arduino. </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+
+</refsection>
+<refsection id="Example1_DIGITAL_WRITE_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un montage constitué d'un interrupteur dont une broche est reliée au port digital 7 et une LED reliée au port digital 10. Un appui sur le bouton entraîne l'allumage de la LED. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DIGITAL_WRITE_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB_dialogbox.png b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..4abc644
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB_help.tst b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB_help.tst
new file mode 100644
index 0000000..10a9262
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_WRITE_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+DIGITAL_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.
+
+\description
+La carte UNO possède un ensemble de ports logiques (digital) qui sont utilisés pour l'écriture ou la lecture de données issues d'un composant.
+Pour une carte UNO, les ports de 2 à 13 sont disponibles (0 et 1 sont utilisés pour la transmission série). Pour une carte MEGA, les ports 2 à 53 sont disponibles. Le port prend le niveau logique bas (0) ou le niveau logique haut (1) qui correspond à la tension de référence.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+\image{DIGITAL_WRITE_SB_dialogbox.png}
+Le numéro du port digital est compris entre 2 et 53, à choisir en fonction de sa carte Arduino.
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un montage constitué d'un interrupteur dont une broche est reliée au port digital 7 et une LED reliée au port digital 10. Un appui sur le bouton entraîne l'allumage de la LED.
+\image{DIGITAL_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+ANALOG_WRITE_SB
+DIGITAL_READ_SB
diff --git a/scilab-arduino/tools/linux/help/fr_En/DIGITAL_exemple.png b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_exemple.png
new file mode 100644
index 0000000..22832fa
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/DIGITAL_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB.tst b/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB.tst
new file mode 100644
index 0000000..bc2c04d
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB.tst
@@ -0,0 +1,43 @@
+\name
+ENCODER_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet de compter un ensemble d'événements sur une ou plusieurs voies.
+
+\description
+Beaucoup de capteurs (codeur incrémental, capteur à effet Hall...) renvoient un signal créneau pour lequel on souhaite compter les fronts. Le bloc permet de réaliser cette opération pour un ou deux codeurs. On utilise pour cela les interruptions disponibles sur la carte Arduino. Ce sont des entrées capables d’arrêter le programme principal lors d'un changement d’état (fronts d'un signal) afin d’exécuter un sous-programme. Ce sous-programme consiste dans ce cas à incrémenter ou décrémenter un compteur.
+Les pins 2 et 3 sont les seuls pins de l'Arduino Uno supportant les interruptions. Sur la carte Mega, les pins sont 2, 3 et 18 à 21. Il est nécessaire d'utiliser un signal supplémentaire pour connaître le sens du codeur.
+Ainsi, le bloc offre la possibilité de fonctionner un codeur en quadrature, il faut alors que les deux voies soient câblées sur les pins d'interruption et les fronts montants et descendants sont pris en compte sur les deux voies (la précision est augmentée et on peut également déterminer le sens).
+Par contre si on utilise un mode autre que la quadrature, seule une voie doit être branchée en interruption, l'autre peut être reliée à une entrée logique classique.
+
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+
+Le bloc propose deux menus.
+Le premier permet de choisir le mode de lecture du signal délivré par le codeur (choix entre 1, 2 ou 4).
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+\image{ENCODER_SB_dialogbox1.png}
+Le mode 1 utilise une seule voie d'interruption et une voie digitale quelconque pour déterminer le sens. Seuls les fronts montants de la voie d'interruption sont pris en compte dans ce mode.
+Le mode 2 utilise les mêmes voies mais les fronts montants et descendants de la voie d'interruption sont pris en compte.
+Le mode 4 correspond au mode quadrature. Dans ce mode, les fronts montants et descendants des deux voies sont pris en compte.
+
+Le second menu permet de spécifier les ports utilisés en fonction du mode retenu :
+\image{ENCODER_SB_dialogbox2.png}
+mode 1x : déclaration du pin d'interruption 2 ou 3 sur une carte UNO (2, 3 ou 18 à 21 pour la carte MEGA) et déclaration d'un pin digital quelconque de 2 à 13 pour une carte UNO (2 à 53 pour la carte MEGA)
+mode 2x : même principe.
+mode 4x : utilisation obligatoire de deux pins d'interruptions 2 et 3 sur une carte UNO ou 2 parmi 2, 3 ou 18 à 21 pour une carte MEGA.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un moteur dont on relève la position au cours du temps et la vitesse à partir du signal provenant du codeur. Le mode 4x a été choisi pour améliorer la précision. Le paramétrage du moteur est le même que celui de l'exemple sur le moteur.
+\image{ENCODER_exemple.png}
+
+\example2
+L'exemple suivant montre un asservissement de position utilisant l'information du codeur pour comparaison avec une grandeur de consigne. Un correcteur PI est utilisé pour corrigé l'écart et délivrer la tension de commande du moteur à courant continu.
+\image{ASSERV_POS_exemple.png}
+
+\seealso
+DCMOTOR_SB
diff --git a/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB.xml b/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB.xml
new file mode 100644
index 0000000..827be7c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ENCODER_SB">
+<refnamediv>
+ <refname>ENCODER_SB</refname>
+ <refpurpose>Permet de compter un ensemble d'événements sur une ou plusieurs voies.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ENCODER_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ENCODER_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ENCODER_SB">Permet de compter un ensemble d'événements sur une ou plusieurs voies.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ENCODER_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ENCODER_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ENCODER_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ENCODER_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example2_ENCODER_SB">Exemple 2</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ENCODER_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ENCODER_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ENCODER_SB">
+ <title>Description</title>
+<para> Beaucoup de capteurs (codeur incrémental, capteur à effet Hall...) renvoient un signal créneau pour lequel on souhaite compter les fronts. Le bloc permet de réaliser cette opération pour un ou deux codeurs. On utilise pour cela les interruptions disponibles sur la carte Arduino. Ce sont des entrées capables d’arrêter le programme principal lors d'un changement d’état (fronts d'un signal) afin d’exécuter un sous-programme. Ce sous-programme consiste dans ce cas à incrémenter ou décrémenter un compteur. </para>
+<para> Les pins 2 et 3 sont les seuls pins de l'Arduino Uno supportant les interruptions. Sur la carte Mega, les pins sont 2, 3 et 18 à 21. Il est nécessaire d'utiliser un signal supplémentaire pour connaître le sens du codeur. </para>
+<para> Ainsi, le bloc offre la possibilité de fonctionner un codeur en quadrature, il faut alors que les deux voies soient câblées sur les pins d'interruption et les fronts montants et descendants sont pris en compte sur les deux voies (la précision est augmentée et on peut également déterminer le sens). </para>
+<para> Par contre si on utilise un mode autre que la quadrature, seule une voie doit être branchée en interruption, l'autre peut être reliée à une entrée logique classique. </para>
+
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_ENCODER_SB">
+ <title>Boite de dialogue</title>
+
+<para> Le bloc propose deux menus. </para>
+<para> Le premier permet de choisir le mode de lecture du signal délivré par le codeur (choix entre 1, 2 ou 4). </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le mode 1 utilise une seule voie d'interruption et une voie digitale quelconque pour déterminer le sens. Seuls les fronts montants de la voie d'interruption sont pris en compte dans ce mode. </para>
+<para> Le mode 2 utilise les mêmes voies mais les fronts montants et descendants de la voie d'interruption sont pris en compte. </para>
+<para> Le mode 4 correspond au mode quadrature. Dans ce mode, les fronts montants et descendants des deux voies sont pris en compte. </para>
+
+<para> Le second menu permet de spécifier les ports utilisés en fonction du mode retenu : </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_SB_dialogbox2.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> mode 1x : déclaration du pin d'interruption 2 ou 3 sur une carte UNO (2, 3 ou 18 à 21 pour la carte MEGA) et déclaration d'un pin digital quelconque de 2 à 13 pour une carte UNO (2 à 53 pour la carte MEGA) </para>
+<para> mode 2x : même principe. </para>
+<para> mode 4x : utilisation obligatoire de deux pins d'interruptions 2 et 3 sur une carte UNO ou 2 parmi 2, 3 ou 18 à 21 pour une carte MEGA. </para>
+
+</refsection>
+<refsection id="Example1_ENCODER_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un moteur dont on relève la position au cours du temps et la vitesse à partir du signal provenant du codeur. Le mode 4x a été choisi pour améliorer la précision. Le paramétrage du moteur est le même que celui de l'exemple sur le moteur. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Example2_ENCODER_SB">
+ <title>Exemple 2</title>
+<para> L'exemple suivant montre un asservissement de position utilisant l'information du codeur pour comparaison avec une grandeur de consigne. Un correcteur PI est utilisé pour corrigé l'écart et délivrer la tension de commande du moteur à courant continu. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ASSERV_POS_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ENCODER_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="DCMOTOR_SB">DCMOTOR_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB_dialogbox1.png b/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB_dialogbox1.png
new file mode 100644
index 0000000..8dbe19c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB_dialogbox2.png b/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB_dialogbox2.png
new file mode 100644
index 0000000..b63878e
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ENCODER_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/ENCODER_exemple.png b/scilab-arduino/tools/linux/help/fr_En/ENCODER_exemple.png
new file mode 100644
index 0000000..9c477cf
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/ENCODER_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB.tst b/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB.tst
new file mode 100644
index 0000000..81c6117
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB.tst
@@ -0,0 +1,28 @@
+\name
+INTERRUPT_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet de compter un ensemble d'événements sur une ou plusieurs voies.
+
+\description
+Il s'agit de lire un compteur qui compte l'information issue de capteurs de position absolue (capteur à effet Hall...).
+Le bloc permet de lire les fronts montants détectés sur les entrées à interruptions disponibles de la carte Arduino. Ce sont des entrées capables d’arrêter le programme principal lors d'un changement d’état (fronts d'un signal) afin d’exécuter un sous-programme. Ce sous-programme consiste dans ce cas à incrémenter un compteur.
+Les pins 2 et 3 sont les seuls pins de l'Arduino Uno supportant les interruptions. Sur la carte Mega, les pins sont 2, 3 et 18 à 21.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+
+Le bloc propose un menu qui permet la déclaration du pin d'interruption 2 ou 3 sur une carte UNO (2, 3 ou 18 à 21 pour la carte MEGA) et déclaration d'un pin digital quelconque de 2 à 13 pour une carte UNO (2 à 53 pour la carte MEGA).
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+\image{INTERRUPT_SB_dialogbox.png}
+
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc pour compter le signal d'une fourche optique connecté sur le pin 3.
+\image{INTERRUPT_exemple.png}
+
+\seealso
+ENCODER_SB
diff --git a/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB.xml b/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB.xml
new file mode 100644
index 0000000..3f15c00
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="INTERRUPT_SB">
+<refnamediv>
+ <refname>INTERRUPT_SB</refname>
+ <refpurpose>Permet de compter un ensemble d'événements sur une ou plusieurs voies.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/INTERRUPT_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_INTERRUPT_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="INTERRUPT_SB">Permet de compter un ensemble d'événements sur une ou plusieurs voies.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_INTERRUPT_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_INTERRUPT_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_INTERRUPT_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_INTERRUPT_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_INTERRUPT_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_INTERRUPT_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_INTERRUPT_SB">
+ <title>Description</title>
+<para> Il s'agit de lire un compteur qui compte l'information issue de capteurs de position absolue (capteur à effet Hall...). </para>
+<para> Le bloc permet de lire les fronts montants détectés sur les entrées à interruptions disponibles de la carte Arduino. Ce sont des entrées capables d’arrêter le programme principal lors d'un changement d’état (fronts d'un signal) afin d’exécuter un sous-programme. Ce sous-programme consiste dans ce cas à incrémenter un compteur. </para>
+<para> Les pins 2 et 3 sont les seuls pins de l'Arduino Uno supportant les interruptions. Sur la carte Mega, les pins sont 2, 3 et 18 à 21. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_INTERRUPT_SB">
+ <title>Boite de dialogue</title>
+
+<para> Le bloc propose un menu qui permet la déclaration du pin d'interruption 2 ou 3 sur une carte UNO (2, 3 ou 18 à 21 pour la carte MEGA) et déclaration d'un pin digital quelconque de 2 à 13 pour une carte UNO (2 à 53 pour la carte MEGA). </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="INTERRUPT_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+
+
+</refsection>
+<refsection id="Example1_INTERRUPT_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc pour compter le signal d'une fourche optique connecté sur le pin 3. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="INTERRUPT_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_INTERRUPT_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ENCODER_SB">ENCODER_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB_dialogbox.png b/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB_dialogbox.png
new file mode 100644
index 0000000..ec3f62c
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_exemple.png b/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_exemple.png
new file mode 100644
index 0000000..7807247
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/INTERRUPT_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/SERVO_SB.tst b/scilab-arduino/tools/linux/help/fr_En/SERVO_SB.tst
new file mode 100644
index 0000000..a79340d
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/SERVO_SB.tst
@@ -0,0 +1,31 @@
+\name
+SERVO_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet de piloter un servomoteur en renseignant l'angle de 0 à 180° souhaité
+
+\description
+Un servomoteur est un ensemble constitué d'un moteur électrique, d'un réducteur, d'un potentiomètre et d'une partie électronique analogique ou numérique pour la commande. C'est donc un asservissement de position (ou de vitesse pour les servomoteurs à rotation continue).
+L'utilisateur ne doit donc qu'envoyer la consigne de position ou de vitesse souhaitée. Cette consigne est transmise au servomoteur sous forme d'impulsions espacées de 10 à 20 ms. Le codage de ces impulsions est fait de telle façon qu'une impulsion de 1,5 ms correspond à la position centrée (de repos), une impulsion de 1 ms correspond à un angle de 90° dans le sens trigonométrique et enfin une impulsion de 2 ms correspond à un angle de 90° dans le sens horaire. Toutes les autres largeurs d'impulsion donneront des valeurs intermédiaires.
+Pour un servomoteur à rotation continue, la largeur des impulsions donne la vitesse de rotation ainsi que le sens.
+Il faut penser à utiliser un régulateur de tension plutôt que l'alimentation de la carte Arduino pour alimenter le servomoteur.
+Pour simplifier, le bloc ne demande en entrée que l'angle souhaité en degré de 0 à 180.
+Deux servomoteurs peuvent être pilotés avec la toolbox.
+
+On rappelle que l'échantillonnage est de 10 ms au minimum pour ce bloc.
+
+\dialogbox
+\image{SERVO_SB_dialogbox.png}
+Le bloc propose de choisir le numéro du servomoteur piloté.
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc servomoteur dont la position est donnée par un potentiomètre relié sur le port analogique 0.
+Un gain d'adaptation a été utilisé pour convertir les données numériques codées sur 10 bits en sortie du potentiomètre en une grandeur variant de 0 à 180 pour spécifier la position souhaitée du servomoteur.
+\image{SERVO_SB_exemple.png}
+
+\seealso
+DCMOTOR_SB
diff --git a/scilab-arduino/tools/linux/help/fr_En/SERVO_SB_dialogbox.png b/scilab-arduino/tools/linux/help/fr_En/SERVO_SB_dialogbox.png
new file mode 100644
index 0000000..a421e75
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/SERVO_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/SERVO_SB_exemple.png b/scilab-arduino/tools/linux/help/fr_En/SERVO_SB_exemple.png
new file mode 100644
index 0000000..45b7e51
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/SERVO_SB_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/SERVO_WRITE_SB.xml b/scilab-arduino/tools/linux/help/fr_En/SERVO_WRITE_SB.xml
new file mode 100644
index 0000000..a2bf3d1
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/SERVO_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="SERVO_WRITE_SB">
+<refnamediv>
+ <refname>SERVO_WRITE_SB</refname>
+ <refpurpose>Permet de piloter un servomoteur en renseignant l'angle de 0 à 180° souhaité</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/SERVO_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_SERVO_WRITE_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="SERVO_WRITE_SB">Permet de piloter un servomoteur en renseignant l'angle de 0 à 180° souhaité</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_SERVO_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_SERVO_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_SERVO_WRITE_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_SERVO_WRITE_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_SERVO_WRITE_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_SERVO_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_SERVO_WRITE_SB">
+ <title>Description</title>
+<para> Un servomoteur est un ensemble constitué d'un moteur électrique, d'un réducteur, d'un potentiomètre et d'une partie électronique analogique ou numérique pour la commande. C'est donc un asservissement de position (ou de vitesse pour les servomoteurs à rotation continue). </para>
+<para> L'utilisateur ne doit donc qu'envoyer la consigne de position ou de vitesse souhaitée. Cette consigne est transmise au servomoteur sous forme d'impulsions espacées de 10 à 20 ms. Le codage de ces impulsions est fait de telle façon qu'une impulsion de 1,5 ms correspond à la position centrée (de repos), une impulsion de 1 ms correspond à un angle de 90° dans le sens trigonométrique et enfin une impulsion de 2 ms correspond à un angle de 90° dans le sens horaire. Toutes les autres largeurs d'impulsion donneront des valeurs intermédiaires. </para>
+<para> Pour un servomoteur à rotation continue, la largeur des impulsions donne la vitesse de rotation ainsi que le sens. </para>
+<para> Il faut penser à utiliser un régulateur de tension plutôt que l'alimentation de la carte Arduino pour alimenter le servomoteur. </para>
+<para> Pour simplifier, le bloc ne demande en entrée que l'angle souhaité en degré de 0 à 180. </para>
+<para> Deux servomoteurs peuvent être pilotés avec la toolbox. </para>
+
+<para> On rappelle que l'échantillonnage est de 10 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_SERVO_WRITE_SB">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="SERVO_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le bloc propose de choisir le numéro du servomoteur piloté. </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+
+</refsection>
+<refsection id="Example1_SERVO_WRITE_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc servomoteur dont la position est donnée par un potentiomètre relié sur le port analogique 0. </para>
+<para> Un gain d'adaptation a été utilisé pour convertir les données numériques codées sur 10 bits en sortie du potentiomètre en une grandeur variant de 0 à 180 pour spécifier la position souhaitée du servomoteur. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="SERVO_SB_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_SERVO_WRITE_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="DCMOTOR_SB">DCMOTOR_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE.xml b/scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE.xml
new file mode 100644
index 0000000..9994a66
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="TIME_SAMPLE">
+<refnamediv>
+ <refname>TIME_SAMPLE</refname>
+ <refpurpose>Permet de spécifier la durée d'acquisition/pilotage et le pas d'échantillonnage</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/TIME_SAMPLE.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_TIME_SAMPLE">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="TIME_SAMPLE">Permet de spécifier la durée d'acquisition/pilotage et le pas d'échantillonnage</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_TIME_SAMPLE">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_TIME_SAMPLE">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_TIME_SAMPLE">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_TIME_SAMPLE">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_TIME_SAMPLE">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_TIME_SAMPLE">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_TIME_SAMPLE">
+ <title>Description</title>
+<para> Ce bloc doit <emphasis role="bold">obligatoirement</emphasis> être placé sur le schéma lors de l'utilisation d'autres blocs de la toolbox. </para>
+<para> Il permet de définir la durée de communication avec la carte Arduino ainsi que le pas d'échantillonnage utilisé pour les blocs (chaque bloc est cadencé par ce pas). </para>
+<para> La communication série impose un pas limite pour chaque bloc qui est d'environ 8 ms (il est possible de descendre à 4 ms) par bloc. </para>
+<para> Il conviendra de tester pour des acquisitions complexes que l'échantillonnage retenu est suffisant, pour cela, il faut mesurer que le temps de simulation correspond au temps réel (une simulation de 10 s doit durer 10 s) ; à défaut, il faudra augmenter la période d'échantillonnage. </para>
+
+</refsection>
+<refsection id="Dialogbox_TIME_SAMPLE">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="TIME_SAMPLE_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> La durée de simulation (positive) doit être spécifiée. </para>
+<para> Le pas d'échantillonnage doit être renseigné en faisant attention au nombre de blocs Arduino utilisé. </para>
+
+</refsection>
+<refsection id="Example1_TIME_SAMPLE">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessus montre l'utilisation du bloc dans le cas du clignotement de la led 13 de la carte UNO définie sur le port de communication 5. Les blocs utilisent les paramètres par défaut, sauf pour le bloc PULSE de la palette standard dont on spécifie le déphasage à 0. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_TIME_SAMPLE">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ARDUINO_SETUP">ARDUINO_SETUP</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE_dialogbox.png b/scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE_dialogbox.png
new file mode 100644
index 0000000..45022af
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE_help.tst b/scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE_help.tst
new file mode 100644
index 0000000..56ed48a
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/TIME_SAMPLE_help.tst
@@ -0,0 +1,26 @@
+\name
+TIME_SAMPLE
+
+\palette
+Arduino
+
+\smalldescription
+Permet de spécifier la durée d'acquisition/pilotage et le pas d'échantillonnage
+
+\description
+Ce bloc doit \bold{obligatoirement} être placé sur le schéma lors de l'utilisation d'autres blocs de la toolbox.
+Il permet de définir la durée de communication avec la carte Arduino ainsi que le pas d'échantillonnage utilisé pour les blocs (chaque bloc est cadencé par ce pas).
+La communication série impose un pas limite pour chaque bloc qui est d'environ 8 ms (il est possible de descendre à 4 ms) par bloc.
+Il conviendra de tester pour des acquisitions complexes que l'échantillonnage retenu est suffisant, pour cela, il faut mesurer que le temps de simulation correspond au temps réel (une simulation de 10 s doit durer 10 s) ; à défaut, il faudra augmenter la période d'échantillonnage.
+
+\dialogbox
+\image{TIME_SAMPLE_dialogbox.png}
+La durée de simulation (positive) doit être spécifiée.
+Le pas d'échantillonnage doit être renseigné en faisant attention au nombre de blocs Arduino utilisé.
+
+\example1
+L'exemple ci-dessus montre l'utilisation du bloc dans le cas du clignotement de la led 13 de la carte UNO définie sur le port de communication 5. Les blocs utilisent les paramètres par défaut, sauf pour le bloc PULSE de la palette standard dont on spécifie le déphasage à 0.
+\image{ARDUINO_SETUP_example.png}
+
+\seealso
+ARDUINO_SETUP
diff --git a/scilab-arduino/tools/linux/help/fr_En/build_help.sce b/scilab-arduino/tools/linux/help/fr_En/build_help.sce
new file mode 100644
index 0000000..7065316
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/build_help.sce
@@ -0,0 +1,3 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+tbx_build_help(TOOLBOX_TITLE,get_absolute_file_path("build_help.sce"));
diff --git a/scilab-arduino/tools/linux/help/fr_En/read_file_doc.sci b/scilab-arduino/tools/linux/help/fr_En/read_file_doc.sci
new file mode 100644
index 0000000..254a1d1
--- /dev/null
+++ b/scilab-arduino/tools/linux/help/fr_En/read_file_doc.sci
@@ -0,0 +1,284 @@
+
+function data=read_file_doc(file_name)
+ fd=mopen(file_name); //open file
+ txt=mgetl(fd,-1); //read all lines
+ err=mclose(fd);
+
+ //items to read (respect this order )
+ items_to_read=["\name","\smalldescription","\palette","\description","\dialogbox","\example1","\example2","\example3","\seealso"];
+ lign_of_items=0*ones(1,size(items_to_read,2));
+ nb_items=size(items_to_read,'*')
+ //definition de la structure de donnee
+ for i=1:size(txt,'*')
+ for j=1:nb_items
+
+ if ~isempty(strindex(txt(i),items_to_read(j))) then
+ lign_of_items(j)=i;
+ end
+ end
+ end
+
+ //to use if the ordre is not respected
+ [temp,order]=gsort(lign_of_items,'g','i');
+
+ //extract data by items
+ data_by_items=cell(nb_items,1);
+ for j=1:nb_items-1
+ data_by_items(j).entries=txt(lign_of_items(order(j))+1:lign_of_items(order(j+1))-1);
+ end
+ data_by_items(nb_items).entries=txt(lign_of_items(order(nb_items))+1:$);
+ data_by_items2=data_by_items;
+ data_by_items2(order)=data_by_items;
+ data.name=stripblanks(strcat(data_by_items2(1).entries),%t);
+ data.smalldescription=strcat(data_by_items2(2).entries);
+ data.palette=stripblanks(strcat(data_by_items2(3).entries),%t);
+ data.seealso=data_by_items2(9).entries;
+ data.description=data_by_items2(4).entries;
+ data.dialogbox=data_by_items2(5).entries;
+ data.example1=data_by_items2(6).entries;
+ data.example2=data_by_items2(7).entries;
+ data.example3=data_by_items2(8).entries;
+ data.to_replace=cell(5,1);
+ data.to_replace=data_by_items2(4:8);
+
+endfunction
+
+function data=change_keyword(data)
+
+
+ for d=1:size(data.to_replace,1)
+ to_replace=data.to_replace(d).entries;
+
+ //add <par> </par> for each non empty lign
+ for i=1:size(to_replace,'*')
+ if ~isempty(to_replace(i)) then
+ to_replace(i)='<para> '+to_replace(i)+' </para>';
+ end
+ end
+
+ //replace \bold{} by <emphasis role="bold">Step Time</emphasis>
+ for i=1:size(to_replace,'*')
+ ind_bold=strindex(to_replace(i),"\bold")
+ ind_acc1=strindex(to_replace(i),"{")
+ ind_acc2=strindex(to_replace(i),"}")
+ n=0
+ ind_bold_acc=[]
+ for j=ind_bold
+ n=n+1;
+ for k=ind_acc1
+ if k==j+5 then
+ ind_bold_acc($+1)=ind_acc2(n);
+ continue
+ end
+ end
+ end
+
+ sizestr=length(to_replace(i))
+ if ~isempty(ind_bold) then
+ new_str=[];
+ ind_ini=1;
+ for j=1:size(ind_bold,2)
+ new_str=new_str+part(to_replace(i),ind_ini:ind_bold(j)-1);
+ new_str=new_str+"<emphasis role='"bold'">";
+ new_str=new_str+part(to_replace(i),ind_bold(j)+6:ind_bold_acc(j)-1);
+ new_str=new_str+"</emphasis>";
+ ind_ini=ind_bold_acc(j)+1;
+ end
+ to_replace(i)=new_str+part(to_replace(i),ind_bold_acc($)+1:sizestr);
+ end
+ end
+
+ //replace \image by xml code
+ for i=1:size(to_replace,'*')
+ ind_image=strindex(to_replace(i),"\image")
+ ind_acc=strindex(to_replace(i),"}")
+ if ~isempty(ind_image) then
+ name=stripblanks(part(to_replace(i),ind_image+7:ind_acc-1));
+ to_replace(i) = "<inlinemediaobject> <imageobject> <imagedata fileref='""+name+"'" align='"center'"/> </imageobject> </inlinemediaobject>"
+ end
+
+ end
+
+
+ data.to_replace(d).entries=to_replace;
+
+
+ end
+
+ data.description=data.to_replace(1).entries
+ data.dialogbox=data.to_replace(2).entries;
+ data.example1=data.to_replace(3).entries;
+ data.example2=data.to_replace(4).entries;
+ data.example3=data.to_replace(5).entries;
+ //data.seealso=data.to_replace(6).entries;
+
+endfunction
+
+function write_xml(data)
+
+ fd = mopen(data.name+'.xml','w+');
+
+ //write entete
+ entete=['<?xml version='"1.0'" encoding='"UTF-8'"?>'
+ '<refentry xmlns='"http://docbook.org/ns/docbook'" xmlns:xlink='"http://www.w3.org/1999/xlink'" xmlns:svg='"http://www.w3.org/2000/svg'" xmlns:mml='"http://www.w3.org/1998/Math/MathML'" xmlns:db='"http://docbook.org/ns/docbook'" version='"5.0-subset Scilab'" xml:id='""+data.name+"'"> ']
+ mputl(entete,fd);
+ towrite= ['<refnamediv>'
+ ' <refname>'+data.name+'</refname>'
+ ' <refpurpose>'+data.smalldescription+'</refpurpose> '
+ '</refnamediv>']
+ mputl(towrite,fd);
+
+ towrite=['<refsection>'
+ ' <title>Aperçu</title>'
+ ' <para>'
+ ' <inlinemediaobject>'
+ ' <imageobject>'
+ ' <imagedata fileref='"../../images/gif/'+data.name'+'.gif'" align='"center'" valign='"middle'"/>'
+ ' </imageobject>'
+ ' </inlinemediaobject>'
+ ' </para>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd);
+
+ linkend=[]
+ linkend_name=[];
+ linkend_data=cell(7,1);
+ n=1;
+ if ~isempty(data.palette) then
+ linkend($+1)='Palette_'+data.name;
+ linkend_name($+1)='Palette';
+ linkend_data(n).entries=data.palette
+ n=n+1
+ end
+ if ~isempty(data.description) then
+ linkend($+1)='Description_'+data.name;
+ linkend_name($+1)='Description';
+ linkend_data(n).entries=data.description
+ n=n+1
+ end
+ if ~isempty(data.dialogbox) then
+ linkend($+1)='Dialogbox_'+data.name;
+ linkend_name($+1)='Boite de dialogue';
+ linkend_data(n).entries=data.dialogbox;
+ n=n+1
+ end
+ if ~isempty(data.example1) then
+ linkend($+1)='Example1_'+data.name;
+ linkend_name($+1)='Exemple 1';
+ linkend_data(n).entries=data.example1;
+ n=n+1
+ end
+ if ~isempty(data.example2) then
+ linkend($+1)='Example2_'+data.name;
+ linkend_name($+1)='Exemple 2';
+ linkend_data(n).entries=data.example2;
+ n=n+1
+ end
+ if ~isempty(data.example3) then
+ linkend($+1)='Example3_'+data.name;
+ linkend_name($+1)='Exemple 3';
+ linkend_data(n).entries=data.example3;
+ n=n+1
+ end
+ if ~isempty(data.seealso) then
+ linkend($+1)='Seealso_'+data.name;
+ linkend_name($+1)='Voir aussi';
+ linkend_data(n).entries=data.seealso;
+ n=n+1
+ end
+
+ towrite=[
+ '<refsection id='"Contents_'+data.name+''">'
+ ' <title>Contenu</title>'
+ ' <itemizedlist>'
+ ' <listitem>'
+ ' <para>'
+ ' <link linkend='"'+data.name'+''">'+data.smalldescription+'</link>'
+ ' </para>'
+ ' </listitem>'
+ ' <listitem>'
+ ' <itemizedlist>'
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)
+ towrite=[
+ ' <listitem>'
+ ' <para>'
+ ' <xref linkend='"'+linkend(i)+''">'+linkend_name(i)+'</xref>'
+ ' </para>'
+ ' </listitem>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ towrite=[
+ ' </itemizedlist>'
+ ' </listitem>'
+ ' </itemizedlist>'
+ '</refsection> '
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)-1
+ towrite=[
+ '<refsection id='"'+linkend(i)+''">'
+ ' <title>'+linkend_name(i)+'</title>'
+ // ' <itemizedlist>'
+ // ' <listitem>'
+ //' <para>'
+ linkend_data(i).entries
+ //' </para>'
+ //' </listitem>'
+ //' </itemizedlist>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ //specific for see_also
+ towrite=[
+ '<refsection id='"'+linkend($)+''">'
+ ' <title>'+linkend_name(size(linkend,1))+'</title>'
+ ]
+ mputl(towrite,fd)
+
+ for j=1:size(linkend_data(size(linkend,1)).entries,'*')
+ towrite=[
+ ' <para>'
+ ' <link linkend='"'+linkend_data(size(linkend,1)).entries(j)+''">'+linkend_data(size(linkend,1)).entries(j)+'</link>'
+ ' </para>'
+ ]
+ mputl(towrite,fd)
+ end
+ towrite=[
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+
+
+towrite='</refentry>'
+mputl(towrite,fd)
+
+
+ mclose(fd);
+
+endfunction
+
+
+function create_xml(filename)
+ disp('Creation du fichier xml associé à '+filename)
+ data=read_file_doc(filename);
+ data=change_keyword(data);
+ write_xml(data);
+endfunction
+
+function create_all()
+ files=findfiles('./','*.tst')
+ for i=1:length(length(files))
+ if strindex(files(i),'~') ==[]
+ create_xml(files(i))
+ end
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/images/gif/ANALOG_READ_SB.gif b/scilab-arduino/tools/linux/images/gif/ANALOG_READ_SB.gif
new file mode 100644
index 0000000..00a75c6
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ANALOG_READ_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ANALOG_WRITE_SB.gif b/scilab-arduino/tools/linux/images/gif/ANALOG_WRITE_SB.gif
new file mode 100644
index 0000000..1da5d03
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ANALOG_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_ANALOG_READ.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_ANALOG_READ.gif
new file mode 100644
index 0000000..2a680b7
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_ANALOG_READ.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_ANALOG_WRITE.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_ANALOG_WRITE.gif
new file mode 100644
index 0000000..3cf3364
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_ANALOG_WRITE.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_DCMOTOR.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_DCMOTOR.gif
new file mode 100644
index 0000000..f873281
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_DCMOTOR.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_DIGITAL_READ.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_DIGITAL_READ.gif
new file mode 100644
index 0000000..d9dd4d1
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_DIGITAL_READ.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_DIGITAL_WRITE.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_DIGITAL_WRITE.gif
new file mode 100644
index 0000000..29a333a
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_DIGITAL_WRITE.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_ENCODER.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_ENCODER.gif
new file mode 100644
index 0000000..51603db
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_ENCODER.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_INTERRUPT.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_INTERRUPT.gif
new file mode 100644
index 0000000..f9540a0
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_INTERRUPT.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_SCOPE.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_SCOPE.gif
new file mode 100644
index 0000000..55d3ccd
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_SCOPE.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_SERVO_READ.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_SERVO_READ.gif
new file mode 100644
index 0000000..d6e584e
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_SERVO_READ.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_SERVO_WRITE.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_SERVO_WRITE.gif
new file mode 100644
index 0000000..f3e7195
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_SERVO_WRITE.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_SETUP.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_SETUP.gif
new file mode 100644
index 0000000..e2e8d42
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_SETUP.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_STEPPER.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_STEPPER.gif
new file mode 100644
index 0000000..7313733
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_STEPPER.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ARDUINO_WRITE.gif b/scilab-arduino/tools/linux/images/gif/ARDUINO_WRITE.gif
new file mode 100644
index 0000000..f9540a0
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ARDUINO_WRITE.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/DCMOTOR_SB.gif b/scilab-arduino/tools/linux/images/gif/DCMOTOR_SB.gif
new file mode 100644
index 0000000..c5cf0e6
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/DCMOTOR_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/DIGITAL_READ_SB.gif b/scilab-arduino/tools/linux/images/gif/DIGITAL_READ_SB.gif
new file mode 100644
index 0000000..39dea04
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/DIGITAL_READ_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/DIGITAL_WRITE_SB.gif b/scilab-arduino/tools/linux/images/gif/DIGITAL_WRITE_SB.gif
new file mode 100644
index 0000000..e47dca2
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/DIGITAL_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/ENCODER_SB.gif b/scilab-arduino/tools/linux/images/gif/ENCODER_SB.gif
new file mode 100644
index 0000000..6cbd55b
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/ENCODER_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/INTERRUPT_SB.gif b/scilab-arduino/tools/linux/images/gif/INTERRUPT_SB.gif
new file mode 100644
index 0000000..ec40a43
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/INTERRUPT_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/SERVO_READ_SB.gif b/scilab-arduino/tools/linux/images/gif/SERVO_READ_SB.gif
new file mode 100644
index 0000000..f9540a0
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/SERVO_READ_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/SERVO_WRITE_SB.gif b/scilab-arduino/tools/linux/images/gif/SERVO_WRITE_SB.gif
new file mode 100644
index 0000000..f04d9fe
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/SERVO_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/STEPPER_SB.gif b/scilab-arduino/tools/linux/images/gif/STEPPER_SB.gif
new file mode 100644
index 0000000..e49a338
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/STEPPER_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/gif/TIME_SAMPLE.gif b/scilab-arduino/tools/linux/images/gif/TIME_SAMPLE.gif
new file mode 100644
index 0000000..01837f0
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/gif/TIME_SAMPLE.gif
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ANALOG_READ_SB.sod b/scilab-arduino/tools/linux/images/h5/ANALOG_READ_SB.sod
new file mode 100644
index 0000000..151a2b9
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ANALOG_READ_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ANALOG_WRITE_SB.sod b/scilab-arduino/tools/linux/images/h5/ANALOG_WRITE_SB.sod
new file mode 100644
index 0000000..ff419a6
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ANALOG_WRITE_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_ANALOG_READ.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_ANALOG_READ.sod
new file mode 100644
index 0000000..cacf5be
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_ANALOG_READ.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_ANALOG_WRITE.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_ANALOG_WRITE.sod
new file mode 100644
index 0000000..83608e1
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_ANALOG_WRITE.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_DCMOTOR.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_DCMOTOR.sod
new file mode 100644
index 0000000..fb1af16
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_DCMOTOR.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_DIGITAL_READ.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_DIGITAL_READ.sod
new file mode 100644
index 0000000..c70ce1a
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_DIGITAL_READ.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_DIGITAL_WRITE.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_DIGITAL_WRITE.sod
new file mode 100644
index 0000000..39eec3b
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_DIGITAL_WRITE.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_ENCODER.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_ENCODER.sod
new file mode 100644
index 0000000..5fb896c
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_ENCODER.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_INTERRUPT.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_INTERRUPT.sod
new file mode 100644
index 0000000..6254a74
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_INTERRUPT.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_SCOPE.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_SCOPE.sod
new file mode 100644
index 0000000..884dde3
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_SCOPE.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_SERVO_READ.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_SERVO_READ.sod
new file mode 100644
index 0000000..7b0f598
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_SERVO_READ.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_SERVO_WRITE.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_SERVO_WRITE.sod
new file mode 100644
index 0000000..70b0b27
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_SERVO_WRITE.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_SETUP.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_SETUP.sod
new file mode 100644
index 0000000..15e8078
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_SETUP.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ARDUINO_STEPPER.sod b/scilab-arduino/tools/linux/images/h5/ARDUINO_STEPPER.sod
new file mode 100644
index 0000000..ae0e1a3
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ARDUINO_STEPPER.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/DCMOTOR_SB.sod b/scilab-arduino/tools/linux/images/h5/DCMOTOR_SB.sod
new file mode 100644
index 0000000..2ad757a
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/DCMOTOR_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/DIGITAL_READ_SB.sod b/scilab-arduino/tools/linux/images/h5/DIGITAL_READ_SB.sod
new file mode 100644
index 0000000..461b072
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/DIGITAL_READ_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/DIGITAL_WRITE_SB.sod b/scilab-arduino/tools/linux/images/h5/DIGITAL_WRITE_SB.sod
new file mode 100644
index 0000000..55cffc9
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/DIGITAL_WRITE_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/ENCODER_SB.sod b/scilab-arduino/tools/linux/images/h5/ENCODER_SB.sod
new file mode 100644
index 0000000..0596a4b
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/ENCODER_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/INTERRUPT_SB.sod b/scilab-arduino/tools/linux/images/h5/INTERRUPT_SB.sod
new file mode 100644
index 0000000..2cc8cdb
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/INTERRUPT_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/SERVO_READ_SB.sod b/scilab-arduino/tools/linux/images/h5/SERVO_READ_SB.sod
new file mode 100644
index 0000000..42053f1
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/SERVO_READ_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/SERVO_WRITE_SB.sod b/scilab-arduino/tools/linux/images/h5/SERVO_WRITE_SB.sod
new file mode 100644
index 0000000..a01e151
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/SERVO_WRITE_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/STEPPER_SB.sod b/scilab-arduino/tools/linux/images/h5/STEPPER_SB.sod
new file mode 100644
index 0000000..bffa8a3
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/STEPPER_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/h5/TIME_SAMPLE.sod b/scilab-arduino/tools/linux/images/h5/TIME_SAMPLE.sod
new file mode 100644
index 0000000..30bbac9
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/h5/TIME_SAMPLE.sod
Binary files differ
diff --git a/scilab-arduino/tools/linux/images/svg/ANALOG_READ_SB.svg b/scilab-arduino/tools/linux/images/svg/ANALOG_READ_SB.svg
new file mode 100644
index 0000000..b714955
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ANALOG_READ_SB.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="sinu.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3362" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="20" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="801" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g id="layer1_2_">
+
+ <path id="path8583_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M32.6,124.832c0,0,8.833-56.442,18.065-56.579C59.895,68.12,69.525,124.3,69.525,124.3"/>
+
+ <path id="path8585_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M69.494,124.607c0.002,0.014,7.83,56.432,18.062,56.578c8.232,0.119,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M106.389,124.832c0-0.008,8.331-56.438,18.064-56.579c8.729-0.125,18.856,56.041,18.857,56.047"/>
+
+ <path id="path8589_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M143.47,124.607c0,0,8.646,56.445,17.877,56.578c9.231,0.133,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M180.365,124.832c0.001-0.008,8.327-56.438,18.062-56.579c8.731-0.125,18.86,56.041,18.862,56.047"/>
+</g>
+<g id="layer1_1_">
+
+ <path id="path8583" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M28.059,120.037c0,0,8.833-56.446,18.065-56.579c9.229-0.132,18.857,56.047,18.857,56.047"/>
+
+ <path id="path8585" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M64.953,119.812c0.002,0.014,7.829,56.432,18.062,56.578c8.232,0.115,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M101.848,120.037c0.001-0.007,8.331-56.438,18.064-56.579c8.729-0.125,18.856,56.041,18.857,56.047"/>
+
+ <path id="path8589" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M138.929,119.812c0,0,8.646,56.441,17.877,56.578c9.231,0.134,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M175.823,120.037c0.001-0.007,8.327-56.438,18.062-56.579c8.732-0.125,18.861,56.041,18.862,56.047"/>
+</g>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.667z M182.025,213.259c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.558-1.494,4.475-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.017L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ANALOG_WRITE_SB.svg b/scilab-arduino/tools/linux/images/svg/ANALOG_WRITE_SB.svg
new file mode 100644
index 0000000..36ef087
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ANALOG_WRITE_SB.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="ARDUINO_ANALOG_WRITE.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3020" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="684.1331" cy="4135.2393" r="123.8445" gradientTransform="matrix(0.9548 0 0 0.9617 -547.2121 -3838.6248)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.586-113.767,114.586c-62.829,0-113.766-51.302-113.766-114.586c0-63.283,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.526,200.72
+ c3.86-0.122,5.383,1.335,7.376,3.312c0.457,0.452,0.931,0.945,1.438,1.476l1.478-1.587c1.328-1.507,3.682-2.919,5.218-3.091
+ c3.104-0.339,4.992-0.192,6.901,1.303c2.451,1.927,3.523,3.936,3.598,6.256c0.099,3.146-1.729,6.562-5.204,8.258
+ c-1.561,0.763-4.273,0.845-6.271,0.216c-2.823-1.185-4.032-2.596-5.671-4.783c-2.688,3.431-5.104,5.21-8.384,5.054
+ C145.07,216.563,146.046,200.996,156.526,200.72L156.526,200.72z M159.18,213.523c1.942-1.131,3.397-2.901,4.573-4.646
+ c-1.188-1.987-3.537-4.521-5.533-5.019c-1.558-0.349-4.045,0.249-5.163,1.244c-1.491,1.328-2.115,4.057-1.221,5.9
+ C153.069,213.554,156.709,214.674,159.18,213.523L159.18,213.523z M154.407,207.938l5.25,0.009v1.938l-5.261,0.009L154.407,207.938z
+ M175.945,213.703c1.752-0.598,3.279-2.678,3.572-4.413c0.277-1.645-1.126-4.018-2.98-4.979c-2.025-1.05-4.609-0.774-6.731,1.165
+ c-1.05,0.96-2.642,3-2.642,3.442c0,0.454,2.16,3.226,3.162,3.979C171.989,214.156,174.386,214.234,175.945,213.703z
+ M172.814,209.898l-1.742-0.013l-0.003-1.949l1.747,0.004v-1.731l1.773-0.013l-0.01,1.751l1.735,0.006v1.865l-1.636-0.012v1.793
+ h-1.866L172.814,209.898L172.814,209.898z"/>
+<path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.232,199.256
+ c3.86-0.123,5.379,1.335,7.376,3.313c0.456,0.452,0.931,0.945,1.438,1.476l1.477-1.587c1.329-1.507,3.721-2.701,5.24-2.97
+ c2.549-0.45,4.754-0.149,6.88,1.182c2.645,1.652,3.426,3.936,3.498,6.252c0.101,3.148-1.63,6.562-5.104,8.262
+ c-1.561,0.763-4.273,0.845-6.271,0.216c-2.824-1.188-4.032-2.596-5.671-4.783c-2.688,3.431-5.104,5.194-8.384,5.054
+ C144.435,215.14,145.474,199.359,156.232,199.256L156.232,199.256z M158.886,212.058c1.941-1.135,3.397-2.901,4.573-4.646
+ c-1.188-1.991-3.537-4.521-5.533-5.019c-1.558-0.352-4.045,0.248-5.163,1.244c-1.491,1.326-2.115,4.056-1.221,5.9
+ C152.774,212.09,156.415,213.209,158.886,212.058z M154.114,206.473l5.25,0.009v1.937l-5.259,0.012L154.114,206.473z
+ M175.651,212.237c4.106-1.912,4.518-7.147,0.592-9.393c-2.026-1.053-4.61-0.774-6.732,1.162c-1.049,0.959-2.642,3-2.642,3.445
+ c0,0.454,2.158,3.226,3.16,3.979C171.695,212.691,174.158,212.932,175.651,212.237z M172.52,208.432l-1.742-0.015l-0.003-1.946
+ l1.747,0.004v-1.732l1.773-0.012l-0.01,1.75l1.734,0.007v1.865l-1.635-0.015v1.795h-1.866L172.52,208.432L172.52,208.432z"/>
+<g id="layer1_2_">
+
+ <path id="path8583_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M32.6,124.832c0,0,8.833-56.443,18.065-56.579C59.895,68.12,69.525,124.3,69.525,124.3"/>
+
+ <path id="path8585_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M69.494,124.607c0.002,0.014,7.83,56.432,18.062,56.578c8.232,0.119,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M106.389,124.832c0-0.008,8.331-56.438,18.064-56.579c8.729-0.125,18.857,56.041,18.858,56.047"/>
+
+ <path id="path8589_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M143.47,124.607c0,0,8.646,56.445,17.877,56.578c9.231,0.133,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M180.365,124.832c0.001-0.008,8.328-56.438,18.062-56.579c8.731-0.125,18.86,56.041,18.862,56.047"/>
+</g>
+<g id="layer1_1_">
+
+ <path id="path8583" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M28.059,120.037c0,0,8.833-56.446,18.065-56.579c9.229-0.132,18.858,56.047,18.858,56.047"/>
+
+ <path id="path8585" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M64.953,119.812c0.002,0.014,7.829,56.432,18.062,56.578c8.232,0.116,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M101.848,120.037c0.001-0.007,8.331-56.438,18.064-56.579c8.729-0.125,18.857,56.041,18.858,56.047"/>
+
+ <path id="path8589" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M138.929,119.812c0,0,8.646,56.442,17.877,56.578c9.231,0.134,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M175.823,120.037c0.001-0.007,8.328-56.438,18.062-56.579c8.732-0.125,18.861,56.041,18.862,56.047"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_ANALOG_READ.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_ANALOG_READ.svg
new file mode 100644
index 0000000..b714955
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_ANALOG_READ.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="sinu.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3362" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="20" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="801" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g id="layer1_2_">
+
+ <path id="path8583_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M32.6,124.832c0,0,8.833-56.442,18.065-56.579C59.895,68.12,69.525,124.3,69.525,124.3"/>
+
+ <path id="path8585_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M69.494,124.607c0.002,0.014,7.83,56.432,18.062,56.578c8.232,0.119,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M106.389,124.832c0-0.008,8.331-56.438,18.064-56.579c8.729-0.125,18.856,56.041,18.857,56.047"/>
+
+ <path id="path8589_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M143.47,124.607c0,0,8.646,56.445,17.877,56.578c9.231,0.133,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M180.365,124.832c0.001-0.008,8.327-56.438,18.062-56.579c8.731-0.125,18.86,56.041,18.862,56.047"/>
+</g>
+<g id="layer1_1_">
+
+ <path id="path8583" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M28.059,120.037c0,0,8.833-56.446,18.065-56.579c9.229-0.132,18.857,56.047,18.857,56.047"/>
+
+ <path id="path8585" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M64.953,119.812c0.002,0.014,7.829,56.432,18.062,56.578c8.232,0.115,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M101.848,120.037c0.001-0.007,8.331-56.438,18.064-56.579c8.729-0.125,18.856,56.041,18.857,56.047"/>
+
+ <path id="path8589" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M138.929,119.812c0,0,8.646,56.441,17.877,56.578c9.231,0.134,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M175.823,120.037c0.001-0.007,8.327-56.438,18.062-56.579c8.732-0.125,18.861,56.041,18.862,56.047"/>
+</g>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.667z M182.025,213.259c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.558-1.494,4.475-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.017L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_ANALOG_WRITE.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_ANALOG_WRITE.svg
new file mode 100644
index 0000000..36ef087
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_ANALOG_WRITE.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="ARDUINO_ANALOG_WRITE.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3020" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="684.1331" cy="4135.2393" r="123.8445" gradientTransform="matrix(0.9548 0 0 0.9617 -547.2121 -3838.6248)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.586-113.767,114.586c-62.829,0-113.766-51.302-113.766-114.586c0-63.283,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.526,200.72
+ c3.86-0.122,5.383,1.335,7.376,3.312c0.457,0.452,0.931,0.945,1.438,1.476l1.478-1.587c1.328-1.507,3.682-2.919,5.218-3.091
+ c3.104-0.339,4.992-0.192,6.901,1.303c2.451,1.927,3.523,3.936,3.598,6.256c0.099,3.146-1.729,6.562-5.204,8.258
+ c-1.561,0.763-4.273,0.845-6.271,0.216c-2.823-1.185-4.032-2.596-5.671-4.783c-2.688,3.431-5.104,5.21-8.384,5.054
+ C145.07,216.563,146.046,200.996,156.526,200.72L156.526,200.72z M159.18,213.523c1.942-1.131,3.397-2.901,4.573-4.646
+ c-1.188-1.987-3.537-4.521-5.533-5.019c-1.558-0.349-4.045,0.249-5.163,1.244c-1.491,1.328-2.115,4.057-1.221,5.9
+ C153.069,213.554,156.709,214.674,159.18,213.523L159.18,213.523z M154.407,207.938l5.25,0.009v1.938l-5.261,0.009L154.407,207.938z
+ M175.945,213.703c1.752-0.598,3.279-2.678,3.572-4.413c0.277-1.645-1.126-4.018-2.98-4.979c-2.025-1.05-4.609-0.774-6.731,1.165
+ c-1.05,0.96-2.642,3-2.642,3.442c0,0.454,2.16,3.226,3.162,3.979C171.989,214.156,174.386,214.234,175.945,213.703z
+ M172.814,209.898l-1.742-0.013l-0.003-1.949l1.747,0.004v-1.731l1.773-0.013l-0.01,1.751l1.735,0.006v1.865l-1.636-0.012v1.793
+ h-1.866L172.814,209.898L172.814,209.898z"/>
+<path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.232,199.256
+ c3.86-0.123,5.379,1.335,7.376,3.313c0.456,0.452,0.931,0.945,1.438,1.476l1.477-1.587c1.329-1.507,3.721-2.701,5.24-2.97
+ c2.549-0.45,4.754-0.149,6.88,1.182c2.645,1.652,3.426,3.936,3.498,6.252c0.101,3.148-1.63,6.562-5.104,8.262
+ c-1.561,0.763-4.273,0.845-6.271,0.216c-2.824-1.188-4.032-2.596-5.671-4.783c-2.688,3.431-5.104,5.194-8.384,5.054
+ C144.435,215.14,145.474,199.359,156.232,199.256L156.232,199.256z M158.886,212.058c1.941-1.135,3.397-2.901,4.573-4.646
+ c-1.188-1.991-3.537-4.521-5.533-5.019c-1.558-0.352-4.045,0.248-5.163,1.244c-1.491,1.326-2.115,4.056-1.221,5.9
+ C152.774,212.09,156.415,213.209,158.886,212.058z M154.114,206.473l5.25,0.009v1.937l-5.259,0.012L154.114,206.473z
+ M175.651,212.237c4.106-1.912,4.518-7.147,0.592-9.393c-2.026-1.053-4.61-0.774-6.732,1.162c-1.049,0.959-2.642,3-2.642,3.445
+ c0,0.454,2.158,3.226,3.16,3.979C171.695,212.691,174.158,212.932,175.651,212.237z M172.52,208.432l-1.742-0.015l-0.003-1.946
+ l1.747,0.004v-1.732l1.773-0.012l-0.01,1.75l1.734,0.007v1.865l-1.635-0.015v1.795h-1.866L172.52,208.432L172.52,208.432z"/>
+<g id="layer1_2_">
+
+ <path id="path8583_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M32.6,124.832c0,0,8.833-56.443,18.065-56.579C59.895,68.12,69.525,124.3,69.525,124.3"/>
+
+ <path id="path8585_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M69.494,124.607c0.002,0.014,7.83,56.432,18.062,56.578c8.232,0.119,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M106.389,124.832c0-0.008,8.331-56.438,18.064-56.579c8.729-0.125,18.857,56.041,18.858,56.047"/>
+
+ <path id="path8589_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M143.47,124.607c0,0,8.646,56.445,17.877,56.578c9.231,0.133,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M180.365,124.832c0.001-0.008,8.328-56.438,18.062-56.579c8.731-0.125,18.86,56.041,18.862,56.047"/>
+</g>
+<g id="layer1_1_">
+
+ <path id="path8583" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M28.059,120.037c0,0,8.833-56.446,18.065-56.579c9.229-0.132,18.858,56.047,18.858,56.047"/>
+
+ <path id="path8585" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M64.953,119.812c0.002,0.014,7.829,56.432,18.062,56.578c8.232,0.116,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M101.848,120.037c0.001-0.007,8.331-56.438,18.064-56.579c8.729-0.125,18.857,56.041,18.858,56.047"/>
+
+ <path id="path8589" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M138.929,119.812c0,0,8.646,56.442,17.877,56.578c9.231,0.134,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M175.823,120.037c0.001-0.007,8.328-56.438,18.062-56.579c8.732-0.125,18.861,56.041,18.862,56.047"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_DCMOTOR.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_DCMOTOR.svg
new file mode 100644
index 0000000..0b18a66
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_DCMOTOR.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="motor.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3311" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="727.2932" cy="-4255.2822" r="123.844" gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.928,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+<g id="Calque_3">
+ <g id="layer1_4_" transform="translate(195.5,-49.005039)" opacity="0.13">
+ <g id="g3226_1_" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204_1_" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="5" d="M-102.688,377.755
+ c1.967,1.444,12.033,9.488,14.345,11.459c13.317,11.365,21.559,20.808,23.761,27.22c0.35,1.027,0.59,2.077,0.602,2.701
+ c0.028,1.219-0.168,1.427-1.783,1.829c-0.851,0.212-1.511,0.215-3.039,0.036c-1.076-0.136-2.672-0.448-3.546-0.701
+ c-6.2-1.809-14.908-6.561-25.166-13.735c-8.446-5.908-21.111-16.008-27.839-22.199c-11.516-10.609-17.945-19.183-18.074-24.119
+ c-0.037-1.356,0.37-1.856,1.75-2.153c2.922-0.632,8.572,0.909,14.72,4.004C-119.797,365.716-113.785,369.593-102.688,377.755
+ L-102.688,377.755z"/>
+ <path id="path3380" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" d="M-109.393,396.757
+ c-4.113-3.214-6.896-6.517-6.219-7.38l21.165-27.089c0.677-0.869,4.558,1.038,8.669,4.25l0,0c4.11,3.213,6.895,6.518,6.22,7.382
+ l-21.164,27.092C-101.401,401.873-105.281,399.97-109.393,396.757L-109.393,396.757z"/>
+ <path id="path3192_1_" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" d="
+ M-63.435,420.949c0.297-0.099-17.771,23.066-40.144,51.484c-40.117,50.95-40.694,51.663-41.773,51.838
+ c-3.685,0.583-12.058-3.032-22.299-9.632c-6.962-4.488-11.416-7.725-21.402-15.564c-15.823-12.419-24.813-20.765-30.445-28.266
+ c-2.276-3.03-4.037-6.903-3.752-8.246c0.141-0.655,11.982-15.847,40.704-52.216l40.503-51.289l0.351,1.34
+ c1.992,7.694,15.527,21.534,37.375,38.223c17.573,13.421,29.415,20.361,37.411,21.928
+ C-65.296,420.866-63.727,421.045-63.435,420.949L-63.435,420.949z"/>
+ </g>
+ </g>
+</g>
+<g id="layer1_3_" transform="translate(195.5,-49.005039)">
+ <g id="g3226" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204" fill="#E1E0E1" stroke="#000000" stroke-width="5" d="M-105.446,377.134
+ c1.97,1.444,12.031,9.487,14.346,11.459c13.318,11.363,21.557,20.804,23.759,27.22c0.353,1.028,0.591,2.079,0.603,2.702
+ c0.032,1.221-0.169,1.43-1.78,1.831c-0.85,0.216-1.51,0.218-3.038,0.039c-1.078-0.132-2.673-0.445-3.547-0.701
+ c-6.201-1.809-14.908-6.561-25.165-13.736c-8.445-5.908-21.112-16.007-27.839-22.199c-11.517-10.604-17.946-19.182-18.076-24.117
+ c-0.034-1.357,0.371-1.855,1.75-2.154c2.922-0.632,8.574,0.909,14.721,4.005C-122.552,365.093-116.541,368.971-105.446,377.134
+ L-105.446,377.134z"/>
+ <path id="path3308" fill="#E1E0E1" stroke="#000000" stroke-width="4" stroke-linecap="round" d="M-89.091,367.17
+ c4.114,3.214,6.896,6.518,6.222,7.382l-21.165,27.089c-0.678,0.867-4.558-1.036-8.668-4.249l0,0
+ c-4.112-3.212-6.898-6.516-6.22-7.383l21.165-27.089C-97.083,362.056-93.202,363.957-89.091,367.17L-89.091,367.17z"/>
+ <path id="path3192" fill="#FFFFFF" stroke="#000000" stroke-width="5" d="M-68.671,422.327
+ c0.296-0.101-17.771,23.068-40.144,51.484c-40.118,50.948-40.697,51.663-41.772,51.837c-3.682,0.584-12.056-3.031-22.298-9.631
+ c-6.961-4.486-11.418-7.725-21.405-15.566c-15.823-12.418-24.814-20.765-30.446-28.267c-2.275-3.029-4.037-6.903-3.75-8.245
+ c0.142-0.655,11.982-15.847,40.701-52.217l40.506-51.29l0.351,1.344c1.991,7.692,15.527,21.532,37.376,38.222
+ c17.571,13.42,29.413,20.362,37.408,21.93C-70.53,422.244-68.963,422.422-68.671,422.327L-68.671,422.327z"/>
+ </g>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_DIGITAL_READ.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_DIGITAL_READ.svg
new file mode 100644
index 0000000..720a675
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_DIGITAL_READ.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="digital.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3284" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<polyline id="polyline3280" fill="none" stroke="#000000" stroke-width="17" stroke-linecap="square" points="55.858,175.39
+ 55.485,53.987 101.083,53.987 100.749,175.39 121.749,175.39 121.749,53.366 145.082,53.366 145.082,175.08 164.082,174.927
+ 164.226,53.057 180.416,53.057 181.082,175.39 "/>
+<polyline id="polyline3282" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="square" points="55.858,174.724
+ 55.485,53.32 101.083,53.32 100.749,174.724 121.749,174.724 121.749,52.7 145.082,52.7 145.082,174.414 164.082,174.26
+ 164.226,52.39 180.416,52.39 181.082,174.724 "/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.16
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.024,142.65,196.523,156.451,196.16L156.451,196.16z M159.947,213.021c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.062,156.693,214.536,159.947,213.021L159.947,213.021z M153.661,205.666l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.666z M182.025,213.258c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.854,179.972,213.957,182.025,213.258z M177.902,208.247l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.247L177.902,208.247z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.231
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.15,141.897,194.368,156.064,194.231L156.064,194.231z M159.56,211.092c2.558-1.493,4.475-3.82,6.022-6.117
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.133,156.306,212.606,159.56,211.092z M153.275,203.737l6.913,0.011v2.551l-6.925,0.017L153.275,203.737z
+ M181.638,211.327c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.926,179.672,212.243,181.638,211.327z
+ M177.514,206.316l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.316L177.514,206.316z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_DIGITAL_WRITE.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_DIGITAL_WRITE.svg
new file mode 100644
index 0000000..720a675
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_DIGITAL_WRITE.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="digital.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3284" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<polyline id="polyline3280" fill="none" stroke="#000000" stroke-width="17" stroke-linecap="square" points="55.858,175.39
+ 55.485,53.987 101.083,53.987 100.749,175.39 121.749,175.39 121.749,53.366 145.082,53.366 145.082,175.08 164.082,174.927
+ 164.226,53.057 180.416,53.057 181.082,175.39 "/>
+<polyline id="polyline3282" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="square" points="55.858,174.724
+ 55.485,53.32 101.083,53.32 100.749,174.724 121.749,174.724 121.749,52.7 145.082,52.7 145.082,174.414 164.082,174.26
+ 164.226,52.39 180.416,52.39 181.082,174.724 "/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.16
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.024,142.65,196.523,156.451,196.16L156.451,196.16z M159.947,213.021c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.062,156.693,214.536,159.947,213.021L159.947,213.021z M153.661,205.666l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.666z M182.025,213.258c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.854,179.972,213.957,182.025,213.258z M177.902,208.247l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.247L177.902,208.247z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.231
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.15,141.897,194.368,156.064,194.231L156.064,194.231z M159.56,211.092c2.558-1.493,4.475-3.82,6.022-6.117
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.133,156.306,212.606,159.56,211.092z M153.275,203.737l6.913,0.011v2.551l-6.925,0.017L153.275,203.737z
+ M181.638,211.327c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.926,179.672,212.243,181.638,211.327z
+ M177.514,206.316l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.316L177.514,206.316z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_ENCODER.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_ENCODER.svg
new file mode 100644
index 0000000..e3ce332
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_ENCODER.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Calque_2"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="ARDUINO_ENCODER.svg"
+ x="0px"
+ y="0px"
+ width="236.499px"
+ height="247.781px"
+ viewBox="0 0 236.499 247.781"
+ enable-background="new 0 0 236.499 247.781"
+ xml:space="preserve"><metadata
+ id="metadata28"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs26" />
+<sodipodi:namedview
+ id="namedview3391"
+ inkscape:window-maximized="1"
+ inkscape:cy="123.8905"
+ showgrid="false"
+ inkscape:current-layer="Calque_2"
+ inkscape:window-y="-8"
+ bordercolor="#666666"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.95245396"
+ inkscape:cx="118.2495"
+ pagecolor="#ffffff"
+ borderopacity="1"
+ inkscape:pageopacity="0"
+ inkscape:window-width="1280"
+ inkscape:window-height="962"
+ inkscape:window-x="-8"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient
+ id="path3868_1_"
+ cx="727.2932"
+ cy="-4255.2822"
+ r="123.844"
+ gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#36BAC0"
+ id="stop5" />
+ <stop
+ offset="1"
+ style="stop-color:#2D9094"
+ id="stop7" />
+</radialGradient>
+<path
+ id="path3868"
+ fill="url(#path3868_1_)"
+ stroke="#02797E"
+ stroke-width="9.392"
+ stroke-linejoin="round"
+ d="M232.028,124.092 c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507 C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z" />
+<g
+ id="g10">
+ <path
+ id="path3086-5"
+ opacity="0.1681"
+ stroke="#000000"
+ enable-background="new "
+ d="M156.451,196.161 c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067 c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875 c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655 C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118 c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771 C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012 L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557 c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241 C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02 l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z" />
+ <path
+ id="path3086"
+ fill="#FFFFFF"
+ stroke="#FFFFFF"
+ stroke-width="0.5"
+ stroke-opacity="0.7037"
+ d="M156.064,194.232 c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911 c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88 c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655 C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118 c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771 C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53 c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363 h-2.458L177.514,206.317L177.514,206.317z" />
+</g>
+
+
+
+<path
+ sodipodi:type="arc"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path3806"
+ sodipodi:cx="124.94042"
+ sodipodi:cy="121.79066"
+ sodipodi:rx="60.895332"
+ sodipodi:ry="59.845413"
+ d="m 185.83575,121.79066 a 60.895332,59.845413 0 1 1 -121.79066,0 60.895332,59.845413 0 1 1 121.79066,0 z"
+ transform="matrix(1.1442345,0,0,1.137993,-22.745355,-17.856182)" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.46987009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 74.026715,117.05862 0,-33.146489 32.934425,0 0.74851,32.710359 30.6889,0 -0.74851,-33.146499 22.45528,0"
+ id="path3005"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.47698736;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 67.983263,157.82901 20.948654,0 0,-31.05027 32.789193,0 0,32.02059 32.7892,0 0,-32.02059 20.03784,0"
+ id="path3804"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" /></svg> \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_INTERRUPT.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_INTERRUPT.svg
new file mode 100644
index 0000000..e3ce332
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_INTERRUPT.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Calque_2"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="ARDUINO_ENCODER.svg"
+ x="0px"
+ y="0px"
+ width="236.499px"
+ height="247.781px"
+ viewBox="0 0 236.499 247.781"
+ enable-background="new 0 0 236.499 247.781"
+ xml:space="preserve"><metadata
+ id="metadata28"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs26" />
+<sodipodi:namedview
+ id="namedview3391"
+ inkscape:window-maximized="1"
+ inkscape:cy="123.8905"
+ showgrid="false"
+ inkscape:current-layer="Calque_2"
+ inkscape:window-y="-8"
+ bordercolor="#666666"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.95245396"
+ inkscape:cx="118.2495"
+ pagecolor="#ffffff"
+ borderopacity="1"
+ inkscape:pageopacity="0"
+ inkscape:window-width="1280"
+ inkscape:window-height="962"
+ inkscape:window-x="-8"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient
+ id="path3868_1_"
+ cx="727.2932"
+ cy="-4255.2822"
+ r="123.844"
+ gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#36BAC0"
+ id="stop5" />
+ <stop
+ offset="1"
+ style="stop-color:#2D9094"
+ id="stop7" />
+</radialGradient>
+<path
+ id="path3868"
+ fill="url(#path3868_1_)"
+ stroke="#02797E"
+ stroke-width="9.392"
+ stroke-linejoin="round"
+ d="M232.028,124.092 c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507 C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z" />
+<g
+ id="g10">
+ <path
+ id="path3086-5"
+ opacity="0.1681"
+ stroke="#000000"
+ enable-background="new "
+ d="M156.451,196.161 c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067 c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875 c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655 C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118 c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771 C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012 L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557 c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241 C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02 l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z" />
+ <path
+ id="path3086"
+ fill="#FFFFFF"
+ stroke="#FFFFFF"
+ stroke-width="0.5"
+ stroke-opacity="0.7037"
+ d="M156.064,194.232 c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911 c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88 c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655 C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118 c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771 C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53 c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363 h-2.458L177.514,206.317L177.514,206.317z" />
+</g>
+
+
+
+<path
+ sodipodi:type="arc"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path3806"
+ sodipodi:cx="124.94042"
+ sodipodi:cy="121.79066"
+ sodipodi:rx="60.895332"
+ sodipodi:ry="59.845413"
+ d="m 185.83575,121.79066 a 60.895332,59.845413 0 1 1 -121.79066,0 60.895332,59.845413 0 1 1 121.79066,0 z"
+ transform="matrix(1.1442345,0,0,1.137993,-22.745355,-17.856182)" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.46987009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 74.026715,117.05862 0,-33.146489 32.934425,0 0.74851,32.710359 30.6889,0 -0.74851,-33.146499 22.45528,0"
+ id="path3005"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.47698736;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 67.983263,157.82901 20.948654,0 0,-31.05027 32.789193,0 0,32.02059 32.7892,0 0,-32.02059 20.03784,0"
+ id="path3804"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" /></svg> \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_SCOPE.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_SCOPE.svg
new file mode 100644
index 0000000..bd06723
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_SCOPE.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg id="svg11300" xmlns="http://www.w3.org/2000/svg" height="44.822" width="41.062" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <title id="title3289">base scilan</title>
+ <defs id="defs3">
+ <radialGradient id="radialGradient20899" gradientUnits="userSpaceOnUse" cy="32.267" cx="23.994" gradientTransform="matrix(2.2986117,0,0,1.8027614,-75.446386,-24.554065)" r="19.089">
+ <stop id="stop2224" stop-color="#5187d6" offset="0"/>
+ <stop id="stop2227" stop-color="#1e4580" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient2854" y2="24.238" gradientUnits="userSpaceOnUse" x2="12.499" gradientTransform="matrix(0,-5.2061514,2.5688251,0,-79.265723,164.6207)" y1="12.538" x1="8.8208">
+ <stop id="stop2182" stop-color="#FFF" offset="0"/>
+ <stop id="stop2184" stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g id="layer1" transform="translate(-2.8842799e-7,-3.1783548)">
+ <g id="layer1-0" transform="matrix(0,0.68137179,-0.68137179,0,39.302853,7.826163)">
+ <g id="g9544" transform="translate(-2.0023665,2.2530854)">
+ <g id="g9570" transform="translate(0.34662852,-1.7289484)">
+ <g id="g28489" transform="translate(2.3098495,0.12996954)">
+ <g id="g20882" transform="translate(51.47752,-82.884097)">
+ <rect id="rect1314" stroke-linejoin="round" style="stroke-dasharray:none;" transform="matrix(0,-0.99999997,0.99999997,0,-49.042742,89.574337)" fill-rule="evenodd" stroke-dashoffset="0" rx="2.2025" ry="2.2025" height="37.631" width="48.319" stroke="#173562" stroke-linecap="round" stroke-miterlimit="4" y="2.4454" x="-44.453" stroke-width="1.4676" fill="url(#radialGradient20899)"/>
+ <path id="path28138" stroke-linejoin="round" d="M8.6382,35.758c27.557-0.173,27.904-0.173,27.904-0.173l0.17331-33.97" transform="translate(-49.042742,89.574337)" stroke="#000" stroke-linecap="round" stroke-width="1.46762753px" fill="none"/>
+ <path id="rect2178" opacity="0.43181817" d="m-45.868,133.4,12.954,0c1.0099-5.0153,1.5849-10.576,1.5849-16.442,0-12.211-2.4433-23.147-6.2788-30.45h-8.2599v46.892z" fill-rule="evenodd" fill="url(#linearGradient2854)"/>
+ <path id="path18808" stroke-linejoin="round" style="stroke-dasharray:none;" d="m-27.782,121.73-0.57149-0.2893-0.56662-0.28848-0.55952-0.28909-0.55222-0.2893-1.0738-0.57777-0.51996-0.2893-0.50637-0.28828-0.49217-0.28929-0.47533-0.28849-0.4597-0.28929-0.44064-0.2893-0.42156-0.28909-0.40027-0.28848-0.37957-0.2893-0.35726-0.28929-0.33372-0.28848-0.30979-0.2893-0.28524-0.28828-0.25927-0.28929-0.2329-0.2893-0.20612-0.28848-0.17913-0.2893-0.15053-0.28909-0.12274-0.28848-0.09433-0.28929-0.06513-0.2893-0.03713-0.28848-0.0071-0.2893,0.0213-0.28909,0.05072-0.28848,0.07932-0.2893,0.10772-0.28929,0.13633-0.28848,0.16473-0.2891,0.19192-0.28929,0.2195-0.28849,0.24568-0.28929,0.27185-0.28929,0.29619-0.28849,0.32175-0.28909,0.34569-0.28929,0.36761-0.28849,0.39073-0.28929,0.41041-0.28909,0.4311-0.28849,0.44936-0.2893,0.46762-0.28929,0.48344-0.28848,0.49927-0.2893,0.51267-0.28828,0.52623-0.28929,0.5372-0.2893,0.54674-0.28929,0.55566-0.28849,0.56338-0.28909,0.56905-0.28848,0.57291-0.28929,0.57616-0.2893,0.57758-0.28848,0.57778-0.2893,0.57696-0.28909,0.57291-0.28848,0.56905-0.2893,0.56337-0.28929,0.55628-0.28849,0.54775-0.2891,0.53721-0.28929,0.52625-0.28848,0.51347-0.2893,0.49927-0.28929,0.48486-0.28849,0.46762-0.28909,0.45017-0.28929,0.43191-0.28849,0.41122-0.28929,0.39073-0.2893,0.36923-0.28827,0.34549-0.2893,0.32257-0.28848,0.29802-0.2893,0.27266-0.28929,0.24649-0.28909,0.22032-0.28849,0.19334-0.28929,0.16473-0.2893,0.13795-0.28848,0.10854-0.28909,0.08075-0.28849,0.05152-0.28929,0.02229-0.28929-0.0065-0.2893-0.03551-0.28849-0.06431-0.28908-0.09352-0.28849-0.12111-0.2893-0.15073-0.28929" stroke="#ef2929" stroke-linecap="round" stroke-miterlimit="4" stroke-width="2.93525505" fill="none"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_SERVO_READ.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_SERVO_READ.svg
new file mode 100644
index 0000000..960d74f
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_SERVO_READ.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="servo.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3335" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="794.6584" cy="1277.4519" r="123.8436" gradientTransform="matrix(0.9548 0 0 0.9617 -652.7419 -1090.29)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.936,114.589-113.766,114.589S4.496,187.376,4.496,124.092C4.496,60.81,55.432,9.507,118.262,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<radialGradient id="path3254_1_" cx="3142.0452" cy="9988.082" r="125.9599" gradientTransform="matrix(0.3699 0 0 0.1167 -1040.6821 -976.3671)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</radialGradient>
+<path id="path3254" opacity="0.4091" fill="url(#path3254_1_)" enable-background="new " d="M198.128,189.063
+ c0.015,13.333-34.259,24.146-76.545,24.146c-42.293,0.007-76.583-10.8-76.59-24.134v-0.012
+ c-0.016-13.334,34.261-24.148,76.547-24.148c42.285-0.006,76.584,10.807,76.588,24.14V189.063L198.128,189.063z"/>
+<path id="path3243" fill="#FFFFFF" stroke="#000000" stroke-width="4" d="M115.122,34.415c-1.796,0.124-3.535,0.408-5.302,0.607
+ h-0.125l-4.217,23.023c-6.874,1.562-13.346,4.226-19.16,7.827L67.394,52.257c-5.115,3.972-9.771,8.603-13.855,13.618L66.67,85.04
+ c-3.988,6.103-6.986,13.062-8.676,20.367c0,0.037,0,0.112,0,0.121l-22.9,3.617c-0.42,3.418-0.599,6.949-0.599,10.482
+ c0,2.894,0.071,5.74,0.356,8.554l22.901,4.098c1.628,7.954,4.716,15.386,9.042,21.938L53.17,172.905
+ c3.898,4.844,8.399,9.252,13.259,13.135l19.285-13.258c6.744,4.297,14.261,7.312,22.417,8.792l3.616,22.784
+ c2.569,0.235,5.209,0.242,7.834,0.242c3.712,0,7.262-0.139,10.85-0.604l4.34-23.267c7.738-1.918,15.008-5.264,21.334-9.759
+ l18.562,13.5c4.809-4.102,9.212-8.809,13.017-13.856l-13.502-19.535c3.654-6.31,6.189-13.274,7.479-20.727l22.774-3.614
+ c0.197-2.373,0.242-4.682,0.242-7.109c0-4.217-0.489-8.358-1.084-12.417l-23.142-4.219c-1.814-6.69-4.786-12.946-8.562-18.558
+ l13.616-18.687c-4.215-5.166-9.031-9.931-14.338-13.981l-19.646,13.5c-5.648-3.337-11.725-5.901-18.317-7.353l-3.613-22.896
+ c-3.296-0.383-6.615-0.606-10.009-0.606c-0.916,0-1.856-0.021-2.77,0c-0.445,0.021-0.886-0.021-1.325,0
+ C115.362,34.427,115.239,34.415,115.122,34.415z M117.762,83.816c0.594-0.034,1.192,0,1.793,0c19.342,0,35.128,15.778,35.128,35.115
+ c0,19.335-15.786,34.957-35.128,34.957c-19.336,0-34.956-15.621-34.956-34.957C84.599,100.199,99.262,84.754,117.762,83.816z"/>
+<circle id="circle3333" fill="#FFFFFF" stroke="#000000" stroke-width="4" cx="120.348" cy="118.417" r="15.886"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_SERVO_WRITE.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_SERVO_WRITE.svg
new file mode 100644
index 0000000..960d74f
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_SERVO_WRITE.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="servo.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3335" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="794.6584" cy="1277.4519" r="123.8436" gradientTransform="matrix(0.9548 0 0 0.9617 -652.7419 -1090.29)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.936,114.589-113.766,114.589S4.496,187.376,4.496,124.092C4.496,60.81,55.432,9.507,118.262,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<radialGradient id="path3254_1_" cx="3142.0452" cy="9988.082" r="125.9599" gradientTransform="matrix(0.3699 0 0 0.1167 -1040.6821 -976.3671)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</radialGradient>
+<path id="path3254" opacity="0.4091" fill="url(#path3254_1_)" enable-background="new " d="M198.128,189.063
+ c0.015,13.333-34.259,24.146-76.545,24.146c-42.293,0.007-76.583-10.8-76.59-24.134v-0.012
+ c-0.016-13.334,34.261-24.148,76.547-24.148c42.285-0.006,76.584,10.807,76.588,24.14V189.063L198.128,189.063z"/>
+<path id="path3243" fill="#FFFFFF" stroke="#000000" stroke-width="4" d="M115.122,34.415c-1.796,0.124-3.535,0.408-5.302,0.607
+ h-0.125l-4.217,23.023c-6.874,1.562-13.346,4.226-19.16,7.827L67.394,52.257c-5.115,3.972-9.771,8.603-13.855,13.618L66.67,85.04
+ c-3.988,6.103-6.986,13.062-8.676,20.367c0,0.037,0,0.112,0,0.121l-22.9,3.617c-0.42,3.418-0.599,6.949-0.599,10.482
+ c0,2.894,0.071,5.74,0.356,8.554l22.901,4.098c1.628,7.954,4.716,15.386,9.042,21.938L53.17,172.905
+ c3.898,4.844,8.399,9.252,13.259,13.135l19.285-13.258c6.744,4.297,14.261,7.312,22.417,8.792l3.616,22.784
+ c2.569,0.235,5.209,0.242,7.834,0.242c3.712,0,7.262-0.139,10.85-0.604l4.34-23.267c7.738-1.918,15.008-5.264,21.334-9.759
+ l18.562,13.5c4.809-4.102,9.212-8.809,13.017-13.856l-13.502-19.535c3.654-6.31,6.189-13.274,7.479-20.727l22.774-3.614
+ c0.197-2.373,0.242-4.682,0.242-7.109c0-4.217-0.489-8.358-1.084-12.417l-23.142-4.219c-1.814-6.69-4.786-12.946-8.562-18.558
+ l13.616-18.687c-4.215-5.166-9.031-9.931-14.338-13.981l-19.646,13.5c-5.648-3.337-11.725-5.901-18.317-7.353l-3.613-22.896
+ c-3.296-0.383-6.615-0.606-10.009-0.606c-0.916,0-1.856-0.021-2.77,0c-0.445,0.021-0.886-0.021-1.325,0
+ C115.362,34.427,115.239,34.415,115.122,34.415z M117.762,83.816c0.594-0.034,1.192,0,1.793,0c19.342,0,35.128,15.778,35.128,35.115
+ c0,19.335-15.786,34.957-35.128,34.957c-19.336,0-34.956-15.621-34.956-34.957C84.599,100.199,99.262,84.754,117.762,83.816z"/>
+<circle id="circle3333" fill="#FFFFFF" stroke="#000000" stroke-width="4" cx="120.348" cy="118.417" r="15.886"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_SETUP.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_SETUP.svg
new file mode 100644
index 0000000..b9b2097
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_SETUP.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="ARDUINO_SETUP.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<radialGradient id="path3868_1_" cx="833.2502" cy="-3527.9846" r="123.8434" gradientTransform="matrix(0.9548 0 0 -0.9617 -689.5905 -3259.6597)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" sodipodi:cy="3393.2393" sodipodi:rx="119.14749" sodipodi:cx="802.91974" sodipodi:type="arc" sodipodi:ry="119.14749" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="
+ M232.028,119.092c0,63.283-50.935,114.587-113.765,114.587c-62.831,0-113.766-51.303-113.766-114.587
+ c0-63.282,50.935-114.585,113.766-114.585C181.093,4.507,232.028,55.807,232.028,119.092L232.028,119.092z"/>
+<path id="path3086-5" inkscape:connector-curvature="0" sodipodi:nodetypes="cscccsscccsccccssccccccscsscssccccccccccccc" opacity="0.1681" stroke="#000000" enable-background="new " d="
+ M74.519,83.759c19.915-0.632,27.751,6.89,38.052,17.097c2.355,2.334,4.785,4.877,7.418,7.61l7.618-8.188
+ c6.854-7.772,18.979-15.06,26.906-15.946c16.021-1.747,25.771-1.008,35.62,6.724c12.645,9.923,18.174,20.29,18.546,32.258
+ c0.505,16.243-8.909,33.854-26.849,42.604c-8.038,3.936-22.049,4.356-32.334,1.112c-14.569-6.108-20.807-13.392-29.26-24.677
+ c-13.868,17.696-26.333,26.876-43.252,26.068C15.417,165.492,20.451,85.181,74.519,83.759L74.519,83.759z M88.211,149.809
+ c10.019-5.837,17.529-14.97,23.595-23.951c-6.118-10.271-18.249-23.332-28.545-25.895c-8.038-1.798-20.869,1.284-26.638,6.423
+ c-7.692,6.851-10.912,20.925-6.299,30.452C56.681,149.971,75.464,155.744,88.211,149.809L88.211,149.809z M63.591,120.996
+ l27.084,0.044v9.995l-27.128,0.044L63.591,120.996z M174.699,150.733c9.038-3.081,16.917-13.813,18.43-22.769
+ c1.433-8.479-5.81-20.725-15.395-25.69c-10.448-5.416-23.778-3.995-34.729,6.011c-5.415,4.949-13.628,15.479-13.628,17.773
+ c0,2.345,11.147,16.625,16.315,20.524C154.289,153.072,166.66,153.473,174.699,150.733z M158.549,131.105l-8.989-0.062
+ l-0.017-10.058l9.017,0.021v-8.938l9.148-0.062l-0.054,9.03l8.968,0.032v9.625l-8.438-0.062v9.25h-9.625L158.549,131.105z"/>
+<g>
+ <path fill="#FFFFFF" stroke="#000000" stroke-width="2" d="M27.718,122.5c0,44.19,60.759,60.645,90.775,15.646
+ c31.107,46.656,89.429,27.098,89.429-15.715c0-42.814-58.046-63.398-89.429-15.594C88.753,59.585,27.718,78.307,27.718,122.5
+ L27.718,122.5z M43.673,122.5c0-31.89,45.068-41.955,66.033,0C88.326,162.896,43.673,154.386,43.673,122.5L43.673,122.5z
+ M127.279,122.5c18.889-42.781,65.179-30.993,65.039,0.069C192.184,153.629,145.615,163.311,127.279,122.5z"/>
+ <rect x="60.611" y="118.023" fill="#FFFFFF" width="26.742" height="8.82"/>
+ <polygon fill="#FFFFFF" points="157.66,126.708 148.837,126.708 148.837,117.331 157.66,117.331 157.66,108.51 167.034,108.51
+ 167.034,117.331 175.858,117.331 175.858,126.708 167.034,126.708 167.034,135.53 157.66,135.53 "/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_STEPPER.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_STEPPER.svg
new file mode 100644
index 0000000..068cfdf
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_STEPPER.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="stepper.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3391" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="727.2932" cy="-4255.2822" r="123.844" gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+<g id="Calque_3">
+ <g id="layer1_4_" transform="translate(195.5,-49.005039)" opacity="0.13">
+ <g id="g3226_1_" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204_1_" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="5" d="M-101.9,378.371
+ c1.967,1.444,12.033,9.488,14.345,11.459c13.317,11.365,21.559,20.808,23.761,27.22c0.35,1.027,0.589,2.077,0.602,2.702
+ c0.029,1.218-0.167,1.427-1.783,1.829c-0.85,0.212-1.511,0.215-3.039,0.036c-1.076-0.136-2.672-0.448-3.545-0.702
+ c-6.2-1.809-14.908-6.561-25.166-13.735c-8.446-5.908-21.111-16.008-27.839-22.199c-11.517-10.608-17.945-19.182-18.074-24.119
+ c-0.037-1.356,0.37-1.856,1.75-2.152c2.922-0.633,8.572,0.909,14.72,4.003C-119.009,366.332-112.997,370.209-101.9,378.371
+ L-101.9,378.371z"/>
+ <path id="path3380" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" d="M-108.605,397.374
+ c-4.113-3.214-6.896-6.517-6.221-7.38l21.165-27.09c0.677-0.869,4.558,1.038,8.669,4.25l0,0c4.11,3.213,6.894,6.518,6.22,7.383
+ l-21.164,27.092C-100.613,402.488-104.493,400.586-108.605,397.374L-108.605,397.374z"/>
+ <path id="path3192_1_" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" d="
+ M-62.647,421.565c0.297-0.099-17.771,23.067-40.144,51.484c-40.116,50.952-40.695,51.663-41.772,51.838
+ c-3.685,0.583-12.059-3.032-22.299-9.632c-6.963-4.488-11.416-7.725-21.402-15.564c-15.823-12.42-24.813-20.766-30.446-28.266
+ c-2.276-3.03-4.037-6.903-3.752-8.246c0.142-0.655,11.982-15.847,40.704-52.216l40.503-51.29l0.35,1.341
+ c1.992,7.693,15.527,21.534,37.375,38.223c17.573,13.421,29.415,20.361,37.411,21.928
+ C-64.507,421.481-62.94,421.66-62.647,421.565L-62.647,421.565z"/>
+ </g>
+ </g>
+</g>
+<g id="layer1_3_" transform="translate(195.5,-49.005039)">
+ <g id="g3226" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204" fill="#E1E0E1" stroke="#000000" stroke-width="5" d="M-104.658,377.75c1.97,1.444,12.031,9.488,14.346,11.459
+ c13.318,11.363,21.557,20.804,23.759,27.22c0.353,1.028,0.591,2.079,0.603,2.702c0.032,1.221-0.169,1.431-1.78,1.83
+ c-0.85,0.216-1.51,0.218-3.038,0.041c-1.078-0.133-2.674-0.447-3.547-0.702c-6.201-1.809-14.908-6.56-25.164-13.736
+ c-8.446-5.908-21.113-16.007-27.839-22.199c-11.517-10.604-17.947-19.182-18.076-24.118c-0.034-1.357,0.371-1.854,1.75-2.153
+ c2.922-0.632,8.574,0.909,14.721,4.005C-121.764,365.708-115.753,369.587-104.658,377.75L-104.658,377.75z"/>
+ <path id="path3308" fill="#E1E0E1" stroke="#000000" stroke-width="4" stroke-linecap="round" d="M-88.303,367.786
+ c4.114,3.214,6.896,6.518,6.222,7.382l-21.165,27.089c-0.678,0.867-4.558-1.036-8.668-4.249l0,0
+ c-4.112-3.212-6.898-6.516-6.22-7.382l21.164-27.09C-96.295,362.672-92.415,364.573-88.303,367.786L-88.303,367.786z"/>
+ <path id="path3192" fill="#FFFFFF" stroke="#000000" stroke-width="5" d="M-67.883,422.943c0.296-0.1-17.771,23.069-40.144,51.485
+ c-40.118,50.948-40.696,51.663-41.772,51.837c-3.682,0.583-12.055-3.032-22.298-9.631c-6.961-4.486-11.418-7.725-21.405-15.566
+ c-15.823-12.418-24.814-20.765-30.446-28.267c-2.275-3.029-4.037-6.903-3.75-8.245c0.143-0.656,11.983-15.847,40.701-52.217
+ l40.506-51.289l0.35,1.343c1.991,7.692,15.527,21.532,37.377,38.223c17.571,13.42,29.413,20.362,37.408,21.929
+ C-69.742,422.861-68.175,423.038-67.883,422.943L-67.883,422.943z"/>
+ </g>
+</g>
+<polyline id="polyline3389" fill="none" stroke="#000000" stroke-width="6" stroke-linecap="square" points="54.359,164.502
+ 54.099,84.557 85.819,84.557 85.586,164.502 100.193,164.502 100.193,84.15 116.424,84.15 116.424,164.296 129.643,164.196
+ 129.742,83.947 141.005,83.947 141.469,164.502 "/>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ARDUINO_WRITE.svg b/scilab-arduino/tools/linux/images/svg/ARDUINO_WRITE.svg
new file mode 100644
index 0000000..9ed8f4d
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ARDUINO_WRITE.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN'
+ 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; stroke:black; text-rendering:auto; stroke-linecap:square; stroke-miterlimit:10; stroke-opacity:1; shape-rendering:auto; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:&apos;Dialog&apos;; font-style:normal; stroke-linejoin:miter; font-size:12; stroke-dashoffset:0; image-rendering:auto;" width="610" height="460" xmlns="http://www.w3.org/2000/svg"
+><!--Generated by Scilab with Batik SVG Generator--><defs id="genericDefs"
+ /><g
+ ><g style="fill:white; text-rendering:optimizeLegibility; stroke:white;"
+ ><rect x="0" width="610" height="460" y="0" style="stroke:none;"
+ /><path d="M530.4 4.6 L530.4 455.4 L79.6 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 455.4 L79.6 455.4 L79.6 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 4.6 L530.4 455.4 L79.6 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 455.4 L79.6 455.4 L79.6 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 4.6 L530.4 4.6 L530.4 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 4.6 L530.4 455.4 L530.4 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M79.6 4.6 L79.6 4.6 L79.6 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M79.6 4.6 L79.6 455.4 L79.6 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 4.6 L79.6 4.6 L530.4 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M79.6 4.6 L79.6 4.6 L530.4 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 455.4 L79.6 455.4 L530.4 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M79.6 455.4 L79.6 455.4 L530.4 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /></g
+ ></g
+></svg
+>
diff --git a/scilab-arduino/tools/linux/images/svg/DCMOTOR_SB.svg b/scilab-arduino/tools/linux/images/svg/DCMOTOR_SB.svg
new file mode 100644
index 0000000..0b18a66
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/DCMOTOR_SB.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="motor.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3311" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="727.2932" cy="-4255.2822" r="123.844" gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.928,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+<g id="Calque_3">
+ <g id="layer1_4_" transform="translate(195.5,-49.005039)" opacity="0.13">
+ <g id="g3226_1_" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204_1_" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="5" d="M-102.688,377.755
+ c1.967,1.444,12.033,9.488,14.345,11.459c13.317,11.365,21.559,20.808,23.761,27.22c0.35,1.027,0.59,2.077,0.602,2.701
+ c0.028,1.219-0.168,1.427-1.783,1.829c-0.851,0.212-1.511,0.215-3.039,0.036c-1.076-0.136-2.672-0.448-3.546-0.701
+ c-6.2-1.809-14.908-6.561-25.166-13.735c-8.446-5.908-21.111-16.008-27.839-22.199c-11.516-10.609-17.945-19.183-18.074-24.119
+ c-0.037-1.356,0.37-1.856,1.75-2.153c2.922-0.632,8.572,0.909,14.72,4.004C-119.797,365.716-113.785,369.593-102.688,377.755
+ L-102.688,377.755z"/>
+ <path id="path3380" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" d="M-109.393,396.757
+ c-4.113-3.214-6.896-6.517-6.219-7.38l21.165-27.089c0.677-0.869,4.558,1.038,8.669,4.25l0,0c4.11,3.213,6.895,6.518,6.22,7.382
+ l-21.164,27.092C-101.401,401.873-105.281,399.97-109.393,396.757L-109.393,396.757z"/>
+ <path id="path3192_1_" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" d="
+ M-63.435,420.949c0.297-0.099-17.771,23.066-40.144,51.484c-40.117,50.95-40.694,51.663-41.773,51.838
+ c-3.685,0.583-12.058-3.032-22.299-9.632c-6.962-4.488-11.416-7.725-21.402-15.564c-15.823-12.419-24.813-20.765-30.445-28.266
+ c-2.276-3.03-4.037-6.903-3.752-8.246c0.141-0.655,11.982-15.847,40.704-52.216l40.503-51.289l0.351,1.34
+ c1.992,7.694,15.527,21.534,37.375,38.223c17.573,13.421,29.415,20.361,37.411,21.928
+ C-65.296,420.866-63.727,421.045-63.435,420.949L-63.435,420.949z"/>
+ </g>
+ </g>
+</g>
+<g id="layer1_3_" transform="translate(195.5,-49.005039)">
+ <g id="g3226" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204" fill="#E1E0E1" stroke="#000000" stroke-width="5" d="M-105.446,377.134
+ c1.97,1.444,12.031,9.487,14.346,11.459c13.318,11.363,21.557,20.804,23.759,27.22c0.353,1.028,0.591,2.079,0.603,2.702
+ c0.032,1.221-0.169,1.43-1.78,1.831c-0.85,0.216-1.51,0.218-3.038,0.039c-1.078-0.132-2.673-0.445-3.547-0.701
+ c-6.201-1.809-14.908-6.561-25.165-13.736c-8.445-5.908-21.112-16.007-27.839-22.199c-11.517-10.604-17.946-19.182-18.076-24.117
+ c-0.034-1.357,0.371-1.855,1.75-2.154c2.922-0.632,8.574,0.909,14.721,4.005C-122.552,365.093-116.541,368.971-105.446,377.134
+ L-105.446,377.134z"/>
+ <path id="path3308" fill="#E1E0E1" stroke="#000000" stroke-width="4" stroke-linecap="round" d="M-89.091,367.17
+ c4.114,3.214,6.896,6.518,6.222,7.382l-21.165,27.089c-0.678,0.867-4.558-1.036-8.668-4.249l0,0
+ c-4.112-3.212-6.898-6.516-6.22-7.383l21.165-27.089C-97.083,362.056-93.202,363.957-89.091,367.17L-89.091,367.17z"/>
+ <path id="path3192" fill="#FFFFFF" stroke="#000000" stroke-width="5" d="M-68.671,422.327
+ c0.296-0.101-17.771,23.068-40.144,51.484c-40.118,50.948-40.697,51.663-41.772,51.837c-3.682,0.584-12.056-3.031-22.298-9.631
+ c-6.961-4.486-11.418-7.725-21.405-15.566c-15.823-12.418-24.814-20.765-30.446-28.267c-2.275-3.029-4.037-6.903-3.75-8.245
+ c0.142-0.655,11.982-15.847,40.701-52.217l40.506-51.29l0.351,1.344c1.991,7.692,15.527,21.532,37.376,38.222
+ c17.571,13.42,29.413,20.362,37.408,21.93C-70.53,422.244-68.963,422.422-68.671,422.327L-68.671,422.327z"/>
+ </g>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/DIGITAL_READ_SB.svg b/scilab-arduino/tools/linux/images/svg/DIGITAL_READ_SB.svg
new file mode 100644
index 0000000..720a675
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/DIGITAL_READ_SB.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="digital.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3284" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<polyline id="polyline3280" fill="none" stroke="#000000" stroke-width="17" stroke-linecap="square" points="55.858,175.39
+ 55.485,53.987 101.083,53.987 100.749,175.39 121.749,175.39 121.749,53.366 145.082,53.366 145.082,175.08 164.082,174.927
+ 164.226,53.057 180.416,53.057 181.082,175.39 "/>
+<polyline id="polyline3282" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="square" points="55.858,174.724
+ 55.485,53.32 101.083,53.32 100.749,174.724 121.749,174.724 121.749,52.7 145.082,52.7 145.082,174.414 164.082,174.26
+ 164.226,52.39 180.416,52.39 181.082,174.724 "/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.16
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.024,142.65,196.523,156.451,196.16L156.451,196.16z M159.947,213.021c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.062,156.693,214.536,159.947,213.021L159.947,213.021z M153.661,205.666l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.666z M182.025,213.258c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.854,179.972,213.957,182.025,213.258z M177.902,208.247l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.247L177.902,208.247z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.231
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.15,141.897,194.368,156.064,194.231L156.064,194.231z M159.56,211.092c2.558-1.493,4.475-3.82,6.022-6.117
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.133,156.306,212.606,159.56,211.092z M153.275,203.737l6.913,0.011v2.551l-6.925,0.017L153.275,203.737z
+ M181.638,211.327c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.926,179.672,212.243,181.638,211.327z
+ M177.514,206.316l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.316L177.514,206.316z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/DIGITAL_WRITE_SB.svg b/scilab-arduino/tools/linux/images/svg/DIGITAL_WRITE_SB.svg
new file mode 100644
index 0000000..720a675
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/DIGITAL_WRITE_SB.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="digital.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3284" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<polyline id="polyline3280" fill="none" stroke="#000000" stroke-width="17" stroke-linecap="square" points="55.858,175.39
+ 55.485,53.987 101.083,53.987 100.749,175.39 121.749,175.39 121.749,53.366 145.082,53.366 145.082,175.08 164.082,174.927
+ 164.226,53.057 180.416,53.057 181.082,175.39 "/>
+<polyline id="polyline3282" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="square" points="55.858,174.724
+ 55.485,53.32 101.083,53.32 100.749,174.724 121.749,174.724 121.749,52.7 145.082,52.7 145.082,174.414 164.082,174.26
+ 164.226,52.39 180.416,52.39 181.082,174.724 "/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.16
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.024,142.65,196.523,156.451,196.16L156.451,196.16z M159.947,213.021c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.062,156.693,214.536,159.947,213.021L159.947,213.021z M153.661,205.666l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.666z M182.025,213.258c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.854,179.972,213.957,182.025,213.258z M177.902,208.247l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.247L177.902,208.247z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.231
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.15,141.897,194.368,156.064,194.231L156.064,194.231z M159.56,211.092c2.558-1.493,4.475-3.82,6.022-6.117
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.133,156.306,212.606,159.56,211.092z M153.275,203.737l6.913,0.011v2.551l-6.925,0.017L153.275,203.737z
+ M181.638,211.327c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.926,179.672,212.243,181.638,211.327z
+ M177.514,206.316l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.316L177.514,206.316z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/ENCODER_SB.svg b/scilab-arduino/tools/linux/images/svg/ENCODER_SB.svg
new file mode 100644
index 0000000..e3ce332
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/ENCODER_SB.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Calque_2"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="ARDUINO_ENCODER.svg"
+ x="0px"
+ y="0px"
+ width="236.499px"
+ height="247.781px"
+ viewBox="0 0 236.499 247.781"
+ enable-background="new 0 0 236.499 247.781"
+ xml:space="preserve"><metadata
+ id="metadata28"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs26" />
+<sodipodi:namedview
+ id="namedview3391"
+ inkscape:window-maximized="1"
+ inkscape:cy="123.8905"
+ showgrid="false"
+ inkscape:current-layer="Calque_2"
+ inkscape:window-y="-8"
+ bordercolor="#666666"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.95245396"
+ inkscape:cx="118.2495"
+ pagecolor="#ffffff"
+ borderopacity="1"
+ inkscape:pageopacity="0"
+ inkscape:window-width="1280"
+ inkscape:window-height="962"
+ inkscape:window-x="-8"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient
+ id="path3868_1_"
+ cx="727.2932"
+ cy="-4255.2822"
+ r="123.844"
+ gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#36BAC0"
+ id="stop5" />
+ <stop
+ offset="1"
+ style="stop-color:#2D9094"
+ id="stop7" />
+</radialGradient>
+<path
+ id="path3868"
+ fill="url(#path3868_1_)"
+ stroke="#02797E"
+ stroke-width="9.392"
+ stroke-linejoin="round"
+ d="M232.028,124.092 c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507 C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z" />
+<g
+ id="g10">
+ <path
+ id="path3086-5"
+ opacity="0.1681"
+ stroke="#000000"
+ enable-background="new "
+ d="M156.451,196.161 c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067 c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875 c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655 C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118 c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771 C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012 L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557 c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241 C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02 l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z" />
+ <path
+ id="path3086"
+ fill="#FFFFFF"
+ stroke="#FFFFFF"
+ stroke-width="0.5"
+ stroke-opacity="0.7037"
+ d="M156.064,194.232 c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911 c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88 c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655 C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118 c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771 C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53 c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363 h-2.458L177.514,206.317L177.514,206.317z" />
+</g>
+
+
+
+<path
+ sodipodi:type="arc"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path3806"
+ sodipodi:cx="124.94042"
+ sodipodi:cy="121.79066"
+ sodipodi:rx="60.895332"
+ sodipodi:ry="59.845413"
+ d="m 185.83575,121.79066 a 60.895332,59.845413 0 1 1 -121.79066,0 60.895332,59.845413 0 1 1 121.79066,0 z"
+ transform="matrix(1.1442345,0,0,1.137993,-22.745355,-17.856182)" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.46987009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 74.026715,117.05862 0,-33.146489 32.934425,0 0.74851,32.710359 30.6889,0 -0.74851,-33.146499 22.45528,0"
+ id="path3005"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.47698736;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 67.983263,157.82901 20.948654,0 0,-31.05027 32.789193,0 0,32.02059 32.7892,0 0,-32.02059 20.03784,0"
+ id="path3804"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" /></svg> \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/images/svg/INTERRUPT_SB.svg b/scilab-arduino/tools/linux/images/svg/INTERRUPT_SB.svg
new file mode 100644
index 0000000..ffcc1b1
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/INTERRUPT_SB.svg
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Calque_2"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="INTERRUPT_SB.svg"
+ x="0px"
+ y="0px"
+ width="236.499px"
+ height="247.781px"
+ viewBox="0 0 236.499 247.781"
+ enable-background="new 0 0 236.499 247.781"
+ xml:space="preserve"><metadata
+ id="metadata28"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs26" />
+<sodipodi:namedview
+ id="namedview3391"
+ inkscape:window-maximized="1"
+ inkscape:cy="123.8905"
+ showgrid="false"
+ inkscape:current-layer="Calque_2"
+ inkscape:window-y="-8"
+ bordercolor="#666666"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.95245396"
+ inkscape:cx="-45.537944"
+ pagecolor="#ffffff"
+ borderopacity="1"
+ inkscape:pageopacity="0"
+ inkscape:window-width="1280"
+ inkscape:window-height="962"
+ inkscape:window-x="-8"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient
+ id="path3868_1_"
+ cx="727.2932"
+ cy="-4255.2822"
+ r="123.844"
+ gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#36BAC0"
+ id="stop5" />
+ <stop
+ offset="1"
+ style="stop-color:#2D9094"
+ id="stop7" />
+</radialGradient>
+<path
+ id="path3868"
+ fill="url(#path3868_1_)"
+ stroke="#02797E"
+ stroke-width="9.392"
+ stroke-linejoin="round"
+ d="M232.028,124.092 c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507 C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z" />
+<g
+ id="g10">
+ <path
+ id="path3086-5"
+ opacity="0.1681"
+ stroke="#000000"
+ enable-background="new "
+ d="M156.451,196.161 c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067 c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875 c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655 C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118 c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771 C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012 L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557 c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241 C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02 l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z" />
+ <path
+ id="path3086"
+ fill="#FFFFFF"
+ stroke="#FFFFFF"
+ stroke-width="0.5"
+ stroke-opacity="0.7037"
+ d="M156.064,194.232 c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911 c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88 c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655 C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118 c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771 C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53 c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363 h-2.458L177.514,206.317L177.514,206.317z" />
+</g>
+
+
+
+<path
+ sodipodi:type="arc"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path3806"
+ sodipodi:cx="124.94042"
+ sodipodi:cy="121.79066"
+ sodipodi:rx="60.895332"
+ sodipodi:ry="59.845413"
+ d="m 185.83575,121.79066 a 60.895332,59.845413 0 1 1 -121.79066,0 60.895332,59.845413 0 1 1 121.79066,0 z"
+ transform="matrix(1.1442345,0,0,1.137993,-22.745355,-17.856182)" /><path
+ style="fill:none;stroke:#000000;stroke-width:3.7875762;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 55.789522,132.14607 22.026073,0 0,-37.509532 -1.101304,37.509532 29.735199,0 -1.10131,-36.33736 1.10131,36.33736 27.53259,-0.12226 -1.1013,-35.042931 1.1013,35.165191 27.53259,0 -1.1013,-35.165191 1.04992,33.993011 23.17876,0"
+ id="path2995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccc" /></svg> \ No newline at end of file
diff --git a/scilab-arduino/tools/linux/images/svg/SERVO_READ_SB.svg b/scilab-arduino/tools/linux/images/svg/SERVO_READ_SB.svg
new file mode 100644
index 0000000..960d74f
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/SERVO_READ_SB.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="servo.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3335" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="794.6584" cy="1277.4519" r="123.8436" gradientTransform="matrix(0.9548 0 0 0.9617 -652.7419 -1090.29)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.936,114.589-113.766,114.589S4.496,187.376,4.496,124.092C4.496,60.81,55.432,9.507,118.262,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<radialGradient id="path3254_1_" cx="3142.0452" cy="9988.082" r="125.9599" gradientTransform="matrix(0.3699 0 0 0.1167 -1040.6821 -976.3671)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</radialGradient>
+<path id="path3254" opacity="0.4091" fill="url(#path3254_1_)" enable-background="new " d="M198.128,189.063
+ c0.015,13.333-34.259,24.146-76.545,24.146c-42.293,0.007-76.583-10.8-76.59-24.134v-0.012
+ c-0.016-13.334,34.261-24.148,76.547-24.148c42.285-0.006,76.584,10.807,76.588,24.14V189.063L198.128,189.063z"/>
+<path id="path3243" fill="#FFFFFF" stroke="#000000" stroke-width="4" d="M115.122,34.415c-1.796,0.124-3.535,0.408-5.302,0.607
+ h-0.125l-4.217,23.023c-6.874,1.562-13.346,4.226-19.16,7.827L67.394,52.257c-5.115,3.972-9.771,8.603-13.855,13.618L66.67,85.04
+ c-3.988,6.103-6.986,13.062-8.676,20.367c0,0.037,0,0.112,0,0.121l-22.9,3.617c-0.42,3.418-0.599,6.949-0.599,10.482
+ c0,2.894,0.071,5.74,0.356,8.554l22.901,4.098c1.628,7.954,4.716,15.386,9.042,21.938L53.17,172.905
+ c3.898,4.844,8.399,9.252,13.259,13.135l19.285-13.258c6.744,4.297,14.261,7.312,22.417,8.792l3.616,22.784
+ c2.569,0.235,5.209,0.242,7.834,0.242c3.712,0,7.262-0.139,10.85-0.604l4.34-23.267c7.738-1.918,15.008-5.264,21.334-9.759
+ l18.562,13.5c4.809-4.102,9.212-8.809,13.017-13.856l-13.502-19.535c3.654-6.31,6.189-13.274,7.479-20.727l22.774-3.614
+ c0.197-2.373,0.242-4.682,0.242-7.109c0-4.217-0.489-8.358-1.084-12.417l-23.142-4.219c-1.814-6.69-4.786-12.946-8.562-18.558
+ l13.616-18.687c-4.215-5.166-9.031-9.931-14.338-13.981l-19.646,13.5c-5.648-3.337-11.725-5.901-18.317-7.353l-3.613-22.896
+ c-3.296-0.383-6.615-0.606-10.009-0.606c-0.916,0-1.856-0.021-2.77,0c-0.445,0.021-0.886-0.021-1.325,0
+ C115.362,34.427,115.239,34.415,115.122,34.415z M117.762,83.816c0.594-0.034,1.192,0,1.793,0c19.342,0,35.128,15.778,35.128,35.115
+ c0,19.335-15.786,34.957-35.128,34.957c-19.336,0-34.956-15.621-34.956-34.957C84.599,100.199,99.262,84.754,117.762,83.816z"/>
+<circle id="circle3333" fill="#FFFFFF" stroke="#000000" stroke-width="4" cx="120.348" cy="118.417" r="15.886"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/SERVO_WRITE_SB.svg b/scilab-arduino/tools/linux/images/svg/SERVO_WRITE_SB.svg
new file mode 100644
index 0000000..960d74f
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/SERVO_WRITE_SB.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="servo.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3335" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="794.6584" cy="1277.4519" r="123.8436" gradientTransform="matrix(0.9548 0 0 0.9617 -652.7419 -1090.29)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.936,114.589-113.766,114.589S4.496,187.376,4.496,124.092C4.496,60.81,55.432,9.507,118.262,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<radialGradient id="path3254_1_" cx="3142.0452" cy="9988.082" r="125.9599" gradientTransform="matrix(0.3699 0 0 0.1167 -1040.6821 -976.3671)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</radialGradient>
+<path id="path3254" opacity="0.4091" fill="url(#path3254_1_)" enable-background="new " d="M198.128,189.063
+ c0.015,13.333-34.259,24.146-76.545,24.146c-42.293,0.007-76.583-10.8-76.59-24.134v-0.012
+ c-0.016-13.334,34.261-24.148,76.547-24.148c42.285-0.006,76.584,10.807,76.588,24.14V189.063L198.128,189.063z"/>
+<path id="path3243" fill="#FFFFFF" stroke="#000000" stroke-width="4" d="M115.122,34.415c-1.796,0.124-3.535,0.408-5.302,0.607
+ h-0.125l-4.217,23.023c-6.874,1.562-13.346,4.226-19.16,7.827L67.394,52.257c-5.115,3.972-9.771,8.603-13.855,13.618L66.67,85.04
+ c-3.988,6.103-6.986,13.062-8.676,20.367c0,0.037,0,0.112,0,0.121l-22.9,3.617c-0.42,3.418-0.599,6.949-0.599,10.482
+ c0,2.894,0.071,5.74,0.356,8.554l22.901,4.098c1.628,7.954,4.716,15.386,9.042,21.938L53.17,172.905
+ c3.898,4.844,8.399,9.252,13.259,13.135l19.285-13.258c6.744,4.297,14.261,7.312,22.417,8.792l3.616,22.784
+ c2.569,0.235,5.209,0.242,7.834,0.242c3.712,0,7.262-0.139,10.85-0.604l4.34-23.267c7.738-1.918,15.008-5.264,21.334-9.759
+ l18.562,13.5c4.809-4.102,9.212-8.809,13.017-13.856l-13.502-19.535c3.654-6.31,6.189-13.274,7.479-20.727l22.774-3.614
+ c0.197-2.373,0.242-4.682,0.242-7.109c0-4.217-0.489-8.358-1.084-12.417l-23.142-4.219c-1.814-6.69-4.786-12.946-8.562-18.558
+ l13.616-18.687c-4.215-5.166-9.031-9.931-14.338-13.981l-19.646,13.5c-5.648-3.337-11.725-5.901-18.317-7.353l-3.613-22.896
+ c-3.296-0.383-6.615-0.606-10.009-0.606c-0.916,0-1.856-0.021-2.77,0c-0.445,0.021-0.886-0.021-1.325,0
+ C115.362,34.427,115.239,34.415,115.122,34.415z M117.762,83.816c0.594-0.034,1.192,0,1.793,0c19.342,0,35.128,15.778,35.128,35.115
+ c0,19.335-15.786,34.957-35.128,34.957c-19.336,0-34.956-15.621-34.956-34.957C84.599,100.199,99.262,84.754,117.762,83.816z"/>
+<circle id="circle3333" fill="#FFFFFF" stroke="#000000" stroke-width="4" cx="120.348" cy="118.417" r="15.886"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/STEPPER_SB.svg b/scilab-arduino/tools/linux/images/svg/STEPPER_SB.svg
new file mode 100644
index 0000000..068cfdf
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/STEPPER_SB.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="stepper.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3391" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="727.2932" cy="-4255.2822" r="123.844" gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+<g id="Calque_3">
+ <g id="layer1_4_" transform="translate(195.5,-49.005039)" opacity="0.13">
+ <g id="g3226_1_" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204_1_" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="5" d="M-101.9,378.371
+ c1.967,1.444,12.033,9.488,14.345,11.459c13.317,11.365,21.559,20.808,23.761,27.22c0.35,1.027,0.589,2.077,0.602,2.702
+ c0.029,1.218-0.167,1.427-1.783,1.829c-0.85,0.212-1.511,0.215-3.039,0.036c-1.076-0.136-2.672-0.448-3.545-0.702
+ c-6.2-1.809-14.908-6.561-25.166-13.735c-8.446-5.908-21.111-16.008-27.839-22.199c-11.517-10.608-17.945-19.182-18.074-24.119
+ c-0.037-1.356,0.37-1.856,1.75-2.152c2.922-0.633,8.572,0.909,14.72,4.003C-119.009,366.332-112.997,370.209-101.9,378.371
+ L-101.9,378.371z"/>
+ <path id="path3380" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" d="M-108.605,397.374
+ c-4.113-3.214-6.896-6.517-6.221-7.38l21.165-27.09c0.677-0.869,4.558,1.038,8.669,4.25l0,0c4.11,3.213,6.894,6.518,6.22,7.383
+ l-21.164,27.092C-100.613,402.488-104.493,400.586-108.605,397.374L-108.605,397.374z"/>
+ <path id="path3192_1_" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" d="
+ M-62.647,421.565c0.297-0.099-17.771,23.067-40.144,51.484c-40.116,50.952-40.695,51.663-41.772,51.838
+ c-3.685,0.583-12.059-3.032-22.299-9.632c-6.963-4.488-11.416-7.725-21.402-15.564c-15.823-12.42-24.813-20.766-30.446-28.266
+ c-2.276-3.03-4.037-6.903-3.752-8.246c0.142-0.655,11.982-15.847,40.704-52.216l40.503-51.29l0.35,1.341
+ c1.992,7.693,15.527,21.534,37.375,38.223c17.573,13.421,29.415,20.361,37.411,21.928
+ C-64.507,421.481-62.94,421.66-62.647,421.565L-62.647,421.565z"/>
+ </g>
+ </g>
+</g>
+<g id="layer1_3_" transform="translate(195.5,-49.005039)">
+ <g id="g3226" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204" fill="#E1E0E1" stroke="#000000" stroke-width="5" d="M-104.658,377.75c1.97,1.444,12.031,9.488,14.346,11.459
+ c13.318,11.363,21.557,20.804,23.759,27.22c0.353,1.028,0.591,2.079,0.603,2.702c0.032,1.221-0.169,1.431-1.78,1.83
+ c-0.85,0.216-1.51,0.218-3.038,0.041c-1.078-0.133-2.674-0.447-3.547-0.702c-6.201-1.809-14.908-6.56-25.164-13.736
+ c-8.446-5.908-21.113-16.007-27.839-22.199c-11.517-10.604-17.947-19.182-18.076-24.118c-0.034-1.357,0.371-1.854,1.75-2.153
+ c2.922-0.632,8.574,0.909,14.721,4.005C-121.764,365.708-115.753,369.587-104.658,377.75L-104.658,377.75z"/>
+ <path id="path3308" fill="#E1E0E1" stroke="#000000" stroke-width="4" stroke-linecap="round" d="M-88.303,367.786
+ c4.114,3.214,6.896,6.518,6.222,7.382l-21.165,27.089c-0.678,0.867-4.558-1.036-8.668-4.249l0,0
+ c-4.112-3.212-6.898-6.516-6.22-7.382l21.164-27.09C-96.295,362.672-92.415,364.573-88.303,367.786L-88.303,367.786z"/>
+ <path id="path3192" fill="#FFFFFF" stroke="#000000" stroke-width="5" d="M-67.883,422.943c0.296-0.1-17.771,23.069-40.144,51.485
+ c-40.118,50.948-40.696,51.663-41.772,51.837c-3.682,0.583-12.055-3.032-22.298-9.631c-6.961-4.486-11.418-7.725-21.405-15.566
+ c-15.823-12.418-24.814-20.765-30.446-28.267c-2.275-3.029-4.037-6.903-3.75-8.245c0.143-0.656,11.983-15.847,40.701-52.217
+ l40.506-51.289l0.35,1.343c1.991,7.692,15.527,21.532,37.377,38.223c17.571,13.42,29.413,20.362,37.408,21.929
+ C-69.742,422.861-68.175,423.038-67.883,422.943L-67.883,422.943z"/>
+ </g>
+</g>
+<polyline id="polyline3389" fill="none" stroke="#000000" stroke-width="6" stroke-linecap="square" points="54.359,164.502
+ 54.099,84.557 85.819,84.557 85.586,164.502 100.193,164.502 100.193,84.15 116.424,84.15 116.424,164.296 129.643,164.196
+ 129.742,83.947 141.005,83.947 141.469,164.502 "/>
+</svg>
diff --git a/scilab-arduino/tools/linux/images/svg/TIME_SAMPLE.svg b/scilab-arduino/tools/linux/images/svg/TIME_SAMPLE.svg
new file mode 100644
index 0000000..04530bd
--- /dev/null
+++ b/scilab-arduino/tools/linux/images/svg/TIME_SAMPLE.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="100px" height="40px" viewBox="0 0 100 40"
+ style="stroke:none">
+<title>Figure n°0</title>
+<desc>
+Creator: GL2PS 1.3.2, (C) 1999-2006 Christophe Geuzaine (geuz@geuz.org)
+For: Scilab
+CreationDate: Thu Oct 27 09:47:48 2011
+</desc>
+<defs>
+</defs>
+<g>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/linux/jar/scilab_en_US_help.jar b/scilab-arduino/tools/linux/jar/scilab_en_US_help.jar
new file mode 100644
index 0000000..e8eca4f
--- /dev/null
+++ b/scilab-arduino/tools/linux/jar/scilab_en_US_help.jar
Binary files differ
diff --git a/scilab-arduino/tools/linux/loader.sce b/scilab-arduino/tools/linux/loader.sce
new file mode 100644
index 0000000..ebdd363
--- /dev/null
+++ b/scilab-arduino/tools/linux/loader.sce
@@ -0,0 +1,10 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+// Generated by builder.sce: Please, do not edit this file
+
+try
+ getversion("scilab");
+catch
+ error("Scilab 5.0 or more is required.");
+end;
+
+exec(get_absolute_file_path("loader.sce")+"etc/"+"arduino.start");
diff --git a/scilab-arduino/tools/linux/macros/ANALOG_READ_SB.bin b/scilab-arduino/tools/linux/macros/ANALOG_READ_SB.bin
new file mode 100644
index 0000000..d7573ca
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ANALOG_READ_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ANALOG_READ_SB.sci b/scilab-arduino/tools/linux/macros/ANALOG_READ_SB.sci
new file mode 100644
index 0000000..f2f1b4c
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ANALOG_READ_SB.sci
@@ -0,0 +1,95 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ANALOG_READ_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Analog Read parameters' ; 'UNO analog PIN are : 0 to 5.'; 'MEGA analog PIN are : 0 to 15.'],..
+ [gettext('Analog Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then
+// Cancel
+ break;
+ end
+
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+// if num_pin < 0 | num_pin>5
+// mess=[mess ;_("Analog Pin must be between 0 and 5.")]
+// ok = %f
+// end
+
+
+ if ok then
+// Everything's ok
+ model.rpar.objs(1).model.rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).graphics.exprs=exprs;
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_ANALOG_READ('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pout = 4;
+ output_port=OUT_f('define')
+ output_port.graphics.exprs=["1"]
+ output_port.model.ipar=[1]
+ output_port.graphics.pin=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=output_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[1, 1,0], to=[2, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.out=-1
+ model.out2=-2
+ model.outtyp=-1
+ Pin=0; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;displayedLabel=Analog Read Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ANALOG_WRITE_SB.bin b/scilab-arduino/tools/linux/macros/ANALOG_WRITE_SB.bin
new file mode 100644
index 0000000..31b1f15
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ANALOG_WRITE_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ANALOG_WRITE_SB.sci b/scilab-arduino/tools/linux/macros/ANALOG_WRITE_SB.sci
new file mode 100644
index 0000000..b9af007
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ANALOG_WRITE_SB.sci
@@ -0,0 +1,95 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ANALOG_WRITE_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Analog Write parameters' ; 'UNO analog PIN are : 3, 5, 6, 9, 10 or 11.'; 'MEGA analog PIN are : 1 to 13 and 44 to 46.'],..
+ [gettext('Analog Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then
+// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ //pin_analog=[3,5,6,9,10,11];//analog pin OUTPUT on Arduino UNO
+ //if length(find(evstr(num_pin)==pin_analog))==0
+ // mess=[mess ;_("Analog Pin must be 3, 5, 6, 9, 10 or 11.")]
+ // ok = %f
+ //end
+
+
+ if ok then
+// Everything's ok
+ model.rpar.objs(1).model.rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).graphics.exprs=exprs;
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_ANALOG_WRITE('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pin = 4;
+ input_port=IN_f('define')
+ input_port.graphics.exprs=["1"]
+ input_port.model.ipar=[1]
+ input_port.graphics.pout=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=input_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[2, 1,0], to=[1, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ Pin=3; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Analog Write Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ.bin b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ.bin
new file mode 100644
index 0000000..f937950
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ.sci b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ.sci
new file mode 100644
index 0000000..6677419
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ.sci
@@ -0,0 +1,80 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_ANALOG_READ(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Analog Read parameters' ; 'UNO analog PIN are : 0 to 5.'; 'MEGA analog PIN are : 0 to 15.'],..
+ [gettext('Analog Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then
+// Cancel
+ break;
+ end
+
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+// if num_pin < 0 | num_pin>5
+// mess=[mess ;_("Analog Pin must be between 0 and 5.")]
+// ok = %f
+// end
+
+
+ if ok then
+// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_ANALOG_READ_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.out=[1];
+ model.evtin=[1];
+ model.evtout=[1];
+ model.firing=[0;-1]
+ Pin=0; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;displayedLabel=Analog Read Pin %s<br>on Arduino card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ_sim.bin
new file mode 100644
index 0000000..2f9e95f
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ_sim.sci
new file mode 100644
index 0000000..1778fd3
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_READ_sim.sci
@@ -0,0 +1,73 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_ANALOG_READ_sim(block,flag)
+ global port_com arduino_sample_time
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_READ Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ // Envoi de la trame sur le port série : 3 pour un analog_READ et le num de pin (0 à ...)
+
+ //pin="3"+ascii(97+block.rpar(1));
+ //write_serial(1,pin,2);
+ pin="A"+ascii(48+block.rpar(1));
+ write_serial(1,pin,2);
+
+ //binary transfer
+ [a,b,c]=status_serial(1);
+ while (b < 2)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,2);
+
+ temp=ascii(values);
+ val=double(int16(256*temp(2)+temp(1)));
+ block.outptr(1)=val;
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ //arduino_sample_time=0.01;
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init analog read")
+ // if block.rpar(1)~=0 & block.rpar(1)~=1 then
+// pin="Da"+ascii(48+block.rpar(1))+"0";
+//// writeserial(port_com,pin);
+// write_serial(1,pin,4);
+// end
+
+
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE.bin b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE.bin
new file mode 100644
index 0000000..832daa4
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE.sci b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE.sci
new file mode 100644
index 0000000..6932907
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE.sci
@@ -0,0 +1,80 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_ANALOG_WRITE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Analog Write parameters' ; 'UNO analog PIN are : 3, 5, 6, 9, 10 or 11.'; 'MEGA analog PIN are : 1 to 13 and 44 to 46.'],..
+ [gettext('Analog Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then
+// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ //pin_analog=[3,5,6,9,10,11];//analog pin OUTPUT on Arduino UNO
+ //if length(find(evstr(num_pin)==pin_analog))==0
+ // mess=[mess ;_("Analog Pin must be 3, 5, 6, 9, 10 or 11.")]
+ // ok = %f
+ //end
+
+
+ if ok then
+// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_ANALOG_WRITE_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ Pin=3; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Analog Write Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE_sim.bin
new file mode 100644
index 0000000..f3f23ba
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE_sim.sci
new file mode 100644
index 0000000..c2a5bac
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ANALOG_WRITE_sim.sci
@@ -0,0 +1,62 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_ANALOG_WRITE_sim(block,flag)
+ global port_com arduino_sample_time;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_WRITE Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ if abs(u1)>255 then
+ //code_sent="4"+ascii(97+block.rpar(1))+ascii(255);
+ code_sent="W"+ascii(48+block.rpar(1))+ascii(255);
+ else
+ //code_sent="4"+ascii(97+block.rpar(1))+ascii(abs(ceil(u1)));
+ code_sent="W"+ascii(48+block.rpar(1))+ascii(abs(ceil(u1)));
+ end
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ //"You do not need to call pinMode() to set the pin as an output before calling analogWrite(). "
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+ //code_sent="4"+ascii(97+block.rpar(1))+ascii(0);
+ code_sent="W"+ascii(48+block.rpar(1))+ascii(0);
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3);
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR.bin b/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR.bin
new file mode 100644
index 0000000..f026ac7
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR.sci b/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR.sci
new file mode 100644
index 0000000..054b4ef
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR.sci
@@ -0,0 +1,124 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_DCMOTOR(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+ // deprecated
+ case 'getinputs' then
+ // deprecater
+ case 'getoutputs' then
+ // deprecated
+ case 'getorigin' then
+ // deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok1,type_shield,num_arduino,exprs1]=scicos_getvalue('Arduino DC MOTOR parameters',..
+ [gettext('Type of Shield (1 : Adafruit, 2: MotorShield Rev3, 3: PMODHB5 (L298), 4: L293 (2 PWM))');...
+ gettext('Arduino card number')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok1 then break; end //cancel
+
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok1=%f;
+ end
+ if type_shield~=1 & type_shield~=2 & type_shield~=3 & type_shield~=4
+ mess=[mess ;_("Type shield must be 1, 2, 3 or 4")]
+ ok1 = %f
+ end
+
+ if ok1 then
+ num_pin_1=0; num_pin_2=0;
+ if type_shield==1 then //get number of motor (between 1 et 4)
+// if evstr(exprs(3))>2 then
+// exprs(3)=string(1)
+// end
+ [ok,motor_number,exprs2]=scicos_getvalue('Motorshield Rev 3 parameters',..
+ [gettext('Number of DC motor : 1 or 2')],list('vec',1), exprs(5))
+ if ~ok then break; end //cancel
+ if (motor_number < 1 | motor_number>2)
+ mess=[mess ;_("Motor number must be 1 or 2 for Motorshield Rev 3 card")]
+ ok = %f
+ end
+ if motor_number==1 then
+ num_pin_1=12;
+ num_pin_2=3;
+ else
+ num_pin_1=13;
+ num_pin_2=11;
+ end
+ elseif type_shield==2 then
+ [ok,num_pin_1,num_pin_2,motor_number,exprs2]=scicos_getvalue('PMODHB5 or L298 driver parameters',..
+ [gettext('Direction pin ');gettext('Enable (speed) Pin');gettext('Motor number (between 1 and 4)')],list('vec',1,'vec',1,'vec',1), exprs(3:5))
+ if ~ok then break; end //cancel
+ if (motor_number < 1 | motor_number>4)
+ mess=[mess ;_("Motor number must be between 1 and 4")]
+ ok = %f
+ end
+ elseif type_shield==3 then
+ [ok,num_pin_1,num_pin_2,motor_number,exprs2]=scicos_getvalue('L293 driver parameters (control 2 PWM)',..
+ [gettext('PWM 1 Pin');gettext('PWM 2 Pin');gettext('Motor number (between 1 and 3)')],list('vec',1,'vec',1,'vec',1), exprs(3:5))
+ if ~ok then break; end //cancel
+ if (motor_number < 1 | motor_number>4)
+ mess=[mess ;_("Motor number must be between 1 and 4")]
+ ok = %f
+ end
+ end
+
+ if ok then
+ exprs2=string([num_pin_1;num_pin_2;motor_number])
+ // Everything's ok
+ model.rpar=[type_shield;num_arduino;num_pin_1;num_pin_2;motor_number];
+ graphics.exprs = string(model.rpar)
+
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ else
+ message(mess);
+ end
+
+
+ end
+
+
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_DCMOTOR_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ num_arduino=1; type_shield=1; num_pin_1=13; num_pin_2=11; motor_number=1;
+ model.rpar=[type_shield;num_arduino;num_pin_1;num_pin_2;motor_number]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Typeshield %s<br>on card %s"]
+ x.graphics.exprs=string([type_shield;num_arduino;num_pin_1;num_pin_2;motor_number]);
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR_sim.bin
new file mode 100644
index 0000000..1745200
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR_sim.sci
new file mode 100644
index 0000000..d69635c
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DCMOTOR_sim.sci
@@ -0,0 +1,129 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_DCMOTOR_sim(block,flag)
+ global port_com arduino_sample_time;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_DCMOTOR Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ //DEBUG("Output update ");
+
+ u1 = block.inptr(1);
+ //envoi de la direction
+ direction=sign(u1);
+// if block.rpar(1)==1 then //adafruit shield
+// if direction>=0 then
+// code_dir="f";
+// else
+// code_dir="b";
+// end
+// code_sent="B"+ascii(48+block.rpar(5))+code_dir;
+//// writeserial(port_com,code_sent);
+// write_serial(1,code_sent,3)
+//
+// if abs(u1)>255 then
+// code_sent="A"+ascii(48+block.rpar(5))+ascii(255);
+//// writeserial(port_com,code_sent);
+// write_serial(1,code_sent,3)
+// else
+// code_sent="A"+ascii(48+block.rpar(5))+ascii(abs(ceil(u1)));
+//// writeserial(port_com,code_sent);
+// write_serial(1,code_sent,3)
+// end
+// else //generic L298 L293
+ if direction>=0 then
+ code_dir=ascii(49);
+ else
+ code_dir=ascii(48);
+ end
+ if abs(u1)>255 then
+ val=255;
+ else
+ val=abs(ceil(u1));
+ end
+
+ //code_sent="A"+ascii(48+block.rpar(5))+code_dir+ascii(val);
+ code_sent="M"+ascii(48+block.rpar(5))+code_dir+ascii(val);
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,4)
+// end
+
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init DCmotor")
+ if(block.rpar(1)==1) then
+ //code_sent="91";
+ code_sent="C"+string(block.rpar(5))+ascii(48+block.rpar(4))+ascii(48+block.rpar(3))+"1"; //adafruit
+ elseif (block.rpar(1)==2) then
+ code_sent="C"+string(block.rpar(5))+ascii(48+block.rpar(4))+ascii(48+block.rpar(3))+"1"; //code pour initialiser L298
+ elseif (block.rpar(1)==3) then
+ code_sent="C"+string(block.rpar(5))+ascii(48+block.rpar(4))+ascii(48+block.rpar(3))+"0"; //code pour initialiser L293
+ end
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,5)
+// disp(code_sent)
+
+ //Attente que l'arduino reponde OK
+ [a,b,c]=status_serial(1);
+ while (b < 2)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,2);
+ if (values == 'OK') then
+ disp('Init motor successful')
+ else
+ disp('Init motor unsuccessful')
+ end
+
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+ //code_sent="M"+ascii(48+block.rpar(5))+"r";
+ //code_sent="M"+ascii(48+block.rpar(5))+ascii(0)+ascii(0);
+// writeserial(port_com,code_sent);
+ //write_serial(1,code_sent,3)
+ code_sent="M"+ascii(48+block.rpar(5))+"1"+ascii(0);
+ write_serial(1,code_sent,4)
+// write_serial(1,code_sent,4)
+// if block.rpar(1)==1 then
+//
+// else
+// code_sent="B"+ascii(48+block.rpar(5))+"r";
+//// writeserial(port_com,code_sent);
+// write_serial(1,code_sent,3)
+//// disp(code_sent)
+// end
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ.bin b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ.bin
new file mode 100644
index 0000000..90fb8ab
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ.sci b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ.sci
new file mode 100644
index 0000000..78d0e00
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_DIGITAL_READ(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Digital Read parameters' ; 'UNO digital PIN are : 2 to 13.'; 'MEGA digital PIN are : 2 to 53.'],..
+ [gettext('Digital Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 2 | num_pin>53
+ mess=[mess ;_("Digital Pin must be between 2 and 53.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_DIGITAL_READ_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.out=[1];
+ model.evtin=[1]
+ model.evtout=[1];
+ model.firing=[0;-1]
+ Pin=3; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Digital Read Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ_sim.bin
new file mode 100644
index 0000000..f709979
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ_sim.sci
new file mode 100644
index 0000000..ad132bb
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_READ_sim.sci
@@ -0,0 +1,68 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_DIGITAL_READ_sim(block,flag)
+ global port_com arduino_sample_time
+
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_DIGITAL_READ Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ // Envoi de la trame sur le port série : 4 pour un analog_READ et le num de pin (0 à ...)
+// pin="1"+ascii(97+block.rpar(1));
+// write_serial(1,pin,2);
+ pin="Dr"+ascii(48+block.rpar(1));
+ write_serial(1,pin,3);
+
+ //binary transfer
+ [a,b,c]=status_serial(1);
+ while (b < 1)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,1);
+ block.outptr(1)=evstr(values);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ //arduino_sample_time=0.01;
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init digital read")
+// pin="0"+ascii(97+ block.rpar(1))+"0"; // élaboration du string à envoyer pour initialiser le pin
+// write_serial(1,pin,3);
+ pin="Da"+ascii(48+ block.rpar(1))+"0"; // élaboration du string à envoyer pour initialiser le pin
+ write_serial(1,pin,4);
+
+ case 5 // Ending
+// closeserial(port_com);
+// close_serial(1);
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_WRITE.bin b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_WRITE.bin
new file mode 100644
index 0000000..bd45a1d
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_WRITE.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_WRITE.sci b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_WRITE.sci
new file mode 100644
index 0000000..3b800a9
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DIGITAL_WRITE.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_DIGITAL_WRITE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Digital Write parameters' ; 'UNO digital PIN are : 0 to 13.'; 'MEGA digital PIN are : 0 to 53.'],..
+ [gettext('Digital Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 2 | num_pin>53
+ mess=[mess ;_("Digital Pin must be between 2 and 53.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_DIG_WRITE_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1];
+ model.evtout=[1];
+ model.firing=[0;-1]
+ Pin=13; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Digital Write Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DIG_WRITE_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_DIG_WRITE_sim.bin
new file mode 100644
index 0000000..6ae3d08
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DIG_WRITE_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_DIG_WRITE_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_DIG_WRITE_sim.sci
new file mode 100644
index 0000000..6b2a355
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_DIG_WRITE_sim.sci
@@ -0,0 +1,69 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_DIG_WRITE_sim(block,flag)
+ global port_com arduino_sample_time
+
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_DIG_WRITE Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ if (u1<0.01) then
+ //pin="2"+ascii(97+block.rpar(1))+"0";
+ pin="Dw"+ascii(48+block.rpar(1))+"0";
+// writeserial(port_com,pin);
+ else
+ //pin="2"+ascii(97+block.rpar(1))+"1";
+ pin="Dw"+ascii(48+block.rpar(1))+"1";
+// writeserial(port_com,pin);
+ end
+ //write_serial(1,pin,3);
+ write_serial(1,pin,4);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+
+ case 4 // Initialization
+ disp("init digital write")
+// pin="0"+ascii(97+ block.rpar(1))+"1"; // élaboration du string à envoyer pour initialiser le pin
+// write_serial(1,pin,3);
+ pin="Da"+ascii(48+ block.rpar(1))+"1"; // élaboration du string à envoyer pour initialiser le pin
+ write_serial(1,pin,4);
+
+
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER.bin b/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER.bin
new file mode 100644
index 0000000..039d8d1
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER.sci b/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER.sci
new file mode 100644
index 0000000..c5bd025
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER.sci
@@ -0,0 +1,100 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_ENCODER(job, arg1, arg2)
+ global corresp;
+ corresp(2)=0;corresp(3)=1;corresp(21)=2;corresp(20)=3;corresp(19)=4;corresp(18)=5;
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_arduino,counting_mode,exprs1]=scicos_getvalue('Arduino Encoder parameters',..
+ [gettext('Arduino card number');gettext('Counting mode : 1 (up chanA) 2 (up/down chanA) 4 (up/down chanA and B)')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok then break; end //cancel
+ //security tests
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+// if num_encoder < 1 | num_encoder>4
+// mess=[mess ;_("Encoder number must be 1 or 2 ")]
+// ok = %f
+// end
+ if counting_mode ~=1 & counting_mode~=2 & counting_mode~=4
+ mess=[mess ;_("Counting mode must be 1, 2 or 4")]
+ ok = %f
+ end
+
+ if ok then
+ ok2=%f
+ if counting_mode==1 | counting_mode==2 then
+ [ok2,pin_A,pin_B,exprs2]=scicos_getvalue(['Definition of Pins Encoder';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Pin Channel A (interruption PIN see above)');gettext('Pin Direction (whatever)')],list('vec',1,'vec',1), exprs(3:4))
+ elseif counting_mode==4
+ [ok2,pin_A,pin_B,exprs2]=scicos_getvalue(['Definition of Pins Encoder';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Pin Channel A (interruption PIN see above)');gettext('Pin Channel B (interruption PIN see above)')],list('vec',1,'vec',1), exprs(3:4))
+ end
+ if ~ok2 then break; end //cancel
+ if pin_A~=2 & pin_A~=3 & pin_A~=18 & pin_A~=19 & pin_A~=20 & pin_A~=21 then
+ mess=[mess ;_("Pin for Channel A must be 2, 3 or 18 to 21 (pin with interrupts) ")]
+ ok2 = %f
+ end
+ if ok2 then
+ model.rpar=[num_arduino;counting_mode;pin_A;pin_B];
+ exprs=string(model.rpar);
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_ENCODER_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.out=[1];
+ model.evtin=[1];
+ model.evtout=[1];
+ model.firing=[0;-1]
+ //num_encoder=1;
+ num_arduino=1, counting_mode=2; pin_A=2; pin_B=4;
+ model.rpar=[num_arduino;counting_mode;pin_A;pin_B]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Encoder<br>on card %s"]
+ x.graphics.exprs=string([num_arduino;counting_mode;pin_A;pin_B])
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER_sim.bin
new file mode 100644
index 0000000..b075ddb
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER_sim.sci
new file mode 100644
index 0000000..aa3e860
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_ENCODER_sim.sci
@@ -0,0 +1,89 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_ENCODER_sim(block,flag)
+ global port_com arduino_sample_time corresp;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_READ Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ // Envoi de la trame sur le port série pour dire de renvoyer la valeur comptée
+ code_sent="Ep"+ascii(corresp(block.rpar(3)));
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3)
+
+// //binary transfer
+// [q,flags]=serialstatus(port_com);
+// while (q(1) < 4)
+// [q,flags]=serialstatus(port_com);
+// end
+// values=readserial(port_com,4);
+
+ //binary transfert
+ [a,b,c]=status_serial(1);
+ while (b < 4)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,4);
+ temp=ascii(values);
+ val=double(int32(uint32(256^3*temp(4)+256^2*temp(3)+256*temp(2)+temp(1))));
+// disp(val)
+ block.outptr(1)=val;
+
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+// code_sent="Fa"+string(block.rpar(1))+string(block.rpar(4))+string(block.rpar(5))+string(block.rpar(3))
+ code_sent="Ea"+ascii(0+corresp(block.rpar(3))); //on envoie plus le PIN mais le numéro d'interruption
+ if block.rpar(2)==4 then //mode4
+ code_sent=code_sent+ascii(0+corresp(block.rpar(4)))+string(block.rpar(2));// on envoie le num d'interruption
+ else//mode 1 ou 2
+ code_sent=code_sent+ascii(0+block.rpar(4))+string(block.rpar(2));//on envoie le num de PIN en mode 1x/2x
+ end
+
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,5)
+ code_sent="Ez"+ascii(corresp(block.rpar(3)));
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3)
+ case 5 // Ending
+ if block.rpar(2)==4 then //mode4
+ code_sent="Er"+ascii(corresp(block.rpar(3)))+ascii(corresp(block.rpar(4)));
+ else
+ code_sent="Er"+ascii(corresp(block.rpar(3)))+ascii(corresp(block.rpar(3)));
+ end
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,4)
+// disp(code_sent)
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT.bin b/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT.bin
new file mode 100644
index 0000000..d30e8e8
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT.sci b/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT.sci
new file mode 100644
index 0000000..754054e
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT.sci
@@ -0,0 +1,68 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_INTERRUPT(job, arg1, arg2)
+ global corresp;
+ corresp(2)=0;corresp(3)=1;corresp(21)=2;corresp(20)=3;corresp(19)=4;corresp(18)=5;
+
+ x=[];
+ y=[];
+ typ=[];
+
+ select job
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,pin_interrupt,num_arduino,exprs1]=scicos_getvalue(['Arduino Interrupt parameters';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Interrupt pin number');gettext('Arduino card number')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok then break; end //cancel
+ //security tests
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+
+ if ok then
+ model.rpar=[pin_interrupt;num_arduino];
+ exprs=string(model.rpar);
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_INTERRUPT_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.out=[1];
+ model.evtin=[1];
+ model.evtout=[1];
+ model.firing=[0;-1]
+ pin_interrupt=2; num_arduino=1;
+ model.rpar=[pin_interrupt;num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Interrupt on pin %s<br>on card %s"]
+ x.graphics.exprs=string([pin_interrupt;num_arduino])
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT_sim.bin
new file mode 100644
index 0000000..acebc3d
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT_sim.sci
new file mode 100644
index 0000000..75bcea3
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_INTERRUPT_sim.sci
@@ -0,0 +1,66 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_INTERRUPT_sim(block,flag)
+ global port_com arduino_sample_time corresp;
+
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_INTERRUPT Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ // Envoi de la trame sur le port série pour dire de renvoyer la valeur comptée
+ code_sent="Ip"+ascii(corresp(block.rpar(1)));
+ write_serial(1,code_sent,3)
+
+ //binary transfert
+ [a,b,c]=status_serial(1);
+ while (b < 4)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,4);
+ temp=ascii(values);
+ val=double(int32(uint32(256^3*temp(4)+256^2*temp(3)+256*temp(2)+temp(1))));
+ block.outptr(1)=val;
+
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ code_sent="Ia"+ascii(0+corresp(block.rpar(1))); //on envoie plus le PIN mais le numéro d'interruption
+ write_serial(1,code_sent,3)
+ code_sent="Iz"+ascii(corresp(block.rpar(1)));
+ write_serial(1,code_sent,3)
+ case 5 // Ending
+ code_sent="Ir"+ascii(corresp(block.rpar(1)));
+ write_serial(1,code_sent,3)
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5.bin b/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5.bin
new file mode 100644
index 0000000..83c4ce3
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5.sci b/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5.sci
new file mode 100644
index 0000000..e44fd39
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5.sci
@@ -0,0 +1,87 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_PMODHB5_WRITE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pindir,num_pinen,num_arduino,exprs]=scicos_getvalue('Arduino PMODHB5 write parameters',..
+ [gettext('Direction number Pin'),gettext('Enable number Pin'),gettext('Arduino card number')],list('vec',1,'vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then
+// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pindir~=11 & num_pindir~=10 num_pindir <>9 & num_pindir<>6 & num_pindir<>5 & num_pindir<>3
+ mess=[mess ;_("Direction number Pin must be 3, 5, 6, 9, 10, 11")]
+ ok = %f
+ end
+ if num_pinen~=11 & num_pinen~=10 num_pinen <>9 & num_pinen<>6 & num_pinen<>5 & num_pinen<>3
+ mess=[mess ;_("Enable number Pin must be 3, 5, 6, 9, 10, 11")]
+ ok = %f
+ end
+ if num_pinen==num_pindir then
+ mess=[mess ;_("Direction number Pin must be different from Enable number pin")]
+ ok = %f
+ end
+
+
+ if ok then
+// Everything's ok
+ model.rpar=[num_pindir,num_pinen,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_PMODHB5_WRITE_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ Pindir=11; Pinen=10; num_arduino=1;
+ model.rpar=[Pindir,Pinen,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;displayedLabel=Dir Pin %s Enable %s<br>on Arduino card %s"]
+ x.graphics.exprs=[string(Pindir),string(Pinen),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5_WRITE_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5_WRITE_sim.bin
new file mode 100644
index 0000000..f9443a2
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5_WRITE_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5_WRITE_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5_WRITE_sim.sci
new file mode 100644
index 0000000..4bf1ba3
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_PMODHB5_WRITE_sim.sci
@@ -0,0 +1,78 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_PMODHB5_WRITE_sim(block,flag)
+ global port_com;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_DCMOTOR Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ //envoi de la direction
+ direction=sign(u1);
+ if direction>=0 then
+ code_dir="f";
+ else
+ code_dir="b";
+ end
+ code_sent="B"+ascii(48+block.rpar(1))+code_dir;
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3);
+
+ if abs(u1)>255 then
+ code_sent="A"+ascii(48+block.rpar(1))+ascii(255);
+// writeserial(port_com,code_sent);
+ elseif u1==0 then
+ code_sent="B"+ascii(48+block.rpar(1))+"r";
+// writeserial(port_com,code_sent);
+ else
+ code_sent="A"+ascii(48+block.rpar(1))+ascii(abs(uint8(u1)));
+// writeserial(port_com,code_sent);
+ end
+ write_serial(1,code_sent,3);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ arduino_sample_time=0.01;
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init DCmotor")
+ code_sent="92";
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,2);
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+
+// closeserial(port_com);
+// close_serial(1); //nécessité c'est dans xpost_simulate...
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SCOPE.bin b/scilab-arduino/tools/linux/macros/ARDUINO_SCOPE.bin
new file mode 100644
index 0000000..254d029
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SCOPE.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SCOPE.sci b/scilab-arduino/tools/linux/macros/ARDUINO_SCOPE.sci
new file mode 100644
index 0000000..a10883b
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SCOPE.sci
@@ -0,0 +1,169 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x,y,typ]=ARDUINO_SCOPE(job,arg1,arg2)
+
+ function diagram=create_xcosdiagram(nb_output,buffer_size)
+ diagram=scicos_diagram();
+ nb_objs=5;
+
+ for i=1:nb_output
+ scope=TOWS_c('define')
+ scope.graphics.exprs = [string(buffer_size);"o"+string(i);"0"]
+ scope.model.ipar=[buffer_size;2;24;i];
+ scope.graphics.pin = nb_objs*(i-1)+4;
+ scope.graphics.pein = nb_objs*(i-1)+5;
+
+ clockc=SampleCLK('define')
+ clockc.graphics.peout=nb_objs*(i-1)+5
+ clockc.graphics.exprs=["0.1" ; "0"]
+ clockc.model.rpar = [0.1 ; 0]
+
+ input_port=IN_f('define')
+ input_port.graphics.exprs=[string(i)]
+ input_port.model.ipar=[i]
+ input_port.graphics.pout=nb_objs*(i-1)+4
+
+ diagram.objs(nb_objs*(i-1)+1)=input_port;
+ diagram.objs(nb_objs*(i-1)+2)=scope;
+ diagram.objs(nb_objs*(i-1)+3)=clockc;
+ diagram.objs(nb_objs*(i-1)+4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1, 1], from=[nb_objs*(i-1)+1, 1,0], to=[nb_objs*(i-1)+2, 1,1])
+ diagram.objs(nb_objs*(i-1)+5)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[nb_objs*(i-1)+3, 1,0], to=[nb_objs*(i-1)+2, 1,1])
+ end
+ endfunction
+
+ x=[];y=[];typ=[];
+ select job
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,nb_output,buffer_size,exprs]=scicos_getvalue('Scope parameters',..
+ ['Nombre de courbes à superposer (légendes données dans le menu suivant)',"Taille du buffer"], ..
+ list('vec',1,'vec',1), ..
+ exprs(1:2))
+
+ mess=[];
+ if ~ok then
+ // Cancel
+ break;
+ end
+
+ if nb_output <= 0 | nb_output>=8
+ mess=[mess ;_("Number of superpozed curvs must be between 1 and 8")]
+ ok = %f
+ end
+
+
+ if ok then
+ in = ones(nb_output,1);
+ a = nb_output;
+ in2 = ones(a,1);
+ //[model,graphics,ok]=set_io(model,graphics,list(),list(),[],[],list([in in2],ones(a,1)),list());
+
+
+ string_in=string(in);
+ graphics.in_implicit=strsubst(string_in,"1","E");
+ model.in=-1*in;
+ model.in2=-2*in;
+ model.intyp=-1*in;
+
+ diagram=create_xcosdiagram(nb_output,buffer_size);
+
+ model.rpar=diagram;
+ graphics.exprs(1:2) = exprs(1:2);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+
+
+ end
+
+ if ok then
+
+ str_gettext='[';
+ labels='';
+ list_='list(';
+ names_='[';
+
+ for i=1:nb_output
+ labels=labels+'label'+string(i)+',';
+ str_gettext=str_gettext+'gettext('"Nom de la courbe '+string(i)+''")'
+ list_=list_+'''str'',-1';
+ if size(graphics.exprs,1)==nb_output+2 then
+ names_=names_+''''+graphics.exprs(2+i)+'''';
+ else
+ names_=names_+"''Courbe "+string(i)+"''"
+ end
+ if i~=nb_output then
+ str_gettext=str_gettext+';';
+ list_=list_+",";
+ names_=names_+";";
+ else
+ str_gettext=str_gettext+']';
+ list_=list_+')';
+ names_=names_+"]";
+ end
+ end
+
+ exec_string='[ok,'+labels+'exprs]=scicos_getvalue(''Paramètres optionnels'','+str_gettext+','+list_+','+names_+')';
+
+ while %t do
+
+ execstr(exec_string);
+
+ if ~ok then
+ break;
+ end
+
+ if ok then
+ graphics.exprs= [graphics.exprs(1:2);exprs];
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+
+
+ end
+ end
+
+ case 'define' then
+ nb_output = 1;
+ nb_pts=200;
+ labels="courbe";
+
+ diagram=create_xcosdiagram(nb_output,nb_pts);
+
+ model = scicos_model();
+ model.sim='csuper'
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ model.blocktype='h'
+ model.dep_ut=[%f %f]
+ model.rpar=diagram
+ x = standard_define([2 2], model, "", [])
+ x.graphics.in_implicit=["E"];
+ x.graphics.exprs=[string(nb_output);string(nb_pts);labels]
+ end
+endfunction
+
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ.bin b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ.bin
new file mode 100644
index 0000000..b2afc03
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ.sci b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ.sci
new file mode 100644
index 0000000..1f99c3a
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_SERVO_READ(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Servo Read parameters',..
+ [gettext('Servo number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 1 | num_pin>2
+ mess=[mess ;_("Servo numbers must be 1 or 2 (on pin 10 and 9)")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_SERVO_READ_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.out=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ Pin=1; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Servo Read Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ_sim.bin
new file mode 100644
index 0000000..0d42226
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ_sim.sci
new file mode 100644
index 0000000..2de0e44
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_READ_sim.sci
@@ -0,0 +1,76 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_SERVO_READ_sim(block,flag)
+ global port_com arduino_sample_time;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_READ Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ // Envoi de la trame sur le port série : 3 pour un analog_READ et le num de pin (0 à ...)
+ pin="7"+ascii(96+block.rpar(1));
+// writeserial(port_com,pin);
+ write_serial(1,pin,2);
+
+ values=[];
+ value=ascii(0);
+ while(value~=ascii(13)) then
+// value=readserial(port_com,1);
+ value=read_serial(1,1);
+ values=values+value;
+ end
+
+ v=strsubst(values,string(ascii(10)),'')
+ v=strsubst(v,string(ascii(13)),'')
+ block.outptr(1)=evstr(v);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ //arduino_sample_time=0.01;
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init servo read")
+ if block.rpar(1)==1 then //servo 1 on pin 10
+ pin="6a1"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ elseif block.rpar(1)==2 then //servo 2 on pin 9
+ pin="6b1"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ messagebox("Probleme dans le numero du servomoteur")
+ error('problem')
+ end
+ case 5 // Ending
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE.bin b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE.bin
new file mode 100644
index 0000000..79bf212
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE.sci b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE.sci
new file mode 100644
index 0000000..17fb4a7
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_SERVO_WRITE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Servo Write parameters',..
+ [gettext('Servo number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 1 | num_pin>2
+ mess=[mess ;_("Servo numbers must be 1 or 2 (on pin 10 and 9)")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_SERVO_WRITE_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ Pin=1; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Servo %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE_sim.bin
new file mode 100644
index 0000000..7b27865
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE_sim.sci
new file mode 100644
index 0000000..4c6826d
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SERVO_WRITE_sim.sci
@@ -0,0 +1,89 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_SERVO_WRITE_sim(block,flag)
+ global port_com arduino_sample_time;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_WRITE Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ if (u1<0) then
+ //pin="8"+ascii(96+block.rpar(1))+ascii(0);
+ pin="Sw"+ascii(48+block.rpar(1))+ascii(0);
+// writeserial(port_com,pin);
+ elseif u1>180 then
+ //pin="8"+ascii(96+block.rpar(1))+ascii(180);
+ pin="Sw"+ascii(48+block.rpar(1))+ascii(180);
+// writeserial(port_com,pin);
+ else
+ //pin="8"+ascii(96+block.rpar(1))+ascii(uint8(u1));
+ pin="Sw"+ascii(48+block.rpar(1))+ascii(uint8(u1));
+// writeserial(port_com,pin);
+ end
+ write_serial(1,pin,4);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init servo write")
+ if block.rpar(1)==1 then //servo 1 on pin 9
+ pin="Sa1"
+ //pin="6a1"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ elseif block.rpar(1)==2 then //servo 2 on pin 10
+ //pin="6b1"
+ pin="Sa2"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ messagebox("Probleme dans le numero du servomoteur")
+ error('problem')
+ end
+ case 5 // Ending
+ if block.rpar(1)==1 then //servo 1 on pin 10
+ //pin="6a0"
+ pin="Sd1"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ elseif block.rpar(1)==2 then //servo 2 on pin 9
+ //pin="6b0"
+ pin="Sd2"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ messagebox("Probleme dans le numero du servomoteur")
+ error('problem')
+ end
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SETUP.bin b/scilab-arduino/tools/linux/macros/ARDUINO_SETUP.bin
new file mode 100644
index 0000000..88c2bb3
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SETUP.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_SETUP.sci b/scilab-arduino/tools/linux/macros/ARDUINO_SETUP.sci
new file mode 100644
index 0000000..add3a14
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_SETUP.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_SETUP(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_arduino,port_com,exprs]=scicos_getvalue('Arduino Setup parameters',..
+ [gettext('Identifier of Arduino card'),gettext('Serial com port number')], list('vec',1,'vec',1), ..
+ exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+
+ if num_arduino<>1 then
+ mess=[gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+
+ if port_com>9 | port_com<0 then
+ mess=[gettext("Port com must not be greater than 9. Change in the pannel configuration / Port com ")];
+ ok=%f;
+ end
+
+ if ok then// Everything's ok
+ model.rpar=[num_arduino,port_com];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_SETUP", 99)
+ model.blocktype='c';
+ model.dep_ut=[%f %f];
+ model.in=[];
+ num_arduino=1;
+ port_com=5;
+ model.rpar=[num_arduino,port_com]; //Digital Output number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=[];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;align=center;spacing=-3;displayedLabel=Card %s<br>on com %s"]
+ x.graphics.exprs=[string(num_arduino),string(port_com)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER.bin b/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER.bin
new file mode 100644
index 0000000..0df09c8
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER.sci b/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER.sci
new file mode 100644
index 0000000..7c96d72
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_STEPPER(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Stepper parameters',..
+ [gettext('Motor number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 0 | num_pin>2
+ mess=[mess ;_("Analog Pin must be between 0 and 6.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_STEPPER_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ Pin=0; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Stepper %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER_sim.bin
new file mode 100644
index 0000000..bde0077
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER_sim.sci
new file mode 100644
index 0000000..58b1dcd
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_STEPPER_sim.sci
@@ -0,0 +1,59 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_STEPPER_sim(block,flag)
+ global port_com arduino_sample_time;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_WRITE Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ if (u1<0.1) then
+ pin="2"+ascii(97+block.rpar(1))+"0";
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ pin="2"+ascii(97+block.rpar(1))+"1";
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ end
+
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_WRITE.bin b/scilab-arduino/tools/linux/macros/ARDUINO_WRITE.bin
new file mode 100644
index 0000000..6595d2e
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_WRITE.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_WRITE.sci b/scilab-arduino/tools/linux/macros/ARDUINO_WRITE.sci
new file mode 100644
index 0000000..5d70487
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_WRITE.sci
@@ -0,0 +1,73 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab Enterprises - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_WRITE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,exprs]=scicos_getvalue('Arduino Digital Write parameters',..
+ [gettext('Digital Pin')], ..
+ list('vec',1), ..
+ exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+
+ if num_pin < 0 | num_pin>13
+ mess=[mess ;_("Digital Pin must be between 0 and 13.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=num_pin;
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_WRITE_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ DigOut=0;
+ model.rpar=[DigOut]; //Digital Output number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;displayedLabel=DigOut %s"]
+ x.graphics.exprs=string(DigOut);
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_WRITE_sim.bin b/scilab-arduino/tools/linux/macros/ARDUINO_WRITE_sim.bin
new file mode 100644
index 0000000..9959ea7
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_WRITE_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_WRITE_sim.sci b/scilab-arduino/tools/linux/macros/ARDUINO_WRITE_sim.sci
new file mode 100644
index 0000000..e52e445
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_WRITE_sim.sci
@@ -0,0 +1,56 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab ENterprises - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_WRITE_sim(block,flag)
+ global port_com;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_WRITE Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ pin="2"+ascii(97+block.rpar);
+ if (u1<0.1) then
+ pin="2"+ascii(97+block.rpar)+"0";
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ pin="2"+ascii(97+block.rpar)+"1";
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ end
+
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+
+ case 4 // Initialization
+
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+
+// closeserial(port_com);
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_post_simulate.bin b/scilab-arduino/tools/linux/macros/ARDUINO_post_simulate.bin
new file mode 100644
index 0000000..d128a5f
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_post_simulate.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_post_simulate.sci b/scilab-arduino/tools/linux/macros/ARDUINO_post_simulate.sci
new file mode 100644
index 0000000..1c3c9e9
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_post_simulate.sci
@@ -0,0 +1,157 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function []=ARDUINO_post_simulate(%cpr, scs_m, needcompile)
+
+
+ global port_com
+
+ presence_arduino=%f //indique la presence d'un bloc arduino setup
+ // find SCOPE bloc for plotting at the end of simulation
+ presence_scope=%f;
+ list_scope=[];
+ display_now=1;
+ grid_on=1;
+
+
+ for i = 1:size(scs_m.objs)
+ curObj= scs_m.objs(i);
+ if (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SETUP")
+ presence_arduino=%t
+
+ try
+ //closeserial(port_com)
+ [a,b,c]=status_serial(1);
+ c=-4; //srikant: A dirty workaround to fail the 'while' loop
+ while (b+c > 0)
+ [a,b,c]=status_serial(1);
+ end
+ close_serial(1)
+ disp('Close serial port ok')
+ catch
+ messagebox("Impossible to close serial port.")
+ error('close serial port')
+
+ end
+ elseif (typeof(curObj) == "Block" & curObj.gui == "TIME_SAMPLE") then
+ if exists(curObj.graphics.exprs(3)) then
+ display_now=evstr(curObj.graphics.exprs(3));
+ else
+ display_now=1
+ end
+
+ elseif (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SCOPE")
+ presence_scope=%t
+ list_scope($+1)=i;
+ end
+
+ end
+
+ // adjust scope and add grid
+ if presence_scope & ~display_now then
+ plot_aftersim_ard2(list_scope,scs_m)
+// elseif presence_scope & display_now then
+// plot_aftersim_ard1(list_scope,scs_m)
+ else
+ nicescope()
+ if grid_on then
+ list_fig=winsid();
+ for i=list_fig
+ scf(i);
+ xgrid;
+ end
+ end
+ end
+
+ disp('End of post simulation')
+
+endfunction
+
+function plot_aftersim_ard1(list_scope,scs)
+ nb_outputs_by_scope=[];
+ nb_outputs=[]
+ nb_total_outputs=0;
+ nb_scope=size(list_scope,1);
+ legendes=cell();
+// grid_on=0;
+ list_fig=winsid();
+
+ for i=1:size(list_scope,1)
+ scf(list_fig(i));
+ j=list_scope(i);
+ obj=scs_m.objs(j);
+ nb_outputs($+1)=evstr(obj.graphics.exprs(1));
+ legendes(i).entries=obj.graphics.exprs(3:$);
+ nb_total_outputs=nb_total_outputs+nb_outputs($);
+ legend(legendes(i).entries);
+ end
+ nicescope()
+ xgrid
+endfunction
+
+
+function plot_aftersim_ard2(list_scope,scs)
+
+ nb_outputs_by_scope=[];
+ nb_total_outputs=0;
+ nb_scope=size(list_scope,1);
+ legendes=cell();
+// grid_on=0;
+
+ for i=1:size(list_scope,1)
+ j=list_scope(i);
+ obj=scs_m.objs(j);
+ nb_outputs($+1)=evstr(obj.graphics.exprs(1));
+ legendes(i).entries=obj.graphics.exprs(3:$);
+ nb_total_outputs=nb_total_outputs+nb_outputs($);
+ end
+
+ c_color=[[0.75,0.75,0];[0.25,0.25,0.25];[0,0,1];[0,0.5,0];[1,0,0];[0,0.75,0.75];[0.75,0,0.75]];
+ handle_fig=figure();
+ set(handle_fig,"background",8)
+ drawlater();
+ //extraction des champs stockés
+ D=[];
+ legend_c=[];
+ nb_objs_in_scopeblock=5;
+
+ for i=1:nb_scope
+ subplot(nb_scope,1,i);
+ //legend_c=strsplit(scs.objs(num_scope(i)).graphics.exprs(2)," ");
+ legend_c=legendes(i).entries;
+ if size(legend_c,1)~=nb_outputs(i) then
+ legend_c=_gettext("curv")+string([1:nb_outputs(i)]);
+ end
+
+ list_obj=scs_m.objs(list_scope(i)).model.rpar.objs;
+ no=1;
+ for j=1:size(list_obj)
+ if (typeof(list_obj(j)) == "Block" & list_obj(j).gui == "TOWS_c") then
+ label=list_obj(j).graphics.exprs(2);
+ D(i,no)=evstr(label);
+ no=no+1;
+ end
+ end
+
+ for no=1:nb_outputs(i)
+ plot(D(i,no).time,D(i,no).values,'color',[c_color(modulo(no,6)+1,1),c_color(modulo(no,6)+1,2),c_color(modulo(no,6)+1,3)],'thickness',2)
+ end
+ h=legend(legend_c);
+ set(h,"background",8)
+ xgrid
+
+ //title("scope_"+string(i));
+ end
+ drawnow();
+endfunction
+
+
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_pre_simulate.bin b/scilab-arduino/tools/linux/macros/ARDUINO_pre_simulate.bin
new file mode 100644
index 0000000..a68cd3e
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_pre_simulate.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ARDUINO_pre_simulate.sci b/scilab-arduino/tools/linux/macros/ARDUINO_pre_simulate.sci
new file mode 100644
index 0000000..33de768
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ARDUINO_pre_simulate.sci
@@ -0,0 +1,137 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function scs_m=ARDUINO_pre_simulate(scs_m, needcompile)
+ global port_com arduino_sample_time
+ presence_arduino=%f //indique la presence d'un bloc arduino setup
+ presence_scope=%f;
+ list_scope=[];
+ display_now=0;
+ funcprot(0)
+ for i = 1:size(scs_m.objs)
+ curObj= scs_m.objs(i);
+ if (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SETUP")
+ presence_arduino=%t
+ scs_m.props.tol(5)=1;
+
+ try
+ //closeserial(port_com)
+ close_serial(1)
+ sleep(1000)
+ port_com_arduino=scs_m.objs(i).model.rpar(2)
+ //port_com=openserial(port_com_arduino,"115200,n,8,1"); //ouverture du port com de la carte i
+ ok=open_serial(1,port_com_arduino,115200); //ouverture du port COM de l'arduino i
+ if (ok>0) then
+ messagebox("Error in communication port.")
+ error('connection aborted')
+ end
+ disp("communication with card "+string(1)+" on com "+string(port_com_arduino)+" is ok")
+ sleep(1000)
+
+ word='R3';
+ write_serial(1,word,2);
+ tic()
+ [a,b,c]=status_serial(1);
+ tini=toc()
+ tcur=0
+ //while (b<2 & tcur<2)
+ // [a,b,c]=status_serial(1);
+ // tcur=toc()-tini
+ //end
+ values=read_serial(1,2);
+ //if tcur>=2 | values ~='v3' then
+ //if values ~='v3' then
+ // messagebox("The Arduino board must be loaded with the Arduino software ''toolbox_arduino_v3.ino''")
+ // error('ino')
+ //else
+ // disp("Arduino firmware Version v3")
+ //end
+
+ //writeserial(port_com,ascii(201)+ascii(201)); //mise a zero programme arduino
+ //write_serial(1,ascii(201)+ascii(201),2); // utilité ?
+ catch
+ close_serial(1)
+ error('Error in communication port.')
+
+ end
+ end
+ if (typeof(curObj) == "Block" & curObj.gui == "TIME_SAMPLE") then
+ scs_m.props.tf=scs_m.objs(i).model.rpar(1);
+ arduino_sample_time=scs_m.objs(i).model.rpar(2);
+ display_now=evstr(scs_m.objs(i).graphics.exprs(3));
+ end
+ if (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SCOPE")
+ presence_scope=%t
+ list_scope($+1)=i;
+ end
+ end
+
+ //update ISCOPES
+ if presence_scope then
+ nb_total_outputs=0;
+ nb_objs_in_scopeblock=5;
+ for i=1:size(list_scope,1)
+ //read data from ISCOPE
+ nb_outputs=evstr(scs_m.objs(list_scope(i)).graphics.exprs(1));
+
+ //read data from ireptemp
+ tf=scs_m.props.tf;
+ sample_time=arduino_sample_time;
+ num_pts=round(tf/sample_time);
+ list_obj=scs_m.objs(list_scope(i)).model.rpar.objs;
+
+ if display_now==1 then
+
+ no=1;
+ scope=CSCOPE('define');
+ scope.model.rpar(4)=tf;
+
+ scope.graphics.exprs(7)=string(tf);
+ for j=1:size(list_obj)
+ if (typeof(list_obj(j)) == "Block" & list_obj(j).gui == "TOWS_c") then //on affecte un nom pour le stockage dans scilab
+ scope.graphics.pin = scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.pin;
+ scope.graphics.pein = scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.pein;
+ scope.graphics.sz=scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.sz;
+ scope.graphics.exprs($)=scs_m.objs(list_scope(i)).graphics.exprs(3)
+ scs_m.objs(list_scope(i)).model.rpar.objs(j)=scope;
+ no=no+1;
+ elseif (typeof(list_obj(j)) == "Block" & list_obj(j).gui == "SampleCLK") then //on modifie le pas de temps
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).model.rpar(1)=sample_time;
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.exprs(1)=string(sample_time);
+ end
+ end
+ else
+ no=1;
+ for j=1:size(list_obj)
+ if (typeof(list_obj(j)) == "Block" & list_obj(j).gui == "TOWS_c") then //on affecte un nom pour le stockage dans scilab
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.exprs=[string(num_pts);"o"+string(no+nb_total_outputs);"0"];
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).model.ipar=[num_pts;2;24;no+nb_total_outputs];
+ no=no+1;
+ elseif (typeof(list_obj(j)) == "Block" & list_obj(j).gui == "SampleCLK") then //on modifie le pas de temps
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).model.rpar(1)=sample_time;
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.exprs(1)=string(sample_time);
+ end
+ end
+
+ end
+
+ nb_total_outputs=nb_total_outputs+nb_outputs;
+ end
+ end
+
+
+ continueSimulation = %t;
+ disp("End of pre simulation")
+ disp('Waiting for acquisition...')
+ scs_m=resume(scs_m)
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ArduinoUnoR3.png b/scilab-arduino/tools/linux/macros/ArduinoUnoR3.png
new file mode 100644
index 0000000..80ca21b
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ArduinoUnoR3.png
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/Arduino_GUI.sce b/scilab-arduino/tools/linux/macros/Arduino_GUI.sce
new file mode 100644
index 0000000..36a8576
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/Arduino_GUI.sce
@@ -0,0 +1,616 @@
+// This GUI file is generated by guibuilder version 3.0
+//////////
+
+function disable_all(handles)
+
+ for cnt = 2:13
+ cmd_str = "set(handles.d" + string(cnt) + ",''Enable'',''off'')";
+ eval(cmd_str);
+ end
+
+ for cnt = 0:5
+ cmd_str = "set(handles.a" + string(cnt) + ",''Enable'',''off'')";
+ eval(cmd_str);
+ end
+
+endfunction
+
+f=figure('figure_position',[128,41],'figure_size',[1024,645],'auto_resize','on','background',[33],'figure_name','Graphic window number %d',"visible", "off",...
+"dockable", "off", ...
+"infobar_visible", "off", ...
+"toolbar_visible", "off", ...
+"menubar_visible", "off", ...
+"default_axes", "off");
+//////////
+//delmenu(f.figure_id,gettext('File'))
+//delmenu(f.figure_id,gettext('?'))
+//delmenu(f.figure_id,gettext('Tools'))
+//toolbar(f.figure_id,'off')
+
+
+//f = figure( ...
+//"dockable", "off", ...
+//"infobar_visible", "off", ...
+//"toolbar_visible", "off", ...
+//"menubar_visible", "off", ...
+//"default_axes", "off",...
+//"visible", "off");
+//f.tag = "scilab550video";
+//f.figure_size = [717,669];
+//f.layout = "border";
+//f.figure_name = "Scilab 5.5.0 new features";
+//f.icon = "applications-system";
+//f.background = -2;
+//tab = uicontrol("parent", f, "style", "tab");
+
+handles.dummy = 0;
+handles.obj1=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','left','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.2571875,0.0233333,0.38625,0.9316667],'Relief','default','SliderStep',[0.01,0.1],'String','ArduinoUnoR3.png','Style','image','Value',[1,1,0,0,0],'VerticalAlignment','middle','Visible','on','Tag','obj1','Callback','obj1_callback(handles)')
+
+//handles.fr_d2 = uicontrol(f,"style", "frame",'unit','normalized',"layout", "gridbag",'Position',[0.7742857,0.1214789,0.0642857,0.0352113], ...
+// "border", createBorder("titled", createBorder("etched", "lowered"), "Figure size"), ...
+// "constraints", createConstraints("gridbag", [1, 2, 1, 1], [1 1], "horizontal"));
+//
+// handles.rd_d2a=uicontrol(handles.fr_d2,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','left','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.7742857,0.1214789,0.0342857,0.0352113],'Relief','default','SliderStep',[0.01,0.1],'String','UnName2','Style','radiobutton','Value',[1],'VerticalAlignment','middle','Visible','on','Tag','rd_d2a','Callback','rd_d2a_callback(handles)')
+// handles.rd_d2b=uicontrol(handles.fr_d2,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','left','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.81,0.1197183,0.0328571,0.0352113],'Relief','default','SliderStep',[0.01,0.1],'String','UnName3','Style','radiobutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','rd_d2b','Callback','rd_d2b_callback(handles)')
+//
+//handles.rd_d3a=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','left','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.7757143,0.1619718,0.0257143,0.0264085],'Relief','default','SliderStep',[0.01,0.1],'String','UnName4','Style','radiobutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','rd_d3a','Callback','rd_d3a_callback(handles)')
+//
+x_pos = 0.65;
+y_pos = 0.155;
+width = 0.25;
+height = 0.03;
+y_offset = 0.029;
+d2 = 2;
+d3 = 3;
+d4 = 4;
+d5 = 5;
+d6 = 6;
+d7 = 7;
+d8 = 9;
+d9 = 10;
+d10 = 11;
+d11 = 12;
+d12 = 13;
+d13 = 14;
+dlabel = 15;
+
+ handles.d2 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d2-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d2a = uicontrol("parent", handles.d2,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d2", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d2)");
+ handles.d2b = uicontrol("parent", handles.d2,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d2", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d2)");
+ handles.d2c = uicontrol("parent", handles.d2,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d2",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d2)");
+ handles.d2d = uicontrol("parent", handles.d2,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d2","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d2)");
+ handles.d2a.value = 1;
+ handles.d2edit = uicontrol("parent", handles.d2,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d2","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d2btn = uicontrol("parent", handles.d2,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d2",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d2)");
+
+ handles.d4 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d4-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d4a = uicontrol("parent", handles.d4,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d4", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d4)");
+ handles.d4b = uicontrol("parent", handles.d4,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d4", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d4)");
+ handles.d4c = uicontrol("parent", handles.d4,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d4",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d4)");
+ handles.d4d = uicontrol("parent", handles.d4,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d4","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d4)");
+ handles.d4a.value = 1;
+ handles.d4edit = uicontrol("parent", handles.d4,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d4","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d4btn = uicontrol("parent", handles.d4,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d4",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d4)");
+ handles.d7 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d7-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d7a = uicontrol("parent", handles.d7,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d7", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d7)");
+ handles.d7b = uicontrol("parent", handles.d7,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d7", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d7)");
+ handles.d7c = uicontrol("parent", handles.d7,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d7",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d7)");
+ handles.d7d = uicontrol("parent", handles.d7,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d7","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d7)");
+ handles.d7a.value = 1;
+ handles.d7edit = uicontrol("parent", handles.d7,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d7","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d7btn = uicontrol("parent", handles.d7,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d7",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d7)");
+ handles.d8 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d8-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d8a = uicontrol("parent", handles.d8,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d8", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d8)");
+ handles.d8b = uicontrol("parent", handles.d8,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d8", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d8)");
+ handles.d8c = uicontrol("parent", handles.d8,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d8",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d8)");
+ handles.d8d = uicontrol("parent", handles.d8,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d8","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d8)");
+ handles.d8a.value = 1;
+ handles.d8edit = uicontrol("parent", handles.d8,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d8","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d8btn = uicontrol("parent", handles.d8,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d8",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d8)");
+ handles.d12 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d12-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d12a = uicontrol("parent", handles.d12,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d12", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d12)");
+ handles.d12b = uicontrol("parent", handles.d12,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d12", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d12)");
+ handles.d12c = uicontrol("parent", handles.d12,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d12",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d12)");
+ handles.d12d = uicontrol("parent", handles.d12,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d12","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d12)");
+ handles.d12a.value = 1;
+ handles.d12edit = uicontrol("parent", handles.d12,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d12","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d12btn = uicontrol("parent", handles.d12,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d12",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d12)");
+ handles.d13 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d13-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d13a = uicontrol("parent", handles.d13,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d13", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d13)");
+ handles.d13b = uicontrol("parent", handles.d13,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d13", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d13)");
+ handles.d13c = uicontrol("parent", handles.d13,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d13",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d13)");
+ handles.d13d = uicontrol("parent", handles.d13,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d13","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d13)");
+ handles.d13a.value = 1;
+ handles.d13edit = uicontrol("parent", handles.d13,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d13","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d13btn = uicontrol("parent", handles.d13,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d13",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d13)");
+ handles.d3 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d3-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d3a = uicontrol("parent", handles.d3,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d3", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d3)");
+ handles.d3b = uicontrol("parent", handles.d3,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d3", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d3)");
+ handles.d3c = uicontrol("parent", handles.d3,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d3",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d3)");
+ handles.d3d = uicontrol("parent", handles.d3,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d3","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d3)");
+ handles.d3a.value = 1;
+ handles.d3edit = uicontrol("parent", handles.d3,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d3","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d3btn = uicontrol("parent", handles.d3,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d3",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d3)");
+ handles.d5 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d5-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d5a = uicontrol("parent", handles.d5,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d5", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d5)");
+ handles.d5b = uicontrol("parent", handles.d5,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d5", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d5)");
+ handles.d5c = uicontrol("parent", handles.d5,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d5",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d5)");
+ handles.d5d = uicontrol("parent", handles.d5,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d5","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d5)");
+ handles.d5a.value = 1;
+ handles.d5edit = uicontrol("parent", handles.d5,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d5","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d5btn = uicontrol("parent", handles.d5,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d5",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d5)");
+ handles.d6 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d6-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d6a = uicontrol("parent", handles.d6,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d6", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d6)");
+ handles.d6b = uicontrol("parent", handles.d6,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d6", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d6)");
+ handles.d6c = uicontrol("parent", handles.d6,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d6",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d6)");
+ handles.d6d = uicontrol("parent", handles.d6,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d6","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d6)");
+ handles.d6a.value = 1;
+ handles.d6edit = uicontrol("parent", handles.d6,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d6","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d6btn = uicontrol("parent", handles.d6,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d6",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d6)");
+ handles.d9 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d9-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d9a = uicontrol("parent", handles.d9,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d9", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d9)");
+ handles.d9b = uicontrol("parent", handles.d9,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d9", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d9)");
+ handles.d9c = uicontrol("parent", handles.d9,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d9",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d9)");
+ handles.d9d = uicontrol("parent", handles.d9,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d9","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d9)");
+ handles.d9a.value = 1;
+ handles.d9edit = uicontrol("parent", handles.d9,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d9","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d9btn = uicontrol("parent", handles.d9,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d9",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d9)");
+ handles.d10 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d10-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d10a = uicontrol("parent", handles.d10,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d10", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d10)");
+ handles.d10b = uicontrol("parent", handles.d10,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d10", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d10)");
+ handles.d10c = uicontrol("parent", handles.d10,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d10",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d10)");
+ handles.d10d = uicontrol("parent", handles.d10,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d10","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d10)");
+ handles.d10a.value = 1;
+ handles.d10edit = uicontrol("parent", handles.d10,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d10","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d10btn = uicontrol("parent", handles.d10,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d10",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d10)");
+ handles.d11 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d11-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d11a = uicontrol("parent", handles.d11,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d11", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d11)");
+ handles.d11b = uicontrol("parent", handles.d11,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d11", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d11)");
+ handles.d11c = uicontrol("parent", handles.d11,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d11",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d11)");
+ handles.d11d = uicontrol("parent", handles.d11,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d11","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d11)");
+ handles.d11a.value = 1;
+ handles.d11edit = uicontrol("parent", handles.d11,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d11","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d11btn = uicontrol("parent", handles.d11,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d11",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d11)");
+
+
+ handles.dlabel = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [4, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(dlabel-2),width-0.147,height],...
+ "border", createBorder("line", 'blue'));
+ handles.dlabela = uicontrol("parent", handles.dlabel,'unit','normalized',"style", "text","horizontalalignment", "center","group", "dlabel", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "string","Off",...
+ "callback", "da_callback(handles,dlabel)");
+ handles.dlabelb = uicontrol("parent", handles.dlabel,'unit','normalized',"style", "text","horizontalalignment", "center","group", "dlabel", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "string","Din",...
+ "callback", "db_callback(handles,dlabel)");
+ handles.dlabelc = uicontrol("parent", handles.dlabel,'unit','normalized',"style", "text","horizontalalignment", "center","group", "dlabel",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "string","Dout",...
+ "callback", "dc_callback(handles,dlabel)");
+ handles.dlabeld = uicontrol("parent", handles.dlabel,'unit','normalized',"style", "text","horizontalalignment", "center","group", "dlabel","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "string","Aout",...
+ "callback", "dd_callback(handles,dlabel)");
+
+
+// Analog In
+a0 = 0;
+a1 = 1;
+a2 = 2;
+a3 = 3;
+a4 = 4;
+a5 = 5;
+
+ handles.a0 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a0-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a0btn = uicontrol("parent", handles.a0,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a0",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a0)");
+ handles.a0edit = uicontrol("parent", handles.a0,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a0","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+ handles.a1 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a1-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a1btn = uicontrol("parent", handles.a1,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a1",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a1)");
+ handles.a1edit = uicontrol("parent", handles.a1,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a1","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+ handles.a2 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a2-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a2btn = uicontrol("parent", handles.a2,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a2",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a2)");
+ handles.a2edit = uicontrol("parent", handles.a2,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a2","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+ handles.a3 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a3-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a3btn = uicontrol("parent", handles.a3,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a3",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a3)");
+ handles.a3edit = uicontrol("parent", handles.a3,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a3","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+ handles.a4 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a4-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a4btn = uicontrol("parent", handles.a4,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a4",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a4)");
+ handles.a4edit = uicontrol("parent", handles.a4,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a4","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+ handles.a5 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a5-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a5btn = uicontrol("parent", handles.a5,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a5",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a5)");
+ handles.a5edit = uicontrol("parent", handles.a5,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a5","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+
+
+// End of Analog In
+
+// Control Panel
+ handles.comport = uicontrol("parent", f,'unit','normalized',"style", "popupmenu","horizontalalignment", "center",...
+ 'Position',[x_pos+0.08,y_pos + y_offset*(d13-2+14),width/2,height*2],...
+ 'String',['com1','com2','com3','com4','com5','com6','com7','com8','com9'],...
+ 'value',1,...
+ "callback", "");
+ handles.connect = uicontrol("parent", f,'unit','normalized',"style", "pushbutton","horizontalalignment", "center",...
+ 'Position',[x_pos+0.08,y_pos + y_offset*(d13-2+12),width/2,height*2],...
+ 'String','Connect',...
+ "callback", "connect_callback(handles)");
+
+ handles.disconnect = uicontrol("parent", f,'unit','normalized',"style", "pushbutton","horizontalalignment", "center",...
+ 'Position',[x_pos+0.08,y_pos + y_offset*(d13-2+10),width/2,height*2],...
+ 'String','Disconnect','enable','off',...
+ "callback", "disconnect_callback(handles)");
+// End of Control Panel
+
+
+disable_all(handles)
+//////////
+// Callbacks are defined as below. Please do not delete the comments as it will be used in coming version
+//////////
+
+function da_callback(handles,val)
+
+ if val>=2 & val <= 7 then
+ cmd_str = "set(handles.d" + string(val) + "edit,''Enable'',''off'')";
+ eval(cmd_str);
+ else
+ cmd_str = "set(handles.d" + string(val-1) + "edit,''Enable'',''off'')";
+ eval(cmd_str);
+ end
+
+endfunction
+
+function db_callback(handles,val)
+
+
+ if val>=2 & val <= 7 then
+ cmd_str = "set(handles.d" + string(val) + "edit,''Enable'',''off'')";
+ eval(cmd_str);
+ else
+ cmd_str = "set(handles.d" + string(val-1) + "edit,''Enable'',''off'')";
+ eval(cmd_str);
+ end
+
+
+endfunction
+
+function dc_callback(handles,val)
+
+ if val>=2 & val <= 7 then
+ cmd_str = "set(handles.d" + string(val) + "edit,''Enable'',''on'')";
+ eval(cmd_str);
+ else
+ cmd_str = "set(handles.d" + string(val-1) + "edit,''Enable'',''on'')";
+ eval(cmd_str);
+ end
+
+endfunction
+
+function dd_callback(handles,val)
+
+ if val>=2 & val <= 7 then
+ cmd_str = "set(handles.d" + string(val) + "edit,''Enable'',''on'')";
+ eval(cmd_str);
+ else
+ cmd_str = "set(handles.d" + string(val-1) + "edit,''Enable'',''on'')";
+ eval(cmd_str);
+ end
+
+endfunction
+
+
+
+
+function enable_all(handles)
+
+ for cnt = 2:13
+ cmd_str = "set(handles.d" + string(cnt) + ",''Enable'',''on'')";
+ eval(cmd_str);
+ end
+
+ for cnt = 0:5
+ cmd_str = "set(handles.a" + string(cnt) + ",''Enable'',''on'')";
+ eval(cmd_str);
+ end
+endfunction
+
+function connect_callback(handles)
+
+ ok = open_serial(1,handles.comport.value,115200);
+ if ok == 0 then
+ handles.connect.enable = 'off';
+ handles.disconnect.enable = 'on';
+ enable_all(handles);
+ else
+ messagebox('aa','aa');
+ end
+
+endfunction
+
+function disconnect_callback(handles)
+ close_serial(1);
+ handles.connect.enable = 'on';
+ handles.disconnect.enable = 'off';
+ disable_all(handles);
+endfunction
+
+function dbtn_callback(handles,val)
+//Write your callback for rd_d2b here
+if val>=8 then
+ val = val - 1;
+end
+
+cmd_str = "get(handles.d" + string(val) +".children,""value"");"
+sel = find(evstr(cmd_str));
+
+if sel == 1 then
+ cmd_str = "get(handles.d" + string(val) +"edit,""string"");"
+ out = strtod(evstr(cmd_str));
+ cmd_analog_out(1,val,out);
+elseif sel == 2
+ cmd_str = "get(handles.d" + string(val) +"edit,""string"");"
+ out = strtod(evstr(cmd_str));
+ cmd_digital_out(1,val,out);
+elseif sel == 3
+ in = cmd_digital_in(1,val);
+ cmd_str = "set(handles.d" + string(val) +"edit,""string"",""" + string(in) + """);"
+ eval(cmd_str);
+
+end
+
+endfunction
+
+function abtn_callback(handles,val)
+ in = cmd_analog_in(1,val);
+ cmd_str = "set(handles.a" + string(val) +"edit,""string"",""" + string(in) + """);"
+ eval(cmd_str);
+
+endfunction
+
+
+f.visible = "on";
diff --git a/scilab-arduino/tools/linux/macros/DCMOTOR_SB.bin b/scilab-arduino/tools/linux/macros/DCMOTOR_SB.bin
new file mode 100644
index 0000000..67e96e0
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/DCMOTOR_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/DCMOTOR_SB.sci b/scilab-arduino/tools/linux/macros/DCMOTOR_SB.sci
new file mode 100644
index 0000000..f35fe91
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/DCMOTOR_SB.sci
@@ -0,0 +1,136 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=DCMOTOR_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+ // deprecated
+ case 'getinputs' then
+ // deprecater
+ case 'getoutputs' then
+ // deprecated
+ case 'getorigin' then
+ // deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok1,type_shield,num_arduino,exprs1]=scicos_getvalue('Arduino DC MOTOR parameters',..
+ [gettext('Type of Shield (1: MotorShield Rev3, 2: PMODHB5 or L298 based, 3: L293 (2 PWM))');...
+ gettext('Arduino card number')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok1 then break; end //cancel
+
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok1=%f;
+ end
+ if type_shield~=1 & type_shield~=2 & type_shield~=3
+ mess=[mess ;_("Type shield must be 1, 2 or 3")]
+ ok1 = %f
+ end
+
+ if ok1 then
+ num_pin_1=0; num_pin_2=0;
+ if type_shield==1 then //get number of motor (between 1 et 2)
+ [ok,motor_number,exprs2]=scicos_getvalue('Motorshield Rev 3 parameters',..
+ [gettext('Channel for DC motor : A (type 1) or B (type 2)')],list('vec',1), exprs(5))
+ if ~ok then break; end //cancel
+ if (motor_number <1 | motor_number > 2)
+ mess=[mess ;_("Motor number must be 1 or 2 for Motorshield Rev 3 card")]
+ ok = %f
+ end
+ if motor_number==1 then
+ num_pin_1=12;
+ num_pin_2=3;
+ else
+ num_pin_1=13;
+ num_pin_2=11;
+ end
+ elseif type_shield==2 then
+ [ok,num_pin_1,num_pin_2,motor_number,exprs2]=scicos_getvalue('PMODHB5 or L298 driver parameters',..
+ [gettext('Direction pin ');gettext('Enable (speed) Pin');gettext('Motor number (between 1 and 4)')],list('vec',1,'vec',1,'vec',1), exprs(3:5))
+ if ~ok then break; end //cancel
+ if (motor_number < 1 | motor_number>4)
+ mess=[mess ;_("Motor number must be between 1 and 4")]
+ ok = %f
+ end
+ elseif type_shield==3 then
+ [ok,num_pin_1,num_pin_2,motor_number,exprs2]=scicos_getvalue('L293 driver parameters (control 2 PWM)',..
+ [gettext('PWM 1 Pin');gettext('PWM 2 Pin');gettext('Motor number (between 1 and 3)')],list('vec',1,'vec',1,'vec',1), exprs(3:5))
+ if ~ok then break; end //cancel
+ if (motor_number < 1 | motor_number>4)
+ mess=[mess ;_("Motor number must be between 1 and 4")]
+ ok = %f
+ end
+ end
+
+ if ok then
+ rpar=[type_shield;num_arduino;num_pin_1;num_pin_2;motor_number];
+ // Everything's ok
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ else
+ message(mess);
+ end
+
+
+ end
+
+
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_DCMOTOR('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pin = 4;
+ input_port=IN_f('define')
+ input_port.graphics.exprs=["1"]
+ input_port.model.ipar=[1]
+ input_port.graphics.pout=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=input_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[2, 1,0], to=[1, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ num_arduino=1; type_shield=1; num_pin_1=13; num_pin_2=11; motor_number=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Typeshield %s<br>on card %s"]
+ x.graphics.exprs=string([type_shield;num_arduino;num_pin_1;num_pin_2;motor_number]);
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/DIGITAL_READ_SB.bin b/scilab-arduino/tools/linux/macros/DIGITAL_READ_SB.bin
new file mode 100644
index 0000000..ce6372b
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/DIGITAL_READ_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/DIGITAL_READ_SB.sci b/scilab-arduino/tools/linux/macros/DIGITAL_READ_SB.sci
new file mode 100644
index 0000000..c87edbf
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/DIGITAL_READ_SB.sci
@@ -0,0 +1,94 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=DIGITAL_READ_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Digital Read parameters' ; 'UNO digital PIN are : 2 to 13.'; 'MEGA digital PIN are : 2 to 53.'],..
+ [gettext('Digital Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 2 | num_pin>53
+ mess=[mess ;_("Digital Pin must be between 2 and 53.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_DIGITAL_READ('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pout = 4;
+ output_port=OUT_f('define')
+ output_port.graphics.exprs=["1"]
+ output_port.model.ipar=[1]
+ output_port.graphics.pin=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=output_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[1, 1,0], to=[2, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.out=-1
+ model.out2=-2
+ model.outtyp=-1
+ Pin=3; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Digital Read Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/DIGITAL_WRITE_SB.bin b/scilab-arduino/tools/linux/macros/DIGITAL_WRITE_SB.bin
new file mode 100644
index 0000000..957b6ad
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/DIGITAL_WRITE_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/DIGITAL_WRITE_SB.sci b/scilab-arduino/tools/linux/macros/DIGITAL_WRITE_SB.sci
new file mode 100644
index 0000000..df97949
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/DIGITAL_WRITE_SB.sci
@@ -0,0 +1,93 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=DIGITAL_WRITE_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Digital Write parameters' ; 'UNO digital PIN are : 0 to 13.'; 'MEGA digital PIN are : 0 to 53.'],..
+ [gettext('Digital Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 2 | num_pin>53
+ mess=[mess ;_("Digital Pin must be between 2 and 53.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_DIGITAL_WRITE('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pin = 4;
+ input_port=IN_f('define')
+ input_port.graphics.exprs=["1"]
+ input_port.model.ipar=[1]
+ input_port.graphics.pout=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=input_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[2, 1,0], to=[1, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ Pin=13; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Digital Write Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/ENCODER_SB.bin b/scilab-arduino/tools/linux/macros/ENCODER_SB.bin
new file mode 100644
index 0000000..47ae030
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ENCODER_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/ENCODER_SB.sci b/scilab-arduino/tools/linux/macros/ENCODER_SB.sci
new file mode 100644
index 0000000..577bf12
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/ENCODER_SB.sci
@@ -0,0 +1,117 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ENCODER_SB(job, arg1, arg2)
+ global corresp;
+ //correspondance entre le numero de la PIN et le numéro de l'interruption
+ corresp(2)=0;corresp(3)=1;corresp(21)=2;corresp(20)=3;corresp(19)=4;corresp(18)=5;
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_arduino,counting_mode,exprs1]=scicos_getvalue('Arduino Encoder parameters',..
+ [gettext('Arduino card number');gettext('Counting mode : 1 (up chanA) 2 (up/down chanA) 4 (up/down chanA and B)')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok then break; end //cancel
+ //security tests
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+// if num_encoder < 1 | num_encoder>4
+// mess=[mess ;_("Encoder number must be 1 to 4 ")]
+// ok = %f
+// end
+ if counting_mode ~=1 & counting_mode~=2 & counting_mode~=4
+ mess=[mess ;_("Counting mode must be 1, 2 or 4")]
+ ok = %f
+ end
+
+ if ok then
+ ok2=%f
+ if counting_mode==1 | counting_mode==2 then
+ [ok2,pin_A,pin_B,exprs2]=scicos_getvalue(['Definition of Pins Encoder';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Pin Channel A (interruption PIN see above)');gettext('Pin Direction (whatever)')],list('vec',1,'vec',1), exprs(3:4))
+ elseif counting_mode==4
+ [ok2,pin_A,pin_B,exprs2]=scicos_getvalue(['Definition of Pins Encoder';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Pin Channel A (interruption PIN see above)');gettext('Pin Channel B (interruption PIN see above)')],list('vec',1,'vec',1), exprs(3:4))
+ end
+ if ~ok2 then break; end //cancel
+ if pin_A~=2 & pin_A~=3 & pin_A~=18 & pin_A~=19 & pin_A~=20 & pin_A~=21 then
+ mess=[mess ;_("Pin for Channel A must be 2, 3 or 18 to 21 (pin with interrupts) ")]
+ ok2 = %f
+ end
+ if ok2 then
+ rpar=[num_arduino;counting_mode;pin_A;pin_B];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_ENCODER('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pout = 4;
+ output_port=OUT_f('define')
+ output_port.graphics.exprs=["1"]
+ output_port.model.ipar=[1]
+ output_port.graphics.pin=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=output_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[1, 1,0], to=[2, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.out=-1
+ model.out2=-2
+ model.outtyp=-1
+ //num_encoder=1;
+ num_arduino=1, counting_mode=2; pin_A=2; pin_B=4;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Encoder<br>on card %s"]
+ //x.graphics.exprs=string([num_encoder;num_arduino;counting_mode;pin_A;pin_B])
+ x.graphics.exprs=string([num_arduino;counting_mode;pin_A;pin_B])
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/INTERRUPT_SB.bin b/scilab-arduino/tools/linux/macros/INTERRUPT_SB.bin
new file mode 100644
index 0000000..218bba2
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/INTERRUPT_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/INTERRUPT_SB.sci b/scilab-arduino/tools/linux/macros/INTERRUPT_SB.sci
new file mode 100644
index 0000000..a4289a6
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/INTERRUPT_SB.sci
@@ -0,0 +1,82 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=INTERRUPT_SB(job, arg1, arg2)
+ global corresp;
+ corresp(2)=0;corresp(3)=1;corresp(21)=2;corresp(20)=3;corresp(19)=4;corresp(18)=5;
+ x=[];
+ y=[];
+ typ=[];
+
+ select job
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,pin_interrupt,num_arduino,exprs1]=scicos_getvalue(['Arduino Interrupt parameters';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Interrupt pin number');gettext('Arduino card number')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok then break; end //cancel
+ //security tests
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if ok then
+
+ rpar=[pin_interrupt;num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_INTERRUPT('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pout = 4;
+ output_port=OUT_f('define')
+ output_port.graphics.exprs=["1"]
+ output_port.model.ipar=[1]
+ output_port.graphics.pin=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=output_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[1, 1,0], to=[2, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.out=-1
+ model.out2=-2
+ model.outtyp=-1
+ pin_interrupt=2; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Interrupt on pin %s<br>on card %s"]
+ x.graphics.exprs=string([pin_interrupt;num_arduino])
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/SERVO_READ_SB.bin b/scilab-arduino/tools/linux/macros/SERVO_READ_SB.bin
new file mode 100644
index 0000000..b58e6b6
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/SERVO_READ_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/SERVO_READ_SB.sci b/scilab-arduino/tools/linux/macros/SERVO_READ_SB.sci
new file mode 100644
index 0000000..85ab3db
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/SERVO_READ_SB.sci
@@ -0,0 +1,93 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=SERVO_READ_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Servo Read parameters',..
+ [gettext('Servo number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 1 | num_pin>2
+ mess=[mess ;_("Servo numbers must be 1 or 2 (on pin 10 and 9)")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_SERVO_READ('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pout = 4;
+ output_port=OUT_f('define')
+ output_port.graphics.exprs=["1"]
+ output_port.model.ipar=[1]
+ output_port.graphics.pin=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=output_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[1, 1,0], to=[2, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.out=-1
+ model.out2=-2
+ model.outtyp=-1
+ Pin=1; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Servo Read Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/SERVO_WRITE_SB.bin b/scilab-arduino/tools/linux/macros/SERVO_WRITE_SB.bin
new file mode 100644
index 0000000..244e3c8
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/SERVO_WRITE_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/SERVO_WRITE_SB.sci b/scilab-arduino/tools/linux/macros/SERVO_WRITE_SB.sci
new file mode 100644
index 0000000..82f346e
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/SERVO_WRITE_SB.sci
@@ -0,0 +1,93 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=SERVO_WRITE_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Servo Write parameters',..
+ [gettext('Servo number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 1 | num_pin>2
+ mess=[mess ;_("Servo numbers must be 1 or 2 (on pin 10 and 9)")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_SERVO_WRITE('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pin = 4;
+ input_port=IN_f('define')
+ input_port.graphics.exprs=["1"]
+ input_port.model.ipar=[1]
+ input_port.graphics.pout=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=input_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[2, 1,0], to=[1, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ Pin=1; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Servo %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/STEPPER_SB.bin b/scilab-arduino/tools/linux/macros/STEPPER_SB.bin
new file mode 100644
index 0000000..723b46b
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/STEPPER_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/STEPPER_SB.sci b/scilab-arduino/tools/linux/macros/STEPPER_SB.sci
new file mode 100644
index 0000000..3a8dded
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/STEPPER_SB.sci
@@ -0,0 +1,93 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=STEPPER_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Stepper parameters',..
+ [gettext('Motor number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 0 | num_pin>2
+ mess=[mess ;_("Analog Pin must be between 0 and 6.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_STEPPER('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pin = 4;
+ input_port=IN_f('define')
+ input_port.graphics.exprs=["1"]
+ input_port.model.ipar=[1]
+ input_port.graphics.pout=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=input_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[2, 1,0], to=[1, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ Pin=0; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Stepper %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/TIME_SAMPLE.bin b/scilab-arduino/tools/linux/macros/TIME_SAMPLE.bin
new file mode 100644
index 0000000..d2be8eb
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/TIME_SAMPLE.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/TIME_SAMPLE.sci b/scilab-arduino/tools/linux/macros/TIME_SAMPLE.sci
new file mode 100644
index 0000000..b9d1729
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/TIME_SAMPLE.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=TIME_SAMPLE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,tf,period,display_now,exprs]=scicos_getvalue('Time sample parameters',..
+ [gettext('Duration of acquisition (s)'),gettext('Sampling period (s)'),gettext('Display curvs continuously (1 yes / 0 no)')], list('vec',1,'vec',1,'vec',1), ..
+ exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+
+ if period <0.005 then
+ mess=[gettext("sampling period mus be greater than 0.005")];
+ ok=%f;
+ end
+
+ if display_now ~=1 & display_now~=0
+ mess=[mess ;_("Choose 1 or 0 to display curvs during simulation or at the end")]
+ ok = %f
+ end
+
+ if ok then// Everything's ok
+ model.rpar=[tf,period,display_now];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("TIME_SAMPLE", 99)
+ model.blocktype='c';
+ model.dep_ut=[%f %f];
+ model.in=[];
+ tf=10;
+ period=0.1;
+ model.rpar=[tf,period,1]; //Digital Output number
+ x=standard_define([6 2],model,[],[]);
+ x.graphics.in_implicit=[];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=center;displayedLabel=Duration : %s<br> Sampling period %s"]
+ x.graphics.exprs=[string(tf),string(period),string(1)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/buildmacros.sce b/scilab-arduino/tools/linux/macros/buildmacros.sce
new file mode 100644
index 0000000..a129dc7
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/buildmacros.sce
@@ -0,0 +1,23 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function buildmacros()
+ macros_path = get_absolute_file_path("buildmacros.sce");
+ tbx_build_macros(TOOLBOX_NAME, macros_path);
+ blocks = [
+ "ARDUINO_ANALOG_READ" "ARDUINO_ANALOG_WRITE" "ARDUINO_DCMOTOR" ...
+ "ARDUINO_DIGITAL_READ" "ARDUINO_DIGITAL_WRITE" "ARDUINO_ENCODER" ...
+ "ARDUINO_SERVO_READ" "ARDUINO_SERVO_WRITE" "ARDUINO_SETUP" ...
+ "ARDUINO_STEPPER" "ARDUINO_INTERRUPT"...
+ "TIME_SAMPLE" "ARDUINO_SETUP" ...
+ "ANALOG_READ_SB" "ANALOG_WRITE_SB" "DCMOTOR_SB" ...
+ "DIGITAL_READ_SB" "DIGITAL_WRITE_SB" "ENCODER_SB" ...
+ "SERVO_READ_SB" "SERVO_WRITE_SB" "STEPPER_SB" "INTERRUPT_SB" ...
+ "ARDUINO_SCOPE"
+ ];
+ tbx_build_blocks(toolbox_dir, blocks);
+
+endfunction
+
+buildmacros();
+clear buildmacros; // remove buildmacros on stack
+
diff --git a/scilab-arduino/tools/linux/macros/close_serial.bin b/scilab-arduino/tools/linux/macros/close_serial.bin
new file mode 100644
index 0000000..fee303d
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/close_serial.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/close_serial.sci b/scilab-arduino/tools/linux/macros/close_serial.sci
new file mode 100644
index 0000000..9c5b85f
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/close_serial.sci
@@ -0,0 +1,37 @@
+//
+// This file is part of Arduino toolbox
+// Copyright (C) 2012-2012 - DEMOSCIENCES - Alain CAIGNOT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+function res=close_serial(nHandle)
+// Command to close the serial port which is connected to Arduino
+//
+// Calling Sequence
+// res=close_serial(nHandle)
+//
+// Parameters
+// nHandle : Board number, reserved for future use. For this version, any number would do
+// res : 0 if the connection is successful, else the connection fail
+//
+// Description
+// It is important to close the serial port after use, else the port would be busy and restart of Scilab might required to connect to it again.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// close_serial(1)
+//
+// See also
+// open_serial
+//
+// Authors
+// Bruno JOFRET
+//
+ res=call("close_serial",nHandle,1,"i","out",[1,1],2,"i")
+endfunction
+
diff --git a/scilab-arduino/tools/linux/macros/cmd_analog_in.bin b/scilab-arduino/tools/linux/macros/cmd_analog_in.bin
new file mode 100644
index 0000000..5bb56a1
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_analog_in.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_analog_in.sci b/scilab-arduino/tools/linux/macros/cmd_analog_in.sci
new file mode 100644
index 0000000..101d7ca
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_analog_in.sci
@@ -0,0 +1,42 @@
+function val = cmd_analog_in(h,pin_no)
+// Command to read in analog signal from a connected Arduino board
+//
+// Calling Sequence
+// val = cmd_analog_in(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Analog pin to measure the signal
+// val : Reading in the range of 0-1023 to to indicate the input voltage from 0-5V
+//
+// Description
+// Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+// The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// val = cmd_analog_in(1,9)
+// close_serial(1)
+//
+// See also
+// cmd_analog_in_volt
+//
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ pin="A"+ascii(48+pin_no);
+ write_serial(h,pin,2);
+ [a,b,c]=status_serial(h);
+ while (b < 2)
+ [a,b,c]=status_serial(h);
+ end
+ values=read_serial(h,2);
+
+ temp=ascii(values);
+ val=double(int16(256*temp(2)+temp(1)));
+
+
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_analog_in_volt.bin b/scilab-arduino/tools/linux/macros/cmd_analog_in_volt.bin
new file mode 100644
index 0000000..67a835d
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_analog_in_volt.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_analog_in_volt.sci b/scilab-arduino/tools/linux/macros/cmd_analog_in_volt.sci
new file mode 100644
index 0000000..8c83254
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_analog_in_volt.sci
@@ -0,0 +1,45 @@
+function val = cmd_analog_in_volt(h,pin_no)
+// Command to read in analog signal from a connected Arduino board
+//
+// Calling Sequence
+// val = cmd_analog_in_volt(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Analog pin to measure the signal
+// val : Reading in the input voltage from 0-5V
+//
+// Description
+// Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+// The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. This function scale the reading to 0-5 so the user could get the measured voltage directly
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// val = cmd_analog_in_volt(1,9)
+// close_serial(1)
+//
+// See also
+// cmd_analog_out
+//
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ pin="A"+ascii(48+pin_no);
+ write_serial(h,pin,2);
+
+ //binary transfer
+ [a,b,c]=status_serial(h);
+ while (b < 2)
+ [a,b,c]=status_serial(h);
+ end
+ values=read_serial(h,2);
+
+ temp=ascii(values);
+ val=double(int16(256*temp(2)+temp(1)));
+ val = val./1023
+
+
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_analog_out.bin b/scilab-arduino/tools/linux/macros/cmd_analog_out.bin
new file mode 100644
index 0000000..550bd1a
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_analog_out.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_analog_out.sci b/scilab-arduino/tools/linux/macros/cmd_analog_out.sci
new file mode 100644
index 0000000..a667cd8
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_analog_out.sci
@@ -0,0 +1,41 @@
+function cmd_analog_out(h,pin_no,val)
+// Command to sent out analog signal to a connected Arduino board
+//
+// Calling Sequence
+// cmd_analog_out(h,pin_no,val)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin with ~ to sent the signal
+// val : The value of 0-255 to be sent to the digital pins with ~ sign. It will be then scaled to 0-5V
+//
+// Description
+// The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+// It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses,
+// the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+// voltage across the component connected to this port, which has the effect of having a analog output voltage.
+//
+// The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_analog_out(1,9,100)
+// close_serial(1)
+//
+// See also
+// cmd_analog_out_volt
+// cmd_arduino_a_control
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ if val > 255 then
+ val = 255;
+ elseif val < 0
+ val = 0;
+ end
+ code_sent="W"+ascii(48+pin_no)+ascii(abs(ceil(val)));
+ write_serial(h,code_sent,3);
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_analog_out_volt.bin b/scilab-arduino/tools/linux/macros/cmd_analog_out_volt.bin
new file mode 100644
index 0000000..2c34a48
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_analog_out_volt.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_analog_out_volt.sci b/scilab-arduino/tools/linux/macros/cmd_analog_out_volt.sci
new file mode 100644
index 0000000..60e9b6d
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_analog_out_volt.sci
@@ -0,0 +1,41 @@
+function cmd_analog_out_volt(h,pin_no,val)
+// Command to sent out analog signal to a connected Arduino board
+//
+// Calling Sequence
+// cmd_analog_out_volt(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin with ~ to sent the signal
+// val : The value in volt (0-5) to be sent to the digital pins with ~ sign.
+//
+// Description
+// The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+// It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses,
+// the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+// voltage across the component connected to this port, which has the effect of having a analog output voltage.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_analog_out_volt(1,9,100)
+// close_serial(1)
+//
+// See also
+// cmd_analog_out
+// cmd_arduino_a_control
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ if val > 5 then
+ val = 5;
+ elseif val < 0
+ val = 0;
+ end
+ val = val .* 255 ./ 5;
+
+ code_sent="W"+ascii(48+pin_no)+ascii(abs(ceil(val)));
+ write_serial(h,code_sent,3);
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_arduino_a_control.bin b/scilab-arduino/tools/linux/macros/cmd_arduino_a_control.bin
new file mode 100644
index 0000000..7cc424a
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_arduino_a_control.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_arduino_a_control.sci b/scilab-arduino/tools/linux/macros/cmd_arduino_a_control.sci
new file mode 100644
index 0000000..9ff1492
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_arduino_a_control.sci
@@ -0,0 +1,70 @@
+// This GUI file is generated by guibuilder version 3.0
+//////////
+function cmd_arduino_a_control(h,pin_no)
+// GUI to control analog signal to be sent to a connected Arduino board
+//
+// Calling Sequence
+// cmd_arduino_a_control(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin with ~ to sent the signal
+//
+// Description
+// This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_arduino_a_control(1,9,100)
+// close_serial(1)
+//
+// See also
+// cmd_analog_out_volt
+// cmd_analog_out
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ // str = string(val);
+ //
+ handles.h = h;
+ handles.pin_no = pin_no;
+ f=figure('figure_position',[128,41],'figure_size',[300,300],'auto_resize','on','background',[33],'figure_name','Arduino Digital Control',"visible", "off",...
+ "dockable", "off", ...
+ "infobar_visible", "off", ...
+ "toolbar_visible", "off", ...
+ "menubar_visible", "off", ...
+ "default_axes", "off");
+
+ handles.pbStop=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.3159509,0.16,0.3619632,0.2],'Relief','default','SliderStep',[0.01,0.1],'String','Stop','Style','pushbutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','pbStop','Callback','pbStop_callback()')
+ handles.spResult=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[36],'FontUnits','points','FontWeight','bold','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[255],'Min',[0],'Position',[0.3190184,0.565,0.3527607,0.19],'Relief','default','SliderStep',[1,10],'String',"0",'Style','spinner','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','spResult','Callback','spResult_callback(handles)')
+
+
+ f.visible = "on";
+
+ handles = resume(handles);
+ //set(txtResult,'string',str);
+
+endfunction
+//////////
+// Callbacks are defined as below. Please do not delete the comments as it will be used in coming version
+function spResult_callback(handles)
+// pbResult = findobj("tag', "pbResult");
+
+// val
+ cmd_analog_out(handles.h,handles.pin_no,handles.spResult.value)
+ // disp(handles.spResult.value);
+
+endfunction //////////
+
+function pbStop_callback()
+ //Write your callback for pbStop here
+ close();
+ // abort;
+
+
+endfunction
+
+
+
diff --git a/scilab-arduino/tools/linux/macros/cmd_arduino_d_control.bin b/scilab-arduino/tools/linux/macros/cmd_arduino_d_control.bin
new file mode 100644
index 0000000..74046f1
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_arduino_d_control.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_arduino_d_control.sci b/scilab-arduino/tools/linux/macros/cmd_arduino_d_control.sci
new file mode 100644
index 0000000..576b2a8
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_arduino_d_control.sci
@@ -0,0 +1,75 @@
+// This GUI file is generated by guibuilder version 3.0
+//////////
+function cmd_arduino_d_control(h,pin_no)
+// GUI to control digital signal to be sent to a connected Arduino board
+//
+// Calling Sequence
+// cmd_arduino_d_control(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin to sent the signal
+//
+// Description
+// This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_arduino_d_control(1,9)
+// close_serial(1)
+//
+// See also
+// cmd_digital_out_volt
+// cmd_digital_out
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ // str = string(val);
+ //
+ handles.h = h;
+ handles.pin_no = pin_no;
+ f=figure('figure_position',[128,41],'figure_size',[300,300],'auto_resize','on','background',[33],'figure_name','Arduino Digital Control',"visible", "off",...
+ "dockable", "off", ...
+ "infobar_visible", "off", ...
+ "toolbar_visible", "off", ...
+ "menubar_visible", "off", ...
+ "default_axes", "off");
+
+ handles.pbStop=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.3159509,0.16,0.3619632,0.2],'Relief','default','SliderStep',[0.01,0.1],'String','Stop','Style','pushbutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','pbStop','Callback','pbStop_callback()')
+ handles.pbResult=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[24],'FontUnits','points','FontWeight','bold','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.3190184,0.565,0.3527607,0.19],'Relief','default','SliderStep',[0.01,0.1],'String',"LOW",'Style','pushbutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','pbResult','Callback','pbResult_callback(handles)')
+
+
+ f.visible = "on";
+
+ handles = resume(handles);
+ //set(txtResult,'string',str);
+
+endfunction
+//////////
+// Callbacks are defined as below. Please do not delete the comments as it will be used in coming version
+function pbResult_callback(handles)
+// pbResult = findobj("tag', "pbResult");
+
+ if handles.pbResult.string == "LOW" then
+ set(handles.pbResult,"string", "HIGH")
+ set(handles.pbResult,"relief", "sunken")
+ cmd_digital_out(handles.h,handles.pin_no,1)
+ elseif handles.pbResult.string == "HIGH"
+ set(handles.pbResult,"string", "LOW")
+ set(handles.pbResult,"relief", "raised")
+ cmd_digital_out(handles.h,handles.pin_no,0)
+ end
+
+endfunction //////////
+
+function pbStop_callback()
+ //Write your callback for pbStop here
+ close();
+ // abort;
+
+
+endfunction
+
+
+
diff --git a/scilab-arduino/tools/linux/macros/cmd_arduino_meter.bin b/scilab-arduino/tools/linux/macros/cmd_arduino_meter.bin
new file mode 100644
index 0000000..cdc406e
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_arduino_meter.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_arduino_meter.sci b/scilab-arduino/tools/linux/macros/cmd_arduino_meter.sci
new file mode 100644
index 0000000..52d9de8
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_arduino_meter.sci
@@ -0,0 +1,64 @@
+// This GUI file is generated by guibuilder version 3.0
+//////////
+function cmd_arduino_meter(val)
+// GUI to display continuous signal from a loop, and break the loop after termination of the GUI
+//
+// Calling Sequence
+// cmd_arduino_meter(val)
+//
+// Parameters
+// val : Value to be displayed
+//
+// Description
+// This GUI provides a convenient way display a continuous data from a loop and break the loop after the termination of the GUI. By this, it behave like a digital meter by showing the data in a GUI instead of the console
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// val = cmd_analog_in_volt(1,9)
+// cmd_arduino_meter(val)
+// close_serial(1)
+//
+// See also
+// cmd_arduino_d_control
+// cmd_arduino_a_control
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ str = string(val);
+ f = findobj('figure_name','Arduino Meter');
+ if isempty(f) then
+ f=figure('figure_position',[128,41],'figure_size',[300,300],'auto_resize','on','background',[33],'figure_name','Arduino Meter',"visible", "off",...
+ "dockable", "off", ...
+ "infobar_visible", "off", ...
+ "toolbar_visible", "off", ...
+ "menubar_visible", "off", ...
+ "default_axes", "off");
+
+ pbStop=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.3159509,0.16,0.3619632,0.2],'Relief','default','SliderStep',[0.01,0.1],'String','Stop','Style','pushbutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','pbStop','Callback','pbStop_callback()')
+ txtResult=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[24],'FontUnits','points','FontWeight','bold','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.3190184,0.565,0.3527607,0.19],'Relief','default','SliderStep',[0.01,0.1],'String',str,'Style','text','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','txtResult','Callback','')
+
+ else
+ pbStop = findobj('Tag','pbStop');
+ txtResult = findobj('Tag','txtResult');
+ // pause
+
+ end
+ set(txtResult,'string',str);
+f.visible = "on";
+ endfunction
+ //////////
+ // Callbacks are defined as below. Please do not delete the comments as it will be used in coming version
+ //////////
+
+ function pbStop_callback()
+ //Write your callback for pbStop here
+ close();
+ abort;
+
+
+ endfunction
+
+
+
diff --git a/scilab-arduino/tools/linux/macros/cmd_dcmotor_release.bin b/scilab-arduino/tools/linux/macros/cmd_dcmotor_release.bin
new file mode 100644
index 0000000..8ca7ca5
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_dcmotor_release.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_dcmotor_release.sci b/scilab-arduino/tools/linux/macros/cmd_dcmotor_release.sci
new file mode 100644
index 0000000..daf694d
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_dcmotor_release.sci
@@ -0,0 +1,38 @@
+function cmd_dcmotor_release(h,motor_no)
+// Command to release pins which have setup for DC motor
+//
+// Calling Sequence
+// cmd_dcmotor_release(h,motor_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// motor_no : ID in which the motor has been connected
+//
+// Description
+// Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+//
+// Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+// cmd_dcmotor_run(1,1,255)
+// sleep(1000)
+// cmd_dcmotor_run(1,1,-255)
+// sleep(1000)
+// cmd_dcmotor_release(1,1)
+// close_serial(1)
+
+// See also
+// cmd_dcmotor_setup
+// cmd_dcmotor_release
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ code_sent="M"+ascii(48+motor_no)+"1"+ascii(0);
+ write_serial(h,code_sent,4);
+
+ code_sent="M"+ascii(48+motor_no)+"r";
+ write_serial(h,code_sent,3)
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_dcmotor_run.bin b/scilab-arduino/tools/linux/macros/cmd_dcmotor_run.bin
new file mode 100644
index 0000000..205c06e
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_dcmotor_run.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_dcmotor_run.sci b/scilab-arduino/tools/linux/macros/cmd_dcmotor_run.sci
new file mode 100644
index 0000000..f564c84
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_dcmotor_run.sci
@@ -0,0 +1,52 @@
+function cmd_dcmotor_run(h,motor_no,u1)
+// Command to run DC motor after setting up
+//
+// Calling Sequence
+// cmd_dcmotor_run(h,motor_no,u1)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// motor_no : ID in which the motor has been connected
+// u1 : Value to sent, range from -255 to 255, for clockwise and anti-clockwise direction
+//
+// Description
+// Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+//
+// Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+// cmd_dcmotor_run(1,1,255)
+// sleep(1000)
+// cmd_dcmotor_run(1,1,-255)
+// sleep(1000)
+// cmd_dcmotor_release(1,1)
+// close_serial(1)
+
+// See also
+// cmd_dcmotor_setup
+// cmd_dcmotor_release
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ direction=sign(u1);
+
+ if direction>=0 then
+ code_dir=ascii(49);
+ else
+ code_dir=ascii(48);
+ end
+ if abs(u1)>255 then
+ val=255;
+ else
+ val=abs(ceil(u1));
+ end
+
+ code_sent="M"+ascii(48+motor_no)+code_dir+ascii(val);
+ write_serial(h,code_sent,4)
+// end
+
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_dcmotor_setup.bin b/scilab-arduino/tools/linux/macros/cmd_dcmotor_setup.bin
new file mode 100644
index 0000000..23bb85f
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_dcmotor_setup.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_dcmotor_setup.sci b/scilab-arduino/tools/linux/macros/cmd_dcmotor_setup.sci
new file mode 100644
index 0000000..2808bc4
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_dcmotor_setup.sci
@@ -0,0 +1,62 @@
+function cmd_dcmotor_setup(h,driver_type,motor_no,pin_no_1,pin_no_2)
+// Command to setup pins to control DC motor
+//
+// Calling Sequence
+// cmd_dcmotor_setup(h,driver_type,motor_no,pin_no_1,pin_no_2)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// driver_type : 1=Motorshield Rev3, 2=L298, 3=L293
+// motor_no : ID used to identify motor to be connected
+// pin_no_1 : Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.
+// pin_no_2 : Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.
+//
+// Description
+// Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+//
+// Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+// cmd_dcmotor_run(1,1,255)
+// sleep(1000)
+// cmd_dcmotor_run(1,1,-255)
+// sleep(1000)
+// cmd_dcmotor_release(1,1)
+// close_serial(1)
+
+// See also
+// cmd_dcmotor_run
+// cmd_dcmotor_release
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ disp("init DCmotor")
+ if(driver_type==1) then
+ //code_sent="91";
+ code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"1"; //adafruit
+ elseif (driver_type==2) then
+ code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"1"; //code pour initialiser L298
+ elseif (driver_type==3) then
+ code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"0"; //code pour initialiser L293
+ end
+
+ write_serial(h,code_sent,5)
+
+
+ //Attente que l'arduino reponde OK
+ [a,b,c]=status_serial(1);
+ while (b < 2)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,2);
+ if (values == 'OK') then
+ disp('Init motor successful')
+ else
+ disp('Init motor unsuccessful')
+ end
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_digital_in.bin b/scilab-arduino/tools/linux/macros/cmd_digital_in.bin
new file mode 100644
index 0000000..54acc83
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_digital_in.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_digital_in.sci b/scilab-arduino/tools/linux/macros/cmd_digital_in.sci
new file mode 100644
index 0000000..856cf24
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_digital_in.sci
@@ -0,0 +1,55 @@
+function values = cmd_digital_in(h,pin_no)
+// Command to read in digital signal from a connected Arduino board
+//
+// Calling Sequence
+// values = cmd_digital_in(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin to measure the signal
+//
+// Description
+// The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+//
+// To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// val = cmd_digital_in(1,2)
+// close_serial(1)
+//
+// See also
+// cmd_digital_out
+//
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+if isvector(pin_no)
+ for cnt = 1: size(pin_no,2)
+ pin="Da"+ascii(48+pin_no(cnt))+"0";
+ write_serial(h,pin,4);
+ pin="Dr"+ascii(48+pin_no(cnt));
+ write_serial(1,pin,3);
+ //binary transfer
+ [a,b,c]=status_serial(h);
+ while (b < 1)
+ [a,b,c]=status_serial(h);
+ end
+ values(cnt)=strtod(read_serial(h,1));
+ end
+else
+pin="Da"+ascii(48+pin_no)+"0";
+write_serial(h,pin,4);
+ pin="Dr"+ascii(48+pin_no);
+ write_serial(1,pin,3);
+ //binary transfer
+ [a,b,c]=status_serial(h);
+ while (b < 1)
+ [a,b,c]=status_serial(h);
+ end
+ values=strtod(read_serial(h,1));
+end
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_digital_out.bin b/scilab-arduino/tools/linux/macros/cmd_digital_out.bin
new file mode 100644
index 0000000..38359b4
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_digital_out.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_digital_out.sci b/scilab-arduino/tools/linux/macros/cmd_digital_out.sci
new file mode 100644
index 0000000..7cbd81f
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_digital_out.sci
@@ -0,0 +1,72 @@
+function cmd_digital_out(h,pin_no,val)
+// Command to sent out digital signal to a connected Arduino board
+//
+// Calling Sequence
+// cmd_digital_out(h,pin_no,val)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin to sent the signal
+// val : The value of 0 or 1 to be sent to the digital pins with. It is correspond to 0 and 5V
+//
+// Description
+// The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+//
+// To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_digital_out(1,13,0)
+// sleep(1000)
+// cmd_digital_out(1,13,1)
+// sleep(1000)
+// close_serial(1)
+//
+// See also
+// cmd_digital_in
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ if isvector(pin_no)
+
+ for cnt = 1: size(pin_no,2)
+ if size(pin_no) == size(val)
+ pin="Da"+ascii(48+pin_no(cnt))+"1";
+ write_serial(h,pin,4);
+ if val(cnt) > 0.5 then
+ val(cnt) = 1;
+ else
+ val(cnt) = 0;
+ end
+ pin="Dw"+ascii(48+pin_no(cnt))+string(val(cnt));
+ write_serial(h,pin,4);
+
+ else
+
+ pin="Da"+ascii(48+pin_no(cnt))+"1";
+ write_serial(h,pin,4);
+ if val > 0.5 then
+ val = 1;
+ else
+ val = 0;
+ end
+ pin="Dw"+ascii(48+pin_no(cnt))+string(val);
+ write_serial(h,pin,4);
+ end
+
+ end
+ else
+
+ pin="Da"+ascii(48+pin_no)+"1";
+ write_serial(h,pin,4);
+ if val > 0.5 then
+ val = 1;
+ else
+ val = 0;
+ end
+ pin="Dw"+ascii(48+pin_no)+string(val);
+ write_serial(h,pin,4);
+ end
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_encoder_init.bin b/scilab-arduino/tools/linux/macros/cmd_encoder_init.bin
new file mode 100644
index 0000000..a7f0722
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_encoder_init.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_encoder_init.sci b/scilab-arduino/tools/linux/macros/cmd_encoder_init.sci
new file mode 100644
index 0000000..13b5ccc
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_encoder_init.sci
@@ -0,0 +1,18 @@
+function cmd_encoder_init(h,enc_mode,pin_no_1,pin_no_2)
+
+
+ //Eajkl: activate encoder on channelA on INT number j (j=ascii(2 or 3 or 18 or 19 or 20 or 21) et channelB on pin k or INT number k (k=ascii(0)..ascii(53)) and l=1 or 2 or 4 for 1x mode (count every rising of chA) or 2x mode (count every change statement of chA) or 4x mode (every change statement of chA et chB)
+
+ code_sent="Ea"+ascii(0+corresp(block.rpar(3))); //on envoie plus le PIN mais le numéro d'interruption
+ if block.rpar(2)==4 then //mode4
+ code_sent=code_sent+ascii(0+corresp(block.rpar(4)))+string(block.rpar(2));// on envoie le num d'interruption
+ else//mode 1 ou 2
+ code_sent=code_sent+ascii(0+block.rpar(4))+string(block.rpar(2));//on envoie le num de PIN en mode 1x/2x
+ end
+
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,5)
+ code_sent="Ez"+ascii(corresp(block.rpar(3)));
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3)
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_servo_attach.bin b/scilab-arduino/tools/linux/macros/cmd_servo_attach.bin
new file mode 100644
index 0000000..b946f92
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_servo_attach.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_servo_attach.sci b/scilab-arduino/tools/linux/macros/cmd_servo_attach.sci
new file mode 100644
index 0000000..d6e3fcd
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_servo_attach.sci
@@ -0,0 +1,48 @@
+function cmd_servo_attach(h,servo_no)
+// Command to attach servo motor to Arduino
+//
+// Calling Sequence
+// cmd_servo_attach(h,servo_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// servo_no : 1=pin 9, 2=pin 10
+//
+// Description
+// A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+//
+// The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+//
+// A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_servo_attach(1,1)
+// sleep(1000)
+// cmd_servo_move(1,1,90)
+// sleep(1000)
+// cmd_servo_move(1,1,45)
+// sleep(1000)
+// cmd_servo_detach(1,1)
+// sleep(1000)
+// close_serial(1)
+//
+// See also
+// cmd_servo_move
+// cmd_servo_detach
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ disp("init servo write")
+ if servo_no==1 then //servo 1 on pin 9
+ pin="Sa1"
+ write_serial(h,pin,3);
+ elseif servo_no==2 then //servo 2 on pin 10
+ pin="Sa2"
+ write_serial(h,pin,3);
+ else
+ error('Error')
+ end
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_servo_detach.bin b/scilab-arduino/tools/linux/macros/cmd_servo_detach.bin
new file mode 100644
index 0000000..29b08af
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_servo_detach.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_servo_detach.sci b/scilab-arduino/tools/linux/macros/cmd_servo_detach.sci
new file mode 100644
index 0000000..f6ac511
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_servo_detach.sci
@@ -0,0 +1,47 @@
+function cmd_servo_detach(h,servo_no)
+// Command to release the pin which has been setup for servo motor
+//
+// Calling Sequence
+// cmd_servo_detach(h,servo_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// servo_no : 1=pin 9, 2=pin 10
+//
+// Description
+// A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+//
+// The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+//
+// A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_servo_attach(1,1)
+// sleep(1000)
+// cmd_servo_move(1,1,90)
+// sleep(1000)
+// cmd_servo_move(1,1,45)
+// sleep(1000)
+// cmd_servo_detach(1,1)
+// sleep(1000)
+// close_serial(1)
+//
+// See also
+// cmd_servo_setup
+// cmd_servo_move
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ if servo_no==1 then //servo 1 on pin 10
+ pin="Sd1"
+ write_serial(h,pin,3);
+ elseif servo_no==2 then //servo 2 on pin 9
+ pin="Sd2"
+ write_serial(h,pin,3);
+ else
+ error('Error')
+ end
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/cmd_servo_move.bin b/scilab-arduino/tools/linux/macros/cmd_servo_move.bin
new file mode 100644
index 0000000..357a788
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_servo_move.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/cmd_servo_move.sci b/scilab-arduino/tools/linux/macros/cmd_servo_move.sci
new file mode 100644
index 0000000..83309e1
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/cmd_servo_move.sci
@@ -0,0 +1,47 @@
+function cmd_servo_move(h,servo_no,u1)
+// Command to run servo motor which has been setup
+//
+// Calling Sequence
+// cmd_servo_move(h,servo_no,u1)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// servo_no : 1=pin 9, 2=pin 10
+// u1 : 0 - 180 degree
+//
+// Description
+// A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+//
+// The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+//
+// A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_servo_attach(1,1)
+// sleep(1000)
+// cmd_servo_move(1,1,90)
+// sleep(1000)
+// cmd_servo_move(1,1,45)
+// sleep(1000)
+// cmd_servo_detach(1,1)
+// sleep(1000)
+// close_serial(1)
+//
+// See also
+// cmd_servo_setup
+// cmd_servo_detach
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ if (u1<0) then
+ pin="Sw"+ascii(48+servo_no)+ascii(0);
+ elseif u1>180 then
+ pin="Sw"+ascii(48+servo_no)+ascii(180);
+ else
+ pin="Sw"+ascii(48+servo_no)+ascii(uint8(u1));
+ end
+ write_serial(1,pin,4);
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/genhelpscript.sce b/scilab-arduino/tools/linux/macros/genhelpscript.sce
new file mode 100644
index 0000000..1220178
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/genhelpscript.sce
@@ -0,0 +1,18 @@
+help_from_sci('macros\cmd_analog_in.sci','help\en_US')
+help_from_sci('macros\cmd_analog_in_volt.sci','help\en_US')
+help_from_sci('macros\cmd_analog_out.sci','help\en_US')
+help_from_sci('macros\cmd_analog_out_volt.sci','help\en_US')
+help_from_sci('macros\cmd_arduino_a_control.sci','help\en_US')
+help_from_sci('macros\cmd_arduino_d_control.sci','help\en_US')
+help_from_sci('macros\cmd_arduino_meter.sci','help\en_US')
+help_from_sci('macros\cmd_dcmotor_release.sci','help\en_US')
+help_from_sci('macros\cmd_dcmotor_run.sci','help\en_US')
+help_from_sci('macros\cmd_dcmotor_setup.sci','help\en_US')
+help_from_sci('macros\cmd_digital_in.sci','help\en_US')
+help_from_sci('macros\cmd_digital_out.sci','help\en_US')
+help_from_sci('macros\cmd_servo_attach.sci','help\en_US')
+help_from_sci('macros\cmd_servo_detach.sci','help\en_US')
+help_from_sci('macros\cmd_servo_move.sci','help\en_US')
+help_from_sci('macros\open_serial.sci','help\en_US')
+help_from_sci('macros\close_serial.sci','help\en_US')
+
diff --git a/scilab-arduino/tools/linux/macros/getArduinoVersion.bin b/scilab-arduino/tools/linux/macros/getArduinoVersion.bin
new file mode 100644
index 0000000..c64a686
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/getArduinoVersion.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/getArduinoVersion.sci b/scilab-arduino/tools/linux/macros/getArduinoVersion.sci
new file mode 100644
index 0000000..f655812
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/getArduinoVersion.sci
@@ -0,0 +1,15 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab Enterprises - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function arduinoVersion = getArduinoVersion()
+ arduinoVersion = "1.1"
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/init_arduino.bin b/scilab-arduino/tools/linux/macros/init_arduino.bin
new file mode 100644
index 0000000..cc1c4f4
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/init_arduino.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/init_arduino.sci b/scilab-arduino/tools/linux/macros/init_arduino.sci
new file mode 100644
index 0000000..634ece8
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/init_arduino.sci
@@ -0,0 +1,177 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2010 - DIGITEO -
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+
+
+function []=init_arduino(scs_m, needcompile)
+ disp("Initialisation Arduino...");
+ scs=[]
+ // On recopie le scs_m
+ scs=scs_m;
+ // Retrieve all objects
+ objs = scs_m.objs;
+
+ nombre_blocs=0; //Nombre de blocs dans le diagramme
+ nombre_liens=0; //Nombre de lien dans le diagramme
+ nb_arduino=0; //nombre de cartes arduino
+ port_com_arduino=[]; //numero des ports com associes a chaque carte arduino
+
+ //liste des types de blocs arduino
+ list_arduino_gui=["ARDUINO_DIGITAL_WRITE","ARDUINO_DIGITAL_READ","ARDUINO_ANALOG_WRITE","ARDUINO_ANALOG_READ","ARDUINO_DCMOTOR","ARDUINO_SERVO_WRITE","ARDUINO_SERVO_READ","ARDUINO_STEPPER","ARDUINO_ENCODER"];
+ //initialisation des tableaux utilisés pour stocker les pin et type des blocs du schéma
+ nb_block_by_type=[]
+ arduino_pin_by_typeblock=cell(size(list_arduino_gui,2),1)
+ for i=1:size(list_arduino_gui,2)
+ nb_block_by_type($+1)=0;
+ arduino_pin_by_typeblock(i).entries=[];
+ end
+
+ //Récupère le nombre de blocs dans le modèle
+ for i=1:size(objs)
+ if typeof(objs(i))=='Block' then
+ nombre_blocs=nombre_blocs+1;
+ end
+ end
+
+ // Passe en revue tous les blocs pour relever dans des tableaux chacun des types de blocs
+ for i=1:nombre_blocs
+ if objs(i).gui=="ARDUINO_SETUP" then nb_arduino=nb_arduino+1;
+ port_com_arduino(objs(i).model.rpar(1))=objs(i).model.rpar(2); //on stocke le numero du com de la carte numerotée dans le bloc
+ end
+ //pour chaque bloc on releve le pin indiqué et on le stocke dans la catégorie correspondante
+ rep=find(objs(i).gui==list_arduino_gui);
+ if ~isempty(rep) then
+ nb_block_by_type(rep)=nb_block_by_type(rep)+1;
+ arduino_pin_by_typeblock(rep).entries($+1)=objs(i).model.rpar(1);
+ end
+ end
+
+ //initialisation des ports_com
+ //TODO : ouvrir plusieurs ports_com en fonction du numero de carte
+ global port_com
+ try
+ i=1;
+ //port_com=openserial(port_com_arduino(i),"115200,n,8,1"); //ouverture du port com de la carte i
+ open_serial(i,port_com_arduino(i),115200); //ouverture du port COM de l'arduino i
+ disp("communication with card "+string(i)+" on com "+string(port_com_arduino(i))+" is ok")
+
+ sleep(2000)
+ catch
+ messagebox("Mauvais port de communication.")
+ error('Mauvais port de communication.')
+ end
+ //configuration des Pin Pout
+ try
+ //mise a zero programme arduino
+ //writeserial(port_com,ascii(201)+ascii(201));
+ write_serial(1,ascii(201)+ascii(201),2); // utilité ?
+
+ for j=1:size(list_arduino_gui,2)
+ disp(list_arduino_gui(j))
+ for i=arduino_pin_by_typeblock(j).entries
+
+ if list_arduino_gui(j)=="ARDUINO_DIGITAL_WRITE" then
+ pin="0"+ascii(97+i)+"1"; // élaboration du string à envoyer pour initialiser le pin
+ //writeserial(port_com,pin); // envoyer le string
+ write_serial(1,pin,3);
+ end
+ if list_arduino_gui(j)=="ARDUINO_DIGITAL_READ" then
+ pin="0"+ascii(97+i)+"0";
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ end
+ if list_arduino_gui(j)=="ARDUINO_ANALOG_WRITE" then
+ pin="0"+ascii(97+i)+"1";
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ end
+ if list_arduino_gui(j)=="ARDUINO_ANALOG_READ" then
+ if i~=0 & i~=1 then
+ pin="0"+ascii(97+i)+"0";
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ end
+ end
+ if list_arduino_gui(j)=="ARDUINO_DCMOTOR" then
+ disp("motor")
+ code_sent="92";
+ //writeserial(port_com,code_sent);
+ write_serial(1,pin,2);
+ end
+ if list_arduino_gui(j)=="ARDUINO_STEPPER" then
+
+ end
+ if list_arduino_gui(j)=="ARDUINO_SERVO_WRITE" then
+ if i==1 then //servo 1 on pin 10
+ pin="6a1"
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ elseif i==2 then //servo 2 on pin 9
+ pin="6b1"
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ messagebox("Probleme dans le numero du servomoteur")
+ error('problem')
+ end
+ disp(pin)
+ end
+ if list_arduino_gui(j)=="ARDUINO_SERVO_READ" then
+ if i==1 then //servo 1 on pin 10
+ pin="6a1"
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ elseif i==2 then //servo 2 on pin 9
+ pin="6b1"
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ messagebox("Probleme dans le numero du servomoteur")
+ error('problem')
+ end
+ disp(pin)
+ end
+ if list_arduino_gui(j)=="ARDUINO_ENCODER" then
+ code_sent="E"+string(i)+"a"
+ disp(code_sent)
+ //writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3);
+ end
+ end
+ end
+ catch
+ error('Mauvais port de communication.')
+ end
+
+ disp("Initialisation terminee")
+
+endfunction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scilab-arduino/tools/linux/macros/lib b/scilab-arduino/tools/linux/macros/lib
new file mode 100644
index 0000000..5dfe47f
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/lib
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/names b/scilab-arduino/tools/linux/macros/names
new file mode 100644
index 0000000..aa0bf80
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/names
@@ -0,0 +1,66 @@
+ANALOG_READ_SB
+ANALOG_WRITE_SB
+ARDUINO_ANALOG_READ
+ARDUINO_ANALOG_READ_sim
+ARDUINO_ANALOG_WRITE
+ARDUINO_ANALOG_WRITE_sim
+ARDUINO_DCMOTOR
+ARDUINO_DCMOTOR_sim
+ARDUINO_DIGITAL_READ
+ARDUINO_DIGITAL_READ_sim
+ARDUINO_DIGITAL_WRITE
+ARDUINO_DIG_WRITE_sim
+ARDUINO_ENCODER
+ARDUINO_ENCODER_sim
+ARDUINO_INTERRUPT
+ARDUINO_INTERRUPT_sim
+ARDUINO_PMODHB5
+ARDUINO_PMODHB5_WRITE_sim
+ARDUINO_SCOPE
+ARDUINO_SERVO_READ
+ARDUINO_SERVO_READ_sim
+ARDUINO_SERVO_WRITE
+ARDUINO_SERVO_WRITE_sim
+ARDUINO_SETUP
+ARDUINO_STEPPER
+ARDUINO_STEPPER_sim
+ARDUINO_WRITE
+ARDUINO_WRITE_sim
+ARDUINO_post_simulate
+ARDUINO_pre_simulate
+DCMOTOR_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
+ENCODER_SB
+INTERRUPT_SB
+SERVO_READ_SB
+SERVO_WRITE_SB
+STEPPER_SB
+TIME_SAMPLE
+close_serial
+cmd_analog_in
+cmd_analog_in_volt
+cmd_analog_out
+cmd_analog_out_volt
+cmd_arduino_a_control
+cmd_arduino_d_control
+cmd_arduino_meter
+cmd_dcmotor_release
+cmd_dcmotor_run
+cmd_dcmotor_setup
+cmd_digital_in
+cmd_digital_out
+cmd_encoder_init
+cmd_servo_attach
+cmd_servo_detach
+cmd_servo_move
+getArduinoVersion
+init_arduino
+nicescope
+open_serial
+post_xcos_simulate
+pre_xcos_simulate
+read_serial
+status_serial
+tkscaleblk
+write_serial
diff --git a/scilab-arduino/tools/linux/macros/nicescope.bin b/scilab-arduino/tools/linux/macros/nicescope.bin
new file mode 100644
index 0000000..ca66c69
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/nicescope.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/nicescope.sci b/scilab-arduino/tools/linux/macros/nicescope.sci
new file mode 100644
index 0000000..0e1c5c0
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/nicescope.sci
@@ -0,0 +1,69 @@
+function []=nicescope()
+
+// On ajuste la vues sur les scopes
+ list_fig=winsid(); // On récupere les numéros des figure
+
+ for i=1:length(list_fig)
+ h=get_figure_handle(list_fig(i));
+ scf(h);
+ //En cas de simulation param_var
+ if (h.tag=="todemux") then
+ legendtxt=h.children(1).children(1).text; //sauvegarde de la légende
+ nb_compound=length(h.children(1).children)-1;
+ for j=nb_compound+1:-1:2
+ unglue(h.children(1).children($));
+ end
+ for j=1:nb_compound-1
+ swap_handles(h.children(1).children(2*(nb_compound-j)),h.children(1).children(2*(nb_compound)-j));
+ end
+ legend(legendtxt);
+ h.tag="nodemux";
+ end
+ if (h.tag=="") then //nicescope classique
+ for j=1:length(h.children)
+ if h.children(j) <> [] & h.children(j).type == "Axes"
+ if h.children(j).children <> [] & ~isempty(find(h.children(j).children.type == "Polyline"))
+ if(length(h.children(j).children)==1 & h.children(j).children(1).type == "Polyline") then
+ xmin=min(h.children(j).children.data(:,1))
+ xmax=max(h.children(j).children.data(:,1))
+ ymax=max(h.children(j).children.data(:,2))*1.1
+ ymin=min(h.children(j).children.data(:,2))
+ // text_legend='Courbe 1';
+ // legend(text_legend)
+ else
+ xmin=1e8;
+ xmax=-1e8;
+ ymin=1e8;
+ ymax=-1e8;
+ text_legend=[]
+ nb_polylines=0;
+ for k=1:length(h.children(j).children)
+ if h.children(j).children(k).type == "Polyline" then
+ nb_polylines=nb_polylines+1;
+ xmin=min(xmin,min(h.children(j).children(k).data(:,1)))
+ xmax=max(xmax,max(h.children(j).children(k).data(:,1)))
+ ymin=min(ymin,min(h.children(j).children(k).data(:,2)))
+ ymax=max(ymax,max(h.children(j).children(k).data(:,2))*1.1)
+ text_legend($+1)='Courbe '+string(nb_polylines);
+ end
+ end
+ if nb_polylines==length(h.children(j).children) then
+ legend(text_legend)
+ end
+
+ end
+ if ymin<0 then ymin=ymin*1.2;
+ elseif ymin==0 then ymin=ymin-ymax*0.05*sign(ymax);
+ elseif ymin>0 then ymin=ymin*0.9;
+ end
+ //création des nouvelles valeurs extrèmes et tracé réactualisé
+ rect=[xmin,ymin,xmax,ymax]
+ replot(rect,h.children(j))
+ end
+ end
+ end
+ end
+ end
+
+endfunction
+
diff --git a/scilab-arduino/tools/linux/macros/open_serial.bin b/scilab-arduino/tools/linux/macros/open_serial.bin
new file mode 100644
index 0000000..05c1c6d
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/open_serial.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/open_serial.sci b/scilab-arduino/tools/linux/macros/open_serial.sci
new file mode 100644
index 0000000..980e852
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/open_serial.sci
@@ -0,0 +1,38 @@
+//
+// This file is part of Arduino toolbox
+// Copyright (C) 2012-2012 - DEMOSCIENCES - Alain CAIGNOT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+function res=open_serial(nHandle, nPort,baudrate)
+// Command to initialize the serial port which is connected to Arduino
+//
+// Calling Sequence
+// res=open_serial(nHandle, nPort,baudrate)
+//
+// Parameters
+// nHandle : Board number, reserved for future use. For this version, any number would do
+// nPort : Com port in which the Arduino is connected to
+// baudrate : baudrate for the serial comminication
+// res : 0 if the connection is successful, else the connection fail
+//
+// Description
+// To connect to the Arduino board. To check the port number, do to the device manager or check it from the Arduino software
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// close_serial(1)
+//
+// See also
+// close_serial
+//
+// Authors
+// Bruno JOFRET
+
+ res=call("open_serial",nHandle,1,"i",nPort,2,"i",baudrate,3,"i","out",[1,1],4,"i")
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/post_xcos_simulate.bin b/scilab-arduino/tools/linux/macros/post_xcos_simulate.bin
new file mode 100644
index 0000000..0bc883d
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/post_xcos_simulate.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/post_xcos_simulate.sci b/scilab-arduino/tools/linux/macros/post_xcos_simulate.sci
new file mode 100644
index 0000000..c298070
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/post_xcos_simulate.sci
@@ -0,0 +1,97 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function []=post_xcos_simulate(%cpr, scs_m, needcompile)
+ global port_com port_TCL;
+
+ callXcos_Param_Var=%f //Définit s'il faut appeler la fonction de variation paramètrique
+ callXcos_Param_Freq = %f;
+ callRep_freq = %f; // Lance la fonction de tracés des réponses fréquentielles.
+ presence_param_var=%f // indique la présence d'un bloc param_var
+ presence_rep_freq=%f //idem pour rep freq
+ presence_imprimante=%f //indique la presence d'un bloc imprimante
+ presence_bloc_end=%f //indique la presence d'un bloc END (pour faire une reponse temporelle)
+ presence_scope=%f //indique la presence d'un bloc scope personnalisé
+ presence_rep_temp=%f //indique la presence d'un bloc pour faire une reponse temporelle
+ presence_irep_temp=%f //indique la presence d'un bloc pour faire une reponse temporelle IREP TEMP
+ presence_arduino=%f //indique la presence d'un bloc pour faire une reponse temporelle ARDUINO
+
+ for i = 1:size(scs_m.objs)
+ curObj= scs_m.objs(i);
+ if (typeof(curObj) == "Block" & curObj.gui == "PARAM_VAR")
+ presence_param_var=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "REP_FREQ")
+ presence_rep_freq=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "IMPRIMANTE")
+ disp("ok post")
+ presence_imprimante=%t
+ values= "P" + ascii(0) + ascii(0)
+ writeserial(port_TCL,values);
+ sleep(100)
+ values= "P" + ascii(0) + ascii(0)
+ writeserial(port_TCL,values);
+ sleep(100)
+ closeserial(port_TCL);
+ elseif (typeof(curObj) == "Block" & curObj.gui == "ENDBLK")
+ presence_bloc_end=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "REP_TEMP")
+ presence_rep_temp=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "SCOPE")
+ presence_scope=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "IREP_TEMP") then
+ presence_irep_temp=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SETUP") then
+ presence_arduino=%t
+ end
+ end
+
+ if presence_arduino then
+ ARDUINO_post_simulate(scs_m)
+ return
+ end
+
+ if presence_irep_temp then
+ SIMM_post_simulate(scs_m)
+ return
+ end
+
+ if presence_rep_temp then
+ REP_TEMP_post_simulate(scs_m);
+ end
+
+ if presence_param_var & ~presence_rep_freq
+ callXcos_Param_Var = %t;
+ end
+
+ if presence_param_var & presence_rep_freq
+ callXcos_Param_Freq = %t;
+ end
+
+ if ~presence_param_var & presence_rep_freq
+ callRep_freq = %t;
+ end
+
+ if ~presence_scope & ~presence_rep_freq then
+ // On ajuste les scopes
+ nicescope()
+ end
+
+ if presence_rep_freq & ~presence_param_var
+ REP_FREQ_pre_simulate(scs_m, needcompile);
+ end
+
+if presence_imprimante==%t then
+ //global inc;
+ //PIC_end_of_simul() //deconnexion prealable du port serie au cas où.
+end
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/pre_xcos_simulate.bin b/scilab-arduino/tools/linux/macros/pre_xcos_simulate.bin
new file mode 100644
index 0000000..e7747fa
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/pre_xcos_simulate.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/pre_xcos_simulate.sci b/scilab-arduino/tools/linux/macros/pre_xcos_simulate.sci
new file mode 100644
index 0000000..0dd432b
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/pre_xcos_simulate.sci
@@ -0,0 +1,117 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+ global port_com port_TCL taskAI0 bufferSizeNI;
+
+function continueSimulation=pre_xcos_simulate(scs_m, needcompile)
+ global port_com port_TCL taskAI0;
+
+ continueSimulation = %t;
+ callXcos_Param_Var=%f //Définit s'il faut appeler la fonction de variation paramètrique
+ callXcos_Param_Freq = %f;
+ callRep_freq = %f;
+ presence_param_var=%f // indique la présence d'un bloc param_var
+ presence_rep_freq=%f //idem pour rep freq
+ presence_imprimante=%f //indique la presence d'un bloc imprimante
+ presence_bloc_end=%f //indique la presence d'un bloc END (pour faire une reponse temporelle)
+ presence_rep_temp=%f //indique la presence d'un bloc pour faire une reponse temporelle
+ presence_irep_temp=%f //indique la presence d'un bloc pour faire une reponse temporelle avec SIMM
+ presence_scope=%f //indique la presence d'un bloc scope personnalisé
+ presence_arduino=%f //indique la presence d'un bloc arduino setup
+ presence_NI600X=%f //indique la presence d'un bloc NI600X
+
+ for i = 1:size(scs_m.objs)
+ curObj= scs_m.objs(i);
+ if (typeof(curObj) == "Block" & curObj.gui == "PARAM_VAR")
+ presence_param_var=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "REP_FREQ")
+ presence_rep_freq=%t
+ //freq_temp_analysis=curObj.model.rpar(5);
+ elseif (typeof(curObj) == "Block" & curObj.gui == "IMPRIMANTE")
+ presence_imprimante=%t
+ block_imprimante=curObj;
+ scs_m.props.tol(5)=1;
+ elseif (typeof(curObj) == "Block" & curObj.gui == "ENDBLK")
+ presence_bloc_end=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "REP_TEMP")
+ presence_rep_temp=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SETUP")
+ presence_arduino=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "IREP_TEMP")
+ presence_irep_temp=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "SCOPE")
+ presence_scope=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "NI600X_C_READ")
+ presence_NI600X=%t
+ block_NI600X=curObj;
+ scs_m.props.tol(5)=1;
+ end
+ end
+
+if presence_NI600X then
+ init_NI(block_NI600X);
+end
+
+ if presence_imprimante==%t then
+ continueSimulation=init_imprimante(block_imprimante)
+ end
+
+ if presence_arduino==%t then
+ scs_m=ARDUINO_pre_simulate(scs_m);
+ continueSimulation = %t;
+ scs_m=resume(scs_m)
+ return;
+ end
+
+if ~presence_rep_freq then
+ if (~presence_rep_temp & presence_scope )
+ message("Insérer un bloc REP_TEMP si vous souhaitez faire une analyse temporelle avec un ou plusieurs bloc(s) SCOPE")
+ continueSimulation = %f;
+ return ;
+ end
+end
+
+ if presence_rep_temp then
+ scs_m=REP_TEMP_pre_simulate(scs_m);
+ continueSimulation = %t;
+ end
+
+ if presence_irep_temp then
+ scs_m=SIMM_pre_simulate(scs_m);
+ continueSimulation = %t;
+// scs_m=resume(scs_m)
+// return;
+ end
+
+
+ if presence_param_var & ~presence_rep_freq then
+ continueSimulation=Param_Temp_pre_simulate(scs_m,needcompile);
+ end
+
+ if presence_param_var & presence_rep_freq then
+ if presence_rep_temp then
+ continueSimulation=Param_Temp_pre_simulate(scs_m,needcompile);
+ end
+ Param_Freq_pre_simulate(scs_m, needcompile);
+ continueSimulation = %f; //pour ne pas avoir un 2ème affichage : les scopes sont gérés par le Param_Var_pre_simulate
+ end
+
+ if presence_rep_freq & presence_scope & ~presence_rep_temp & ~presence_param_var then
+ disp('Simulation time set to 0')
+ scs_m.props.tf=0;
+ //Param_Freq_pre_simulate(scs_m, needcompile);
+ continueSimulation = %t;
+ end
+
+scs_m=resume(scs_m)
+
+
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/read_serial.bin b/scilab-arduino/tools/linux/macros/read_serial.bin
new file mode 100644
index 0000000..aeacf76
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/read_serial.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/read_serial.sci b/scilab-arduino/tools/linux/macros/read_serial.sci
new file mode 100644
index 0000000..c095320
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/read_serial.sci
@@ -0,0 +1,14 @@
+//
+// This file is part of Arduino toolbox
+// Copyright (C) 2012-2012 - DEMOSCIENCES - Alain CAIGNOT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+function res=read_serial(nHandle,sz)
+ res=call("read_serial",nHandle,1,"i",sz,3,"i","out",[sz,1],2,"c")
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/status_serial.bin b/scilab-arduino/tools/linux/macros/status_serial.bin
new file mode 100644
index 0000000..adc7737
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/status_serial.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/status_serial.sci b/scilab-arduino/tools/linux/macros/status_serial.sci
new file mode 100644
index 0000000..ebeeafb
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/status_serial.sci
@@ -0,0 +1,14 @@
+//
+// This file is part of Arduino toolbox
+// Copyright (C) 2012-2012 - DEMOSCIENCES - Alain CAIGNOT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+function [a,b,c]=status_serial(nHandle)
+ [a,b,c]=call("status_serial",nHandle,1,"i","out",[1,1],2,"i",[1,1],3,"i",[1,1],4,"i")
+endfunction
diff --git a/scilab-arduino/tools/linux/macros/tkscaleblk.bin b/scilab-arduino/tools/linux/macros/tkscaleblk.bin
new file mode 100644
index 0000000..28477f0
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/tkscaleblk.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/tkscaleblk.sci b/scilab-arduino/tools/linux/macros/tkscaleblk.sci
new file mode 100644
index 0000000..f1a480c
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/tkscaleblk.sci
@@ -0,0 +1,109 @@
+// Scicos
+//
+// Copyright (C) DIGITEO - Clément DAVID <clement.david@scilab.org>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// See the file ../license.txt
+//
+
+function block=tkscaleblk(block,flag)
+ if flag == 1 then
+ // Output update
+ slider = get(block.uid + "#slider");
+
+ if slider <> [] then
+ // calculate real value
+ //value = (block.rpar(1) + block.rpar(2) - get(slider,"value")) / block.rpar(3);
+ value = (get(slider,"value")) / block.rpar(3);
+ w = get(block.uid);
+ if w <> [] then
+ set(w, "info_message", string(value));
+ end
+
+ block.outptr(1) = value;
+ end
+ elseif flag == 4 then
+ // Initialization
+
+ // if already exists (stopped) then reuse
+ f = get(block.uid);
+ if f <> [] then
+ return;
+ end
+
+ f = figure("Figure_name", "TK Source: " + block.label, ...
+ "dockable", "off", ...
+ "infobar_visible" , "on", ...
+ "toolbar", "none", ...
+ "menubar_visible", "off", ...
+ "menubar", "none", ...
+ "backgroundcolor", [1 1 1], ...
+ "default_axes", "off", ...
+ "figure_size", [180 350], ...
+ "layout", "border", ...
+ "figure_position", [40 40], ...
+ "Tag", block.uid);
+
+ frame_slider = uicontrol(f, ...
+ "style", "frame", ...
+ "constraints", createConstraints("border", "left", [180, 0]), ...
+ "border", createBorder("line", "lightGray", 1), ...
+ "backgroundcolor", [1 1 1], ...
+ "layout", "gridbag");
+
+ // slider
+ bounds = block.rpar(1:2);
+ initial = mean(bounds);
+ uicontrol(frame_slider, ...
+ "Style", "slider", ...
+ "Tag", block.uid + "#slider", ...
+ "Min", bounds(1), ...
+ "Max", bounds(2), ...
+ "Value", initial, ...
+ "Position", [0 0 10 20], ...
+ "SliderStep", [block.rpar(3) 2*block.rpar(3)]);
+
+ frame_label = uicontrol(frame_slider, ...
+ "style", "frame", ...
+ "constraints", createConstraints("border", "right"), ...
+ "backgroundcolor", [1 1 1], ...
+ "layout", "gridbag");
+
+ // labels
+ labels = string([bounds(2) ; ...
+ mean([bounds(2) initial]) ; ...
+ initial ; ...
+ mean([bounds(1) initial]) ; ...
+ bounds(1)]);
+ labels = "<html>" + strcat(labels, "<br /><br /><br />") + "</html>";
+
+ uicontrol(frame_label, ...
+ "Style", "text", ...
+ "String", labels(1), ...
+ "FontWeight", "bold", ...
+ "backgroundcolor", [1 1 1]);
+
+ // update default value
+ block.outptr(1) = initial / block.rpar(3);
+ elseif flag == 5 then
+ // Ending
+ f = get(block.uid);
+ if f <> [] then
+ close(f);
+ end
+ end
+endfunction
+
diff --git a/scilab-arduino/tools/linux/macros/write_serial.bin b/scilab-arduino/tools/linux/macros/write_serial.bin
new file mode 100644
index 0000000..7f6f083
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/write_serial.bin
Binary files differ
diff --git a/scilab-arduino/tools/linux/macros/write_serial.sci b/scilab-arduino/tools/linux/macros/write_serial.sci
new file mode 100644
index 0000000..bebc6b9
--- /dev/null
+++ b/scilab-arduino/tools/linux/macros/write_serial.sci
@@ -0,0 +1,14 @@
+//
+// This file is part of Arduino toolbox
+// Copyright (C) 2012-2012 - DEMOSCIENCES - Alain CAIGNOT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+function res=write_serial(nHandle,str,nb)
+ res=call("write_serial",nHandle,1,"i",str,2,"c",nb,3,"i","out",[1,1],4,"i")
+endfunction
diff --git a/scilab-arduino/tools/linux/src b/scilab-arduino/tools/linux/src
new file mode 160000
+Subproject 5d0025f32974ac5a5cdeeac63e3ca6092ec1b4d
diff --git a/scilab-arduino/tools/linux/unloader.sce b/scilab-arduino/tools/linux/unloader.sce
new file mode 100644
index 0000000..68348a7
--- /dev/null
+++ b/scilab-arduino/tools/linux/unloader.sce
@@ -0,0 +1,14 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+// Generated by builder.sce: Please, do not edit this file
+
+try
+ getversion("scilab");
+catch
+ error("Scilab 5.4 or more is required.");
+end;
+
+fileQuit = get_absolute_file_path("unloader.sce") + "etc/" + "arduino.quit";
+if isfile(fileQuit) then
+ exec(fileQuit);
+end
+
diff --git a/scilab-arduino/tools/shield/Part list for shield.docx b/scilab-arduino/tools/shield/Part list for shield.docx
new file mode 100644
index 0000000..809b8c2
--- /dev/null
+++ b/scilab-arduino/tools/shield/Part list for shield.docx
Binary files differ
diff --git a/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.cmp b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.cmp
new file mode 100644
index 0000000..09ce215
--- /dev/null
+++ b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.cmp
@@ -0,0 +1,331 @@
+G75*
+%MOIN*%
+%OFA0B0*%
+%FSLAX24Y24*%
+%IPPOS*%
+%LPD*%
+%AMOC8*
+5,1,8,0,0,1.08239X$1,22.5*
+%
+%ADD10C,0.0600*%
+%ADD11OC8,0.0520*%
+%ADD12C,0.0515*%
+%ADD13R,0.0515X0.0515*%
+%ADD14C,0.0760*%
+%ADD15R,0.1500X0.1500*%
+%ADD16C,0.0397*%
+%ADD17C,0.0660*%
+%ADD18C,0.0551*%
+%ADD19C,0.0705*%
+%ADD20OC8,0.0760*%
+%ADD21C,0.0560*%
+%ADD22C,0.0240*%
+%ADD23C,0.0160*%
+%ADD24C,0.0472*%
+%ADD25C,0.0356*%
+%ADD26C,0.0320*%
+D10*
+X013350Y001270D02*
+X013350Y001870D01*
+X014350Y001870D02*
+X014350Y001270D01*
+X015350Y001270D02*
+X015350Y001870D01*
+X016350Y001870D02*
+X016350Y001270D01*
+X017350Y001270D02*
+X017350Y001870D01*
+X018350Y001870D02*
+X018350Y001270D01*
+X020400Y001220D02*
+X020400Y001820D01*
+X021400Y001820D02*
+X021400Y001220D01*
+X022400Y001220D02*
+X022400Y001820D01*
+X023400Y001820D02*
+X023400Y001220D01*
+X024400Y001220D02*
+X024400Y001820D01*
+X025400Y001820D02*
+X025400Y001220D01*
+X008790Y014340D02*
+X008790Y014940D01*
+X007010Y014940D02*
+X007010Y014340D01*
+X007010Y016900D02*
+X007010Y017500D01*
+X008790Y017500D02*
+X008790Y016900D01*
+X009800Y020220D02*
+X009800Y020820D01*
+X010800Y020820D02*
+X010800Y020220D01*
+X011800Y020220D02*
+X011800Y020820D01*
+X012800Y020820D02*
+X012800Y020220D01*
+X013800Y020220D02*
+X013800Y020820D01*
+X014800Y020820D02*
+X014800Y020220D01*
+X015800Y020220D02*
+X015800Y020820D01*
+X016800Y020820D02*
+X016800Y020220D01*
+X018350Y020220D02*
+X018350Y020820D01*
+X019350Y020820D02*
+X019350Y020220D01*
+X020350Y020220D02*
+X020350Y020820D01*
+X021350Y020820D02*
+X021350Y020220D01*
+X022350Y020220D02*
+X022350Y020820D01*
+X023350Y020820D02*
+X023350Y020220D01*
+X024350Y020220D02*
+X024350Y020820D01*
+X025350Y020820D02*
+X025350Y020220D01*
+D11*
+X023350Y018270D03*
+X019350Y018270D03*
+X017500Y017120D03*
+X017000Y017870D03*
+X016500Y017120D03*
+X013800Y016670D03*
+X013800Y017720D03*
+X013800Y018820D03*
+X009800Y018820D03*
+X009800Y017720D03*
+X009800Y016670D03*
+X011650Y012720D03*
+X011650Y011520D03*
+X011650Y010320D03*
+X011650Y009120D03*
+X007650Y009120D03*
+X007650Y010320D03*
+X007650Y011520D03*
+X007650Y012720D03*
+X004800Y007170D03*
+X004800Y005170D03*
+D12*
+X006700Y020320D03*
+X007450Y020320D03*
+X008950Y020320D03*
+D13*
+X008200Y020320D03*
+D14*
+X008516Y006270D03*
+X009500Y006270D03*
+X010484Y006270D03*
+D15*
+X011272Y003514D03*
+X007728Y003514D03*
+D16*
+X005498Y002670D02*
+X005102Y002670D01*
+X005102Y001920D02*
+X005498Y001920D01*
+X005498Y001170D02*
+X005102Y001170D01*
+D17*
+X017250Y011370D03*
+X019250Y012670D03*
+X021250Y012670D03*
+X021250Y011370D03*
+X021250Y015670D03*
+X021250Y016670D03*
+X019250Y016670D03*
+X019250Y015670D03*
+D18*
+X005400Y010020D03*
+X004400Y010020D03*
+D19*
+X023440Y012251D02*
+X024145Y012251D01*
+X024145Y014220D02*
+X023440Y014220D01*
+X023440Y016189D02*
+X024145Y016189D01*
+D20*
+X015400Y014904D03*
+X015400Y012936D03*
+D21*
+X025720Y010320D02*
+X026280Y010320D01*
+X026280Y009320D02*
+X025720Y009320D01*
+X025720Y008320D02*
+X026280Y008320D01*
+D22*
+X004850Y001170D02*
+X004400Y001620D01*
+X004400Y004770D01*
+X004800Y005170D01*
+X005950Y006320D01*
+X008300Y006320D01*
+X008350Y006270D01*
+X008516Y006270D01*
+X009500Y006270D02*
+X009500Y007320D01*
+X009900Y007720D01*
+X018400Y007720D01*
+X022400Y003720D01*
+X022400Y001520D01*
+X023400Y001520D02*
+X023400Y003520D01*
+X023100Y003820D01*
+X024400Y003820D02*
+X018500Y009720D01*
+X008300Y009720D01*
+X007650Y009120D01*
+X007500Y008970D01*
+X007500Y007720D01*
+X006950Y007170D01*
+X004800Y007170D01*
+X004100Y005320D02*
+X004250Y005170D01*
+X004800Y005170D01*
+X004100Y005320D02*
+X004100Y009720D01*
+X004400Y010020D01*
+X004400Y014320D01*
+X004800Y014720D01*
+X006930Y014720D01*
+X007010Y014640D01*
+X007010Y017200D01*
+X007900Y015920D02*
+X007900Y019120D01*
+X006700Y020320D01*
+X008950Y020320D02*
+X009100Y020170D01*
+X009100Y019220D01*
+X009500Y018820D01*
+X009800Y018820D01*
+X008790Y017200D02*
+X008790Y014640D01*
+X009020Y014870D01*
+X011050Y014870D01*
+X012400Y016220D01*
+X012400Y019120D01*
+X012800Y019520D01*
+X012800Y020520D01*
+X013800Y020520D02*
+X013800Y018820D01*
+X014800Y018720D02*
+X014800Y020520D01*
+X015800Y020520D02*
+X015800Y018670D01*
+X013800Y016670D01*
+X013800Y017720D02*
+X014800Y018720D01*
+X016500Y017120D02*
+X016600Y017020D01*
+X016600Y013320D01*
+X016216Y012936D01*
+X015400Y012936D01*
+X017250Y011370D02*
+X017250Y015420D01*
+X017500Y015670D01*
+X019250Y015670D01*
+X017500Y015670D02*
+X017500Y017120D01*
+X017000Y017870D02*
+X017450Y018270D01*
+X019350Y018270D01*
+X020400Y018320D02*
+X021100Y017620D01*
+X025300Y017620D01*
+X026800Y016120D01*
+X026800Y009620D01*
+X026500Y009320D01*
+X026000Y009320D01*
+X026000Y010320D02*
+X024700Y010320D01*
+X024500Y010120D01*
+X024500Y007320D01*
+X026000Y005820D01*
+X026000Y004720D01*
+X025400Y003820D02*
+X019000Y010220D01*
+X012800Y010220D01*
+X012100Y010920D01*
+X008250Y010920D01*
+X007650Y010320D01*
+X007600Y010320D01*
+X007300Y010020D01*
+X005400Y010020D01*
+X007650Y011520D02*
+X008250Y012120D01*
+X012600Y012120D01*
+X015384Y014904D01*
+X015400Y014904D01*
+X011050Y014870D02*
+X008900Y012720D01*
+X007650Y012720D01*
+X011434Y007220D02*
+X012900Y007220D01*
+X012900Y005220D01*
+X013000Y005120D01*
+X013800Y003820D02*
+X016900Y003820D01*
+X017900Y002820D02*
+X017350Y002270D01*
+X017350Y001570D01*
+X017900Y002820D02*
+X017900Y005520D01*
+X016200Y007220D01*
+X012900Y007220D01*
+X011434Y007220D02*
+X010484Y006270D01*
+X013800Y003820D02*
+X011900Y001920D01*
+X006900Y001920D01*
+X006200Y002620D01*
+X005350Y002620D01*
+X005300Y002670D01*
+X005300Y001170D02*
+X004850Y001170D01*
+X024400Y001520D02*
+X024400Y003820D01*
+X025400Y003820D02*
+X025400Y001520D01*
+X023350Y018270D02*
+X023350Y020520D01*
+X020400Y020470D02*
+X020400Y018320D01*
+D23*
+X020400Y020470D02*
+X020350Y020520D01*
+D24*
+X026000Y004720D03*
+X023100Y003820D03*
+X016900Y003820D03*
+D25*
+X013000Y005120D03*
+X007900Y015920D03*
+D26*
+X019250Y016670D02*
+X019850Y016670D01*
+X020200Y016320D01*
+X020200Y015220D01*
+X020700Y014720D01*
+X022324Y014720D01*
+X023792Y016189D01*
+X024300Y017120D02*
+X025200Y016220D01*
+X025200Y012720D01*
+X024731Y012251D01*
+X023792Y012251D01*
+X022260Y012700D02*
+X023792Y014220D01*
+X022260Y012700D02*
+X021250Y012670D01*
+X019250Y012670D01*
+X021250Y016670D02*
+X021700Y017120D01*
+X024300Y017120D01*
+M02*
diff --git a/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.drd b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.drd
new file mode 100644
index 0000000..ec74925
--- /dev/null
+++ b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.drd
@@ -0,0 +1,113 @@
+%
+M48
+M72
+T01C0.0197
+T02C0.0236
+T03C0.0315
+T04C0.0320
+T05C0.0360
+T06C0.0400
+T07C0.0433
+T08C0.0440
+T09C0.0470
+T10C0.0787
+%
+T01
+X5300Y1170
+X5300Y1920
+X5300Y2670
+T02
+X13000Y5120
+X7900Y15920
+T03
+X8200Y20320
+X7450Y20320
+X6700Y20320
+X8950Y20320
+X15400Y14904
+X15400Y12936
+X19250Y12670
+X21250Y12670
+X21250Y15670
+X21250Y16670
+X19250Y16670
+X19250Y15670
+X5400Y10020
+X4400Y10020
+X16900Y3820
+X23100Y3820
+X26000Y4720
+T04
+X11650Y9120
+X11650Y10320
+X11650Y11520
+X11650Y12720
+X7650Y12720
+X7650Y11520
+X7650Y10320
+X7650Y9120
+X4800Y7170
+X4800Y5170
+X9800Y16670
+X9800Y17720
+X9800Y18820
+X13800Y18820
+X13800Y17720
+X13800Y16670
+X16500Y17120
+X17000Y17870
+X17500Y17120
+X19350Y18270
+X23350Y18270
+T05
+X26000Y10320
+X26000Y9320
+X26000Y8320
+T06
+X25400Y1520
+X24400Y1520
+X23400Y1520
+X22400Y1520
+X21400Y1520
+X20400Y1520
+X18350Y1570
+X17350Y1570
+X16350Y1570
+X15350Y1570
+X14350Y1570
+X13350Y1570
+X8790Y14640
+X7010Y14640
+X7010Y17200
+X8790Y17200
+X9800Y20520
+X10800Y20520
+X11800Y20520
+X12800Y20520
+X13800Y20520
+X14800Y20520
+X15800Y20520
+X16800Y20520
+X18350Y20520
+X19350Y20520
+X20350Y20520
+X21350Y20520
+X22350Y20520
+X23350Y20520
+X24350Y20520
+X25350Y20520
+T07
+X10484Y6270
+X9500Y6270
+X8516Y6270
+T08
+X17250Y11370
+X21250Y11370
+T09
+X23792Y12251
+X23792Y14220
+X23792Y16189
+T10
+X11272Y3514
+X7728Y3514
+M30
diff --git a/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.dri b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.dri
new file mode 100644
index 0000000..2fb0a91
--- /dev/null
+++ b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.dri
@@ -0,0 +1,45 @@
+Generated by EAGLE CAM Processor 6.5.0
+
+Drill Station Info File: E:/IMP/PCB design/sheild/Diyode-Codeshield-master/sheild V-1.2/gerber of sheild V1.2/sheild V-1.2.dri
+
+ Date : 5/14/2015 4:57:05 PM
+ Drills : generated
+ Device : Excellon drill station
+
+Parameter settings:
+
+ Tolerance Drill + : 2.50 %
+ Tolerance Drill - : 2.50 %
+ Rotate : no
+ Mirror : no
+ Optimize : yes
+ Auto fit : yes
+ OffsetX : 0inch
+ OffsetY : 0inch
+ Layers : Drills Holes
+
+Drill File Info:
+
+ Data Mode : Absolute
+ Units : 1/10000 Inch
+
+Drills used:
+
+ Code Size used
+
+ T01 0.0197inch 3
+ T02 0.0236inch 2
+ T03 0.0315inch 17
+ T04 0.0320inch 21
+ T05 0.0360inch 3
+ T06 0.0400inch 32
+ T07 0.0433inch 3
+ T08 0.0440inch 2
+ T09 0.0470inch 3
+ T10 0.0787inch 2
+
+Total number of drills: 88
+
+Plotfiles:
+
+ E:/IMP/PCB design/sheild/Diyode-Codeshield-master/sheild V-1.2/gerber of sheild V1.2/sheild V-1.2.drd
diff --git a/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.drl b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.drl
new file mode 100644
index 0000000..b143b99
--- /dev/null
+++ b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.drl
@@ -0,0 +1,10 @@
+T01 0.50mm
+T02 0.60mm
+T03 0.80mm
+T04 0.81mm
+T05 0.91mm
+T06 1.02mm
+T07 1.10mm
+T08 1.12mm
+T09 1.19mm
+T10 2.00mm
diff --git a/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.gpi b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.gpi
new file mode 100644
index 0000000..32090b8
--- /dev/null
+++ b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.gpi
@@ -0,0 +1,51 @@
+Generated by EAGLE CAM Processor 6.5.0
+
+Photoplotter Info File: E:/IMP/PCB design/sheild/sheild V-1.2/gerber of sheild V1.2/sheild V-1.2.gpi
+
+ Date : 5/19/2015 10:39:20 AM
+ Plotfile : E:/IMP/PCB design/sheild/sheild V-1.2/gerber of sheild V1.2/sheild V-1.2.plc
+ Apertures : generated:
+ Device : Gerber RS-274-X photoplotter, coordinate format 2.4 inch
+
+Parameter settings:
+
+ Emulate Apertures : no
+ Tolerance Draw + : 0.00 %
+ Tolerance Draw - : 0.00 %
+ Tolerance Flash + : 0.00 %
+ Tolerance Flash - : 0.00 %
+ Rotate : no
+ Mirror : no
+ Optimize : yes
+ Auto fit : yes
+ OffsetX : 0inch
+ OffsetY : 0inch
+
+Plotfile Info:
+
+ Coordinate Format : 2.4
+ Coordinate Units : Inch
+ Data Mode : Absolute
+ Zero Suppression : None
+ End Of Block : *
+
+Apertures used:
+
+ Code Shape Size used
+
+ D10 draw 0.0000inch 4
+ D11 draw 0.0120inch 1
+ D12 draw 0.0030inch 277
+ D13 draw 0.0050inch 424
+ D14 draw 0.0070inch 96
+ D15 draw 0.0060inch 701
+ D16 draw 0.0020inch 6
+ D17 rectangle 0.0340inch x 0.0240inch 16
+ D18 draw 0.0016inch 1
+ D19 draw 0.0160inch 8
+ D20 draw 0.0005inch 1
+ D21 draw 0.0040inch 31
+ D22 draw 0.0080inch 2
+ D23 rectangle 0.0200inch x 0.1000inch 1
+ D24 rectangle 0.0750inch x 0.0300inch 2
+
diff --git a/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.plc b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.plc
new file mode 100644
index 0000000..ccfbdea
--- /dev/null
+++ b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.plc
@@ -0,0 +1,5548 @@
+G75*
+%MOIN*%
+%OFA0B0*%
+%FSLAX24Y24*%
+%IPPOS*%
+%LPD*%
+%AMOC8*
+5,1,8,0,0,1.08239X$1,22.5*
+%
+%ADD10C,0.0000*%
+%ADD11C,0.0120*%
+%ADD12C,0.0030*%
+%ADD13C,0.0050*%
+%ADD14C,0.0070*%
+%ADD15C,0.0060*%
+%ADD16C,0.0020*%
+%ADD17R,0.0340X0.0240*%
+%ADD18C,0.0016*%
+%ADD19C,0.0160*%
+%ADD20C,0.0005*%
+%ADD21C,0.0040*%
+%ADD22C,0.0080*%
+%ADD23R,0.0200X0.1000*%
+%ADD24R,0.0750X0.0300*%
+D10*
+X002900Y000320D02*
+X002900Y021920D01*
+X027500Y021820D01*
+X027500Y000220D01*
+X002900Y000320D01*
+D11*
+X023626Y010540D02*
+X023628Y010569D01*
+X023634Y010598D01*
+X023643Y010626D01*
+X023656Y010652D01*
+X023672Y010676D01*
+X023692Y010698D01*
+X023714Y010718D01*
+X023738Y010734D01*
+X023764Y010747D01*
+X023792Y010756D01*
+X023821Y010762D01*
+X023850Y010764D01*
+X023879Y010762D01*
+X023908Y010756D01*
+X023936Y010747D01*
+X023962Y010734D01*
+X023986Y010718D01*
+X024008Y010698D01*
+X024028Y010676D01*
+X024044Y010652D01*
+X024057Y010626D01*
+X024066Y010598D01*
+X024072Y010569D01*
+X024074Y010540D01*
+X024072Y010511D01*
+X024066Y010482D01*
+X024057Y010454D01*
+X024044Y010428D01*
+X024028Y010404D01*
+X024008Y010382D01*
+X023986Y010362D01*
+X023962Y010346D01*
+X023936Y010333D01*
+X023908Y010324D01*
+X023879Y010318D01*
+X023850Y010316D01*
+X023821Y010318D01*
+X023792Y010324D01*
+X023764Y010333D01*
+X023738Y010346D01*
+X023714Y010362D01*
+X023692Y010382D01*
+X023672Y010404D01*
+X023656Y010428D01*
+X023643Y010454D01*
+X023634Y010482D01*
+X023628Y010511D01*
+X023626Y010540D01*
+D12*
+X023478Y000773D02*
+X023540Y000712D01*
+X023540Y000650D01*
+X023478Y000588D01*
+X023540Y000526D01*
+X023540Y000465D01*
+X023478Y000403D01*
+X023354Y000403D01*
+X023293Y000465D01*
+X023416Y000588D02*
+X023478Y000588D01*
+X023478Y000773D02*
+X023354Y000773D01*
+X023293Y000712D01*
+X022540Y000712D02*
+X022478Y000773D01*
+X022354Y000773D01*
+X022293Y000712D01*
+X022540Y000712D02*
+X022540Y000650D01*
+X022293Y000403D01*
+X022540Y000403D01*
+X021540Y000403D02*
+X021293Y000403D01*
+X021416Y000403D02*
+X021416Y000773D01*
+X021293Y000650D01*
+X020540Y000712D02*
+X020540Y000465D01*
+X020478Y000403D01*
+X020354Y000403D01*
+X020293Y000465D01*
+X020540Y000712D01*
+X020478Y000773D01*
+X020354Y000773D01*
+X020293Y000712D01*
+X020293Y000465D01*
+X018762Y000439D02*
+X018762Y000624D01*
+X018700Y000686D01*
+X018515Y000686D01*
+X018515Y000439D01*
+X018393Y000439D02*
+X018269Y000439D01*
+X018331Y000439D02*
+X018331Y000686D01*
+X018269Y000686D01*
+X018331Y000809D02*
+X018331Y000871D01*
+X018148Y000809D02*
+X018148Y000562D01*
+X018024Y000439D01*
+X017901Y000562D01*
+X017901Y000809D01*
+X017340Y000823D02*
+X017340Y000453D01*
+X017154Y000453D01*
+X017093Y000515D01*
+X017093Y000638D01*
+X017154Y000700D01*
+X017340Y000700D01*
+X016971Y000638D02*
+X016971Y000453D01*
+X016971Y000638D02*
+X016910Y000700D01*
+X016724Y000700D01*
+X016724Y000453D01*
+X016603Y000515D02*
+X016541Y000453D01*
+X016418Y000453D01*
+X016356Y000515D01*
+X016356Y000762D01*
+X016418Y000823D01*
+X016541Y000823D01*
+X016603Y000762D01*
+X016603Y000638D02*
+X016480Y000638D01*
+X016603Y000638D02*
+X016603Y000515D01*
+X015612Y000686D02*
+X015488Y000439D01*
+X015365Y000686D01*
+X015243Y000624D02*
+X015243Y000501D01*
+X015182Y000439D01*
+X015058Y000439D01*
+X014996Y000501D01*
+X014996Y000624D02*
+X015120Y000686D01*
+X015182Y000686D01*
+X015243Y000624D01*
+X015243Y000809D02*
+X014996Y000809D01*
+X014996Y000624D01*
+X014612Y000686D02*
+X014488Y000439D01*
+X014365Y000686D01*
+X014243Y000686D02*
+X014182Y000624D01*
+X014243Y000562D01*
+X014243Y000501D01*
+X014182Y000439D01*
+X014058Y000439D01*
+X013996Y000501D01*
+X014120Y000624D02*
+X014182Y000624D01*
+X014243Y000686D02*
+X014243Y000748D01*
+X014182Y000809D01*
+X014058Y000809D01*
+X013996Y000748D01*
+X013698Y000787D02*
+X013451Y000787D01*
+X013574Y000787D02*
+X013574Y000417D01*
+X013329Y000479D02*
+X013329Y000540D01*
+X013268Y000602D01*
+X013144Y000602D01*
+X013082Y000664D01*
+X013082Y000726D01*
+X013144Y000787D01*
+X013268Y000787D01*
+X013329Y000726D01*
+X013329Y000479D02*
+X013268Y000417D01*
+X013144Y000417D01*
+X013082Y000479D01*
+X012961Y000417D02*
+X012837Y000540D01*
+X012899Y000540D02*
+X012714Y000540D01*
+X012714Y000417D02*
+X012714Y000787D01*
+X012899Y000787D01*
+X012961Y000726D01*
+X012961Y000602D01*
+X012899Y000540D01*
+X024293Y000588D02*
+X024540Y000588D01*
+X024478Y000403D02*
+X024478Y000773D01*
+X024293Y000588D01*
+X025243Y000588D02*
+X025366Y000650D01*
+X025428Y000650D01*
+X025490Y000588D01*
+X025490Y000465D01*
+X025428Y000403D01*
+X025304Y000403D01*
+X025243Y000465D01*
+X025243Y000588D02*
+X025243Y000773D01*
+X025490Y000773D01*
+X025430Y021249D02*
+X025306Y021249D01*
+X025245Y021311D01*
+X025492Y021558D01*
+X025492Y021311D01*
+X025430Y021249D01*
+X025245Y021311D02*
+X025245Y021558D01*
+X025306Y021619D01*
+X025430Y021619D01*
+X025492Y021558D01*
+X024512Y021249D02*
+X024265Y021249D01*
+X024388Y021249D02*
+X024388Y021619D01*
+X024265Y021496D01*
+X023482Y021486D02*
+X023482Y021548D01*
+X023420Y021609D01*
+X023296Y021609D01*
+X023235Y021548D01*
+X023482Y021486D02*
+X023235Y021239D01*
+X023482Y021239D01*
+X022402Y021281D02*
+X022340Y021219D01*
+X022216Y021219D01*
+X022155Y021281D01*
+X022278Y021404D02*
+X022340Y021404D01*
+X022402Y021342D01*
+X022402Y021281D01*
+X022340Y021404D02*
+X022402Y021466D01*
+X022402Y021528D01*
+X022340Y021589D01*
+X022216Y021589D01*
+X022155Y021528D01*
+X021452Y021414D02*
+X021205Y021414D01*
+X021390Y021599D01*
+X021390Y021229D01*
+X020512Y021301D02*
+X020450Y021239D01*
+X020326Y021239D01*
+X020265Y021301D01*
+X020265Y021424D02*
+X020388Y021486D01*
+X020450Y021486D01*
+X020512Y021424D01*
+X020512Y021301D01*
+X020265Y021424D02*
+X020265Y021609D01*
+X020512Y021609D01*
+X019462Y021609D02*
+X019338Y021548D01*
+X019215Y021424D01*
+X019400Y021424D01*
+X019462Y021362D01*
+X019462Y021301D01*
+X019400Y021239D01*
+X019276Y021239D01*
+X019215Y021301D01*
+X019215Y021424D01*
+X018512Y021548D02*
+X018265Y021301D01*
+X018265Y021239D01*
+X018512Y021548D02*
+X018512Y021609D01*
+X018265Y021609D01*
+X016912Y021548D02*
+X016912Y021486D01*
+X016850Y021424D01*
+X016726Y021424D01*
+X016665Y021486D01*
+X016665Y021548D01*
+X016726Y021609D01*
+X016850Y021609D01*
+X016912Y021548D01*
+X016850Y021424D02*
+X016912Y021362D01*
+X016912Y021301D01*
+X016850Y021239D01*
+X016726Y021239D01*
+X016665Y021301D01*
+X016665Y021362D01*
+X016726Y021424D01*
+X015922Y021424D02*
+X015736Y021424D01*
+X015675Y021486D01*
+X015675Y021548D01*
+X015736Y021609D01*
+X015860Y021609D01*
+X015922Y021548D01*
+X015922Y021301D01*
+X015860Y021239D01*
+X015736Y021239D01*
+X015675Y021301D01*
+X015102Y021301D02*
+X015040Y021239D01*
+X014916Y021239D01*
+X014855Y021301D01*
+X015102Y021548D01*
+X015102Y021301D01*
+X015102Y021548D02*
+X015040Y021609D01*
+X014916Y021609D01*
+X014855Y021548D01*
+X014855Y021301D01*
+X014733Y021239D02*
+X014486Y021239D01*
+X014610Y021239D02*
+X014610Y021609D01*
+X014486Y021486D01*
+X014132Y021239D02*
+X013885Y021239D01*
+X013763Y021239D02*
+X013516Y021239D01*
+X013640Y021239D02*
+X013640Y021609D01*
+X013516Y021486D01*
+X013885Y021486D02*
+X014008Y021609D01*
+X014008Y021239D01*
+X013062Y021239D02*
+X012815Y021239D01*
+X013062Y021486D01*
+X013062Y021548D01*
+X013000Y021609D01*
+X012876Y021609D01*
+X012815Y021548D01*
+X012570Y021609D02*
+X012570Y021239D01*
+X012693Y021239D02*
+X012446Y021239D01*
+X012446Y021486D02*
+X012570Y021609D01*
+X012082Y021548D02*
+X012082Y021486D01*
+X012020Y021424D01*
+X012082Y021362D01*
+X012082Y021301D01*
+X012020Y021239D01*
+X011896Y021239D01*
+X011835Y021301D01*
+X011713Y021239D02*
+X011466Y021239D01*
+X011590Y021239D02*
+X011590Y021609D01*
+X011466Y021486D01*
+X011262Y021486D02*
+X011076Y021486D01*
+X011015Y021424D01*
+X011015Y021301D01*
+X011076Y021239D01*
+X011262Y021239D01*
+X011262Y021609D01*
+X010893Y021424D02*
+X010893Y021239D01*
+X010893Y021424D02*
+X010832Y021486D01*
+X010646Y021486D01*
+X010646Y021239D01*
+X010525Y021239D02*
+X010340Y021239D01*
+X010278Y021301D01*
+X010278Y021424D01*
+X010340Y021486D01*
+X010525Y021486D01*
+X010525Y021177D01*
+X010463Y021116D01*
+X010401Y021116D01*
+X010047Y021452D02*
+X009923Y021452D01*
+X009802Y021452D02*
+X009802Y021390D01*
+X009555Y021390D01*
+X009555Y021329D02*
+X009555Y021452D01*
+X009617Y021514D01*
+X009740Y021514D01*
+X009802Y021452D01*
+X009740Y021267D02*
+X009617Y021267D01*
+X009555Y021329D01*
+X009434Y021267D02*
+X009310Y021390D01*
+X009372Y021390D02*
+X009187Y021390D01*
+X009187Y021267D02*
+X009187Y021637D01*
+X009372Y021637D01*
+X009434Y021576D01*
+X009434Y021452D01*
+X009372Y021390D01*
+X009065Y021452D02*
+X008818Y021452D01*
+X008818Y021514D02*
+X008942Y021637D01*
+X009065Y021514D01*
+X009065Y021267D01*
+X008818Y021267D02*
+X008818Y021514D01*
+X009985Y021576D02*
+X009985Y021267D01*
+X009985Y021576D02*
+X010047Y021637D01*
+X011835Y021548D02*
+X011896Y021609D01*
+X012020Y021609D01*
+X012082Y021548D01*
+X012020Y021424D02*
+X011958Y021424D01*
+D13*
+X014225Y019195D02*
+X014450Y019195D01*
+X014525Y019120D01*
+X014525Y018970D01*
+X014450Y018895D01*
+X014225Y018895D01*
+X014225Y018745D02*
+X014225Y019195D01*
+X014375Y018895D02*
+X014525Y018745D01*
+X014685Y018745D02*
+X014986Y018745D01*
+X014836Y018745D02*
+X014836Y019195D01*
+X014685Y019045D01*
+X014760Y018095D02*
+X014685Y018020D01*
+X014760Y018095D02*
+X014911Y018095D01*
+X014986Y018020D01*
+X014986Y017945D01*
+X014685Y017645D01*
+X014986Y017645D01*
+X014525Y017645D02*
+X014375Y017795D01*
+X014450Y017795D02*
+X014225Y017795D01*
+X014225Y017645D02*
+X014225Y018095D01*
+X014450Y018095D01*
+X014525Y018020D01*
+X014525Y017870D01*
+X014450Y017795D01*
+X014450Y017045D02*
+X014525Y016970D01*
+X014525Y016820D01*
+X014450Y016745D01*
+X014225Y016745D01*
+X014225Y016595D02*
+X014225Y017045D01*
+X014450Y017045D01*
+X014685Y016970D02*
+X014760Y017045D01*
+X014911Y017045D01*
+X014986Y016970D01*
+X014986Y016895D01*
+X014911Y016820D01*
+X014986Y016745D01*
+X014986Y016670D01*
+X014911Y016595D01*
+X014760Y016595D01*
+X014685Y016670D01*
+X014525Y016595D02*
+X014375Y016745D01*
+X014836Y016820D02*
+X014911Y016820D01*
+X015955Y017020D02*
+X016113Y017020D01*
+X016175Y016470D02*
+X017825Y016470D01*
+X017786Y016345D02*
+X017635Y016195D01*
+X017786Y016345D02*
+X017786Y015895D01*
+X017936Y015895D02*
+X017635Y015895D01*
+X017325Y015895D02*
+X017325Y016345D01*
+X017175Y016345D02*
+X017475Y016345D01*
+X017113Y017020D02*
+X016887Y017020D01*
+X016175Y016470D02*
+X016140Y016518D01*
+X016107Y016568D01*
+X016076Y016620D01*
+X016049Y016674D01*
+X016025Y016729D01*
+X016005Y016786D01*
+X015987Y016843D01*
+X015973Y016901D01*
+X015962Y016960D01*
+X015955Y017020D01*
+X017310Y018123D02*
+X017370Y018103D01*
+X017429Y018079D01*
+X017486Y018051D01*
+X017541Y018020D01*
+X017595Y017985D01*
+X017646Y017948D01*
+X017695Y017907D01*
+X017741Y017863D01*
+X017785Y017817D01*
+X017826Y017768D01*
+X017864Y017717D01*
+X017898Y017664D01*
+X017930Y017608D01*
+X017957Y017551D01*
+X017982Y017492D01*
+X018002Y017432D01*
+X018020Y017371D01*
+X018033Y017309D01*
+X018042Y017246D01*
+X018048Y017183D01*
+X018050Y017119D01*
+X018048Y017055D01*
+X018042Y016992D01*
+X018033Y016929D01*
+X018019Y016867D01*
+X018002Y016806D01*
+X017981Y016746D01*
+X017957Y016687D01*
+X017929Y016630D01*
+X017897Y016574D01*
+X017862Y016521D01*
+X017825Y016470D01*
+X017887Y017020D02*
+X018045Y017020D01*
+X018750Y017170D02*
+X021750Y017170D01*
+X021750Y012170D01*
+X018750Y012170D01*
+X018750Y017170D01*
+X018740Y017995D02*
+X018815Y018070D01*
+X018815Y018370D01*
+X018740Y018445D01*
+X018590Y018445D01*
+X018515Y018370D01*
+X018515Y018295D01*
+X018590Y018220D01*
+X018815Y018220D01*
+X018740Y017995D02*
+X018590Y017995D01*
+X018515Y018070D01*
+X018354Y017995D02*
+X018204Y018145D01*
+X018279Y018145D02*
+X018054Y018145D01*
+X018054Y017995D02*
+X018054Y018445D01*
+X018279Y018445D01*
+X018354Y018370D01*
+X018354Y018220D01*
+X018279Y018145D01*
+X016690Y018123D02*
+X016631Y018103D01*
+X016574Y018080D01*
+X016517Y018053D01*
+X016463Y018022D01*
+X016410Y017989D01*
+X016360Y017952D01*
+X016311Y017913D01*
+X016266Y017870D01*
+X016222Y017825D01*
+X016182Y017778D01*
+X016144Y017728D01*
+X016109Y017676D01*
+X016078Y017622D01*
+X016050Y017567D01*
+X016025Y017510D01*
+X016004Y017451D01*
+X015986Y017391D01*
+X015971Y017330D01*
+X015961Y017269D01*
+X015954Y017207D01*
+X015950Y017145D01*
+X015951Y017082D01*
+X015955Y017020D01*
+X015925Y015836D02*
+X015624Y015836D01*
+X015464Y015836D02*
+X015164Y015836D01*
+X015164Y015386D01*
+X015464Y015386D01*
+X015624Y015386D02*
+X015624Y015461D01*
+X015925Y015761D01*
+X015925Y015836D01*
+X016085Y015761D02*
+X016085Y015461D01*
+X016160Y015386D01*
+X016310Y015386D01*
+X016385Y015461D01*
+X016385Y015761D01*
+X016310Y015836D01*
+X016160Y015836D01*
+X016085Y015761D01*
+X015925Y015386D02*
+X015624Y015386D01*
+X015314Y015611D02*
+X015164Y015611D01*
+X015007Y015386D02*
+X014857Y015386D01*
+X014932Y015386D02*
+X014932Y015836D01*
+X014857Y015836D02*
+X015007Y015836D01*
+X014697Y015761D02*
+X014697Y015611D01*
+X014622Y015536D01*
+X014397Y015536D01*
+X014397Y015386D02*
+X014397Y015836D01*
+X014622Y015836D01*
+X014697Y015761D01*
+X018175Y015635D02*
+X018250Y015635D01*
+X018400Y015485D01*
+X018625Y015485D01*
+X018400Y015485D02*
+X018250Y015335D01*
+X018175Y015335D01*
+X018325Y015174D02*
+X018625Y015174D01*
+X018400Y015174D02*
+X018400Y014874D01*
+X018325Y014874D02*
+X018175Y015024D01*
+X018325Y015174D01*
+X018325Y014874D02*
+X018625Y014874D01*
+X018625Y014714D02*
+X018625Y014414D01*
+X018175Y014414D01*
+X018175Y014254D02*
+X018175Y013953D01*
+X018625Y013953D01*
+X018625Y014254D01*
+X018400Y014104D02*
+X018400Y013953D01*
+X018400Y013793D02*
+X018475Y013718D01*
+X018475Y013493D01*
+X018625Y013493D02*
+X018175Y013493D01*
+X018175Y013718D01*
+X018250Y013793D01*
+X018400Y013793D01*
+X018475Y013643D02*
+X018625Y013793D01*
+X017965Y012295D02*
+X017965Y011845D01*
+X017815Y011845D02*
+X018115Y011845D01*
+X017815Y012145D02*
+X017965Y012295D01*
+X017654Y012220D02*
+X017579Y012295D01*
+X017354Y012295D01*
+X017354Y011845D01*
+X017579Y011845D01*
+X017654Y011920D01*
+X017654Y012220D01*
+X024875Y010012D02*
+X024950Y010087D01*
+X025250Y010087D01*
+X025325Y010012D01*
+X025325Y009862D01*
+X025250Y009787D01*
+X024950Y009787D01*
+X024875Y009862D01*
+X024875Y010012D01*
+X024875Y009626D02*
+X025175Y009626D01*
+X025325Y009476D01*
+X025175Y009326D01*
+X024875Y009326D01*
+X024950Y009166D02*
+X024875Y009091D01*
+X024875Y008866D01*
+X025325Y008866D01*
+X025175Y008866D02*
+X025175Y009091D01*
+X025100Y009166D01*
+X024950Y009166D01*
+X025175Y009016D02*
+X025325Y009166D01*
+X025325Y008706D02*
+X025325Y008405D01*
+X024875Y008405D01*
+X024875Y008706D01*
+X025100Y008556D02*
+X025100Y008405D01*
+X025175Y008245D02*
+X025250Y008245D01*
+X025325Y008170D01*
+X025325Y008020D01*
+X025250Y007945D01*
+X025100Y008020D02*
+X025100Y008170D01*
+X025175Y008245D01*
+X024950Y008245D02*
+X024875Y008170D01*
+X024875Y008020D01*
+X024950Y007945D01*
+X025025Y007945D01*
+X025100Y008020D01*
+X026685Y008458D02*
+X027025Y008458D01*
+X027025Y008345D02*
+X027025Y008572D01*
+X026798Y008345D02*
+X026685Y008458D01*
+X026741Y009345D02*
+X026685Y009402D01*
+X026685Y009515D01*
+X026741Y009572D01*
+X026798Y009572D01*
+X027025Y009345D01*
+X027025Y009572D01*
+X026968Y010345D02*
+X027025Y010402D01*
+X027025Y010515D01*
+X026968Y010572D01*
+X026912Y010572D01*
+X026855Y010515D01*
+X026855Y010458D01*
+X026855Y010515D02*
+X026798Y010572D01*
+X026741Y010572D01*
+X026685Y010515D01*
+X026685Y010402D01*
+X026741Y010345D01*
+X026475Y011645D02*
+X026025Y011645D01*
+X026475Y011945D01*
+X026025Y011945D01*
+X026100Y012105D02*
+X026400Y012105D01*
+X026475Y012180D01*
+X026475Y012331D01*
+X026400Y012406D01*
+X026100Y012406D01*
+X026025Y012331D01*
+X026025Y012180D01*
+X026100Y012105D01*
+X026100Y013345D02*
+X026400Y013345D01*
+X026475Y013420D01*
+X026475Y013570D01*
+X026400Y013645D01*
+X026400Y013805D02*
+X026100Y013805D01*
+X026025Y013880D01*
+X026025Y014031D01*
+X026100Y014106D01*
+X026400Y014106D01*
+X026475Y014031D01*
+X026475Y013880D01*
+X026400Y013805D01*
+X026100Y013645D02*
+X026025Y013570D01*
+X026025Y013420D01*
+X026100Y013345D01*
+X026025Y014266D02*
+X026175Y014416D01*
+X026025Y014566D01*
+X026475Y014566D01*
+X026475Y014266D02*
+X026025Y014266D01*
+X025825Y015745D02*
+X026275Y016045D01*
+X025825Y016045D01*
+X025900Y016205D02*
+X025825Y016280D01*
+X025825Y016431D01*
+X025900Y016506D01*
+X026200Y016506D02*
+X026275Y016431D01*
+X026275Y016280D01*
+X026200Y016205D01*
+X025900Y016205D01*
+X025825Y015745D02*
+X026275Y015745D01*
+X025647Y017307D02*
+X025347Y017307D01*
+X025497Y017307D02*
+X025497Y017758D01*
+X025347Y017607D01*
+X025187Y017758D02*
+X024886Y017307D01*
+X025187Y017307D02*
+X024886Y017758D01*
+X007968Y006567D02*
+X007668Y006567D01*
+X007818Y006567D02*
+X007818Y006117D01*
+X007508Y006192D02*
+X007508Y006492D01*
+X007433Y006567D01*
+X007283Y006567D01*
+X007207Y006492D01*
+X007207Y006192D01*
+X007283Y006117D01*
+X007433Y006117D01*
+X007508Y006192D01*
+X007047Y006342D02*
+X006972Y006267D01*
+X006747Y006267D01*
+X006747Y006117D02*
+X006747Y006567D01*
+X006972Y006567D01*
+X007047Y006492D01*
+X007047Y006342D01*
+X005775Y006376D02*
+X005325Y006376D01*
+X005325Y006601D01*
+X005400Y006676D01*
+X005550Y006676D01*
+X005625Y006601D01*
+X005625Y006376D01*
+X005625Y006526D02*
+X005775Y006676D01*
+X005775Y006837D02*
+X005325Y006837D01*
+X005475Y006987D01*
+X005325Y007137D01*
+X005775Y007137D01*
+X005775Y006216D02*
+X005775Y005916D01*
+X005325Y005916D01*
+X005325Y006216D01*
+X005550Y006066D02*
+X005550Y005916D01*
+X005550Y005756D02*
+X005550Y005455D01*
+X005775Y005455D02*
+X005325Y005455D01*
+X005325Y005295D02*
+X005325Y004995D01*
+X005325Y005145D02*
+X005775Y005145D01*
+X005775Y005756D02*
+X005325Y005756D01*
+X005300Y002920D02*
+X004800Y002920D01*
+X004800Y000920D01*
+X005300Y000920D01*
+X005800Y001420D01*
+X005800Y002420D01*
+X005300Y002920D01*
+X006475Y008945D02*
+X006475Y009395D01*
+X006700Y009395D01*
+X006775Y009320D01*
+X006775Y009170D01*
+X006700Y009095D01*
+X006475Y009095D01*
+X006625Y009095D02*
+X006775Y008945D01*
+X006935Y008945D02*
+X006935Y009020D01*
+X007236Y009320D01*
+X007236Y009395D01*
+X006935Y009395D01*
+X007010Y010145D02*
+X006935Y010220D01*
+X006935Y010295D01*
+X007010Y010370D01*
+X007161Y010370D01*
+X007236Y010295D01*
+X007236Y010220D01*
+X007161Y010145D01*
+X007010Y010145D01*
+X007010Y010370D02*
+X006935Y010445D01*
+X006935Y010520D01*
+X007010Y010595D01*
+X007161Y010595D01*
+X007236Y010520D01*
+X007236Y010445D01*
+X007161Y010370D01*
+X006775Y010370D02*
+X006700Y010295D01*
+X006475Y010295D01*
+X006475Y010145D02*
+X006475Y010595D01*
+X006700Y010595D01*
+X006775Y010520D01*
+X006775Y010370D01*
+X006625Y010295D02*
+X006775Y010145D01*
+X006836Y011345D02*
+X006535Y011345D01*
+X006686Y011345D02*
+X006686Y011795D01*
+X006535Y011645D01*
+X006375Y011570D02*
+X006300Y011495D01*
+X006075Y011495D01*
+X006075Y011345D02*
+X006075Y011795D01*
+X006300Y011795D01*
+X006375Y011720D01*
+X006375Y011570D01*
+X006225Y011495D02*
+X006375Y011345D01*
+X006996Y011420D02*
+X007296Y011720D01*
+X007296Y011420D01*
+X007221Y011345D01*
+X007071Y011345D01*
+X006996Y011420D01*
+X006996Y011720D01*
+X007071Y011795D01*
+X007221Y011795D01*
+X007296Y011720D01*
+X007061Y012445D02*
+X007136Y012520D01*
+X007136Y012595D01*
+X007061Y012670D01*
+X006835Y012670D01*
+X006835Y012520D01*
+X006910Y012445D01*
+X007061Y012445D01*
+X006835Y012670D02*
+X006986Y012820D01*
+X007136Y012895D01*
+X006675Y012820D02*
+X006675Y012670D01*
+X006600Y012595D01*
+X006375Y012595D01*
+X006375Y012445D02*
+X006375Y012895D01*
+X006600Y012895D01*
+X006675Y012820D01*
+X006525Y012595D02*
+X006675Y012445D01*
+X006125Y014645D02*
+X005675Y014645D01*
+X005675Y014870D01*
+X005750Y014945D01*
+X005825Y014945D01*
+X005900Y014870D01*
+X005900Y014645D01*
+X006125Y014645D02*
+X006125Y014870D01*
+X006050Y014945D01*
+X005975Y014945D01*
+X005900Y014870D01*
+X006050Y015105D02*
+X005675Y015105D01*
+X005675Y015406D02*
+X006050Y015406D01*
+X006125Y015331D01*
+X006125Y015180D01*
+X006050Y015105D01*
+X005675Y015566D02*
+X005675Y015866D01*
+X005675Y015716D02*
+X006125Y015716D01*
+X005675Y016026D02*
+X005675Y016326D01*
+X005675Y016176D02*
+X006125Y016176D01*
+X006050Y016487D02*
+X005750Y016487D01*
+X005675Y016562D01*
+X005675Y016712D01*
+X005750Y016787D01*
+X006050Y016787D01*
+X006125Y016712D01*
+X006125Y016562D01*
+X006050Y016487D01*
+X006125Y016947D02*
+X005675Y016947D01*
+X006125Y017247D01*
+X005675Y017247D01*
+X005825Y019445D02*
+X005825Y019670D01*
+X005750Y019745D01*
+X005600Y019745D01*
+X005525Y019670D01*
+X005525Y019445D01*
+X005975Y019445D01*
+X005825Y019595D02*
+X005975Y019745D01*
+X005900Y019905D02*
+X005600Y019905D01*
+X005525Y019980D01*
+X005525Y020131D01*
+X005600Y020206D01*
+X005750Y020206D02*
+X005750Y020056D01*
+X005750Y020206D02*
+X005900Y020206D01*
+X005975Y020131D01*
+X005975Y019980D01*
+X005900Y019905D01*
+X005975Y020366D02*
+X005525Y020366D01*
+X005525Y020591D01*
+X005600Y020666D01*
+X005675Y020666D01*
+X005750Y020591D01*
+X005750Y020366D01*
+X005750Y020591D02*
+X005825Y020666D01*
+X005900Y020666D01*
+X005975Y020591D01*
+X005975Y020366D01*
+X003527Y011171D02*
+X003226Y011171D01*
+X003151Y011096D01*
+X003151Y010945D01*
+X003226Y010870D01*
+X003527Y010870D01*
+X003602Y010945D01*
+X003602Y011096D01*
+X003527Y011171D01*
+X003151Y010710D02*
+X003151Y010410D01*
+X003151Y010560D02*
+X003602Y010560D01*
+X003527Y010250D02*
+X003226Y010250D01*
+X003151Y010175D01*
+X003151Y010025D01*
+X003226Y009950D01*
+X003527Y009950D01*
+X003602Y010025D01*
+X003602Y010175D01*
+X003527Y010250D01*
+X003602Y009790D02*
+X003151Y009790D01*
+X003377Y009790D02*
+X003377Y009489D01*
+X003377Y009329D02*
+X003452Y009254D01*
+X003452Y009029D01*
+X003602Y009029D02*
+X003151Y009029D01*
+X003151Y009254D01*
+X003226Y009329D01*
+X003377Y009329D01*
+X003602Y009489D02*
+X003151Y009489D01*
+D14*
+X012535Y008897D02*
+X012535Y008809D01*
+X012623Y008720D01*
+X012800Y008720D01*
+X012889Y008632D01*
+X012889Y008543D01*
+X012800Y008455D01*
+X012623Y008455D01*
+X012535Y008543D01*
+X012535Y008897D02*
+X012623Y008985D01*
+X012800Y008985D01*
+X012889Y008897D01*
+X013087Y008720D02*
+X013176Y008809D01*
+X013353Y008809D01*
+X013441Y008720D01*
+X013441Y008632D01*
+X013087Y008632D01*
+X013087Y008720D02*
+X013087Y008543D01*
+X013176Y008455D01*
+X013353Y008455D01*
+X013640Y008455D02*
+X013640Y008809D01*
+X013905Y008809D01*
+X013994Y008720D01*
+X013994Y008455D01*
+X014192Y008455D02*
+X014458Y008455D01*
+X014546Y008543D01*
+X014458Y008632D01*
+X014281Y008632D01*
+X014192Y008720D01*
+X014281Y008809D01*
+X014546Y008809D01*
+X014745Y008720D02*
+X014745Y008543D01*
+X014833Y008455D01*
+X015010Y008455D01*
+X015099Y008543D01*
+X015099Y008720D01*
+X015010Y008809D01*
+X014833Y008809D01*
+X014745Y008720D01*
+X015297Y008632D02*
+X015474Y008809D01*
+X015563Y008809D01*
+X015297Y008809D02*
+X015297Y008455D01*
+X016310Y008543D02*
+X016399Y008455D01*
+X016575Y008455D01*
+X016664Y008543D01*
+X016664Y008632D01*
+X016575Y008720D01*
+X016399Y008720D01*
+X016310Y008809D01*
+X016310Y008897D01*
+X016399Y008985D01*
+X016575Y008985D01*
+X016664Y008897D01*
+X016863Y008985D02*
+X016863Y008455D01*
+X016863Y008720D02*
+X016951Y008809D01*
+X017128Y008809D01*
+X017216Y008720D01*
+X017216Y008455D01*
+X017415Y008455D02*
+X017592Y008455D01*
+X017504Y008455D02*
+X017504Y008809D01*
+X017415Y008809D01*
+X017504Y008985D02*
+X017504Y009074D01*
+X017783Y008720D02*
+X017872Y008809D01*
+X018049Y008809D01*
+X018137Y008720D01*
+X018137Y008632D01*
+X017783Y008632D01*
+X017783Y008720D02*
+X017783Y008543D01*
+X017872Y008455D01*
+X018049Y008455D01*
+X018336Y008455D02*
+X018513Y008455D01*
+X018424Y008455D02*
+X018424Y008985D01*
+X018336Y008985D01*
+X018704Y008720D02*
+X018793Y008809D01*
+X019058Y008809D01*
+X019058Y008985D02*
+X019058Y008455D01*
+X018793Y008455D01*
+X018704Y008543D01*
+X018704Y008720D01*
+X019809Y008632D02*
+X019986Y008455D01*
+X020163Y008632D01*
+X020163Y008985D01*
+X020362Y008720D02*
+X020715Y008720D01*
+X020914Y008809D02*
+X021091Y008985D01*
+X021091Y008455D01*
+X020914Y008455D02*
+X021268Y008455D01*
+X021467Y008455D02*
+X021555Y008455D01*
+X021555Y008543D01*
+X021467Y008543D01*
+X021467Y008455D01*
+X021743Y008455D02*
+X022096Y008809D01*
+X022096Y008897D01*
+X022008Y008985D01*
+X021831Y008985D01*
+X021743Y008897D01*
+X021743Y008455D02*
+X022096Y008455D01*
+X019809Y008632D02*
+X019809Y008985D01*
+D15*
+X018453Y007991D02*
+X018453Y007350D01*
+X018346Y007350D02*
+X018560Y007350D01*
+X018776Y007457D02*
+X018776Y007670D01*
+X018883Y007777D01*
+X019096Y007777D01*
+X019203Y007670D01*
+X019203Y007457D01*
+X019096Y007350D01*
+X018883Y007350D01*
+X018776Y007457D01*
+X018453Y007991D02*
+X018346Y007991D01*
+X018129Y007670D02*
+X018022Y007777D01*
+X017808Y007777D01*
+X017702Y007670D01*
+X017702Y007457D01*
+X017808Y007350D01*
+X018022Y007350D01*
+X018129Y007564D02*
+X018129Y007670D01*
+X018129Y007564D02*
+X017702Y007564D01*
+X017484Y007777D02*
+X017271Y007350D01*
+X017057Y007777D01*
+X016840Y007670D02*
+X016840Y007564D01*
+X016413Y007564D01*
+X016413Y007670D02*
+X016413Y007457D01*
+X016519Y007350D01*
+X016733Y007350D01*
+X016840Y007670D02*
+X016733Y007777D01*
+X016519Y007777D01*
+X016413Y007670D01*
+X016195Y007457D02*
+X016088Y007350D01*
+X015768Y007350D01*
+X015768Y007991D01*
+X016088Y007991D01*
+X016195Y007884D01*
+X016195Y007457D01*
+X016244Y006891D02*
+X016030Y006891D01*
+X016137Y006891D02*
+X016137Y006250D01*
+X016030Y006250D02*
+X016244Y006250D01*
+X016460Y006250D02*
+X016673Y006250D01*
+X016566Y006250D02*
+X016566Y006891D01*
+X016460Y006891D02*
+X016673Y006891D01*
+X016889Y006891D02*
+X017316Y006891D01*
+X017103Y006891D02*
+X017103Y006250D01*
+X018178Y006250D02*
+X018499Y006250D01*
+X018606Y006357D01*
+X018606Y006464D01*
+X018499Y006570D01*
+X018178Y006570D01*
+X018178Y006250D02*
+X018178Y006891D01*
+X018499Y006891D01*
+X018606Y006784D01*
+X018606Y006677D01*
+X018499Y006570D01*
+X018823Y006570D02*
+X018823Y006357D01*
+X018930Y006250D01*
+X019143Y006250D01*
+X019250Y006357D01*
+X019250Y006570D01*
+X019143Y006677D01*
+X018930Y006677D01*
+X018823Y006570D01*
+X019468Y006677D02*
+X019468Y006250D01*
+X019681Y006250D02*
+X019681Y006570D01*
+X019788Y006677D01*
+X019895Y006570D01*
+X019895Y006250D01*
+X020112Y006250D02*
+X020432Y006250D01*
+X020539Y006357D01*
+X020539Y006570D01*
+X020432Y006677D01*
+X020112Y006677D01*
+X020112Y006891D02*
+X020112Y006250D01*
+X019681Y006570D02*
+X019574Y006677D01*
+X019468Y006677D01*
+X019421Y007136D02*
+X019421Y007777D01*
+X019741Y007777D01*
+X019848Y007670D01*
+X019848Y007457D01*
+X019741Y007350D01*
+X019421Y007350D01*
+X020065Y007350D02*
+X020065Y007777D01*
+X020172Y007777D01*
+X020279Y007670D01*
+X020385Y007777D01*
+X020492Y007670D01*
+X020492Y007350D01*
+X020279Y007350D02*
+X020279Y007670D01*
+X020710Y007670D02*
+X020710Y007457D01*
+X020816Y007350D01*
+X021030Y007350D01*
+X021137Y007564D02*
+X020710Y007564D01*
+X020710Y007670D02*
+X020816Y007777D01*
+X021030Y007777D01*
+X021137Y007670D01*
+X021137Y007564D01*
+X021354Y007777D02*
+X021674Y007777D01*
+X021781Y007670D01*
+X021781Y007350D01*
+X022105Y007457D02*
+X022212Y007350D01*
+X022105Y007457D02*
+X022105Y007884D01*
+X021999Y007777D02*
+X022212Y007777D01*
+X021354Y007777D02*
+X021354Y007350D01*
+X021401Y006677D02*
+X021401Y006357D01*
+X021508Y006250D01*
+X021828Y006250D01*
+X021828Y006143D02*
+X021722Y006036D01*
+X021615Y006036D01*
+X021828Y006143D02*
+X021828Y006677D01*
+X021184Y006570D02*
+X021184Y006250D01*
+X020863Y006250D01*
+X020757Y006357D01*
+X020863Y006464D01*
+X021184Y006464D01*
+X021184Y006570D02*
+X021077Y006677D01*
+X020863Y006677D01*
+X023073Y007350D02*
+X023500Y007350D01*
+X023718Y007457D02*
+X023824Y007564D01*
+X024145Y007564D01*
+X024145Y007670D02*
+X024145Y007350D01*
+X023824Y007350D01*
+X023718Y007457D01*
+X023824Y007777D02*
+X024038Y007777D01*
+X024145Y007670D01*
+X024362Y007777D02*
+X024682Y007777D01*
+X024789Y007670D01*
+X024789Y007457D01*
+X024682Y007350D01*
+X024362Y007350D01*
+X024362Y007991D01*
+X025500Y007920D02*
+X025500Y008720D01*
+X025600Y008820D01*
+X025500Y008920D01*
+X025500Y009720D01*
+X025600Y009820D01*
+X025500Y009920D01*
+X025500Y010720D01*
+X025600Y010820D01*
+X026400Y010820D01*
+X026500Y010720D01*
+X026500Y009920D01*
+X026400Y009820D01*
+X026500Y009720D01*
+X026500Y008920D01*
+X026400Y008820D01*
+X026500Y008720D01*
+X026500Y007920D01*
+X026400Y007820D01*
+X025600Y007820D01*
+X025500Y007920D01*
+X023700Y009060D02*
+X023560Y008920D01*
+X023380Y009040D01*
+X023300Y009000D01*
+X023160Y009340D01*
+X023200Y009320D02*
+X023350Y009520D01*
+X023300Y009770D01*
+X023100Y009870D01*
+X022900Y009870D01*
+X022750Y009720D01*
+X022750Y009420D01*
+X022900Y009320D01*
+X022750Y009070D01*
+X022700Y009070D01*
+X022550Y008970D01*
+X022450Y009070D01*
+X022550Y009220D01*
+X022450Y009470D01*
+X022250Y009520D01*
+X022250Y009670D01*
+X022450Y009670D01*
+X022550Y009920D01*
+X022400Y010120D01*
+X022550Y010220D01*
+X022700Y010070D01*
+X022900Y010170D01*
+X022950Y010370D01*
+X023100Y010370D01*
+X023150Y010170D01*
+X023350Y010070D01*
+X023550Y010220D01*
+X023650Y010120D01*
+X023550Y009920D01*
+X023650Y009670D01*
+X023850Y009670D01*
+X023850Y009520D01*
+X023600Y009470D01*
+X023550Y009220D01*
+X023650Y009070D01*
+X023550Y008970D01*
+X023400Y009070D01*
+X023300Y009020D01*
+X023200Y009320D01*
+X023207Y009329D02*
+X023572Y009329D01*
+X023584Y009388D02*
+X023251Y009388D01*
+X023295Y009446D02*
+X023595Y009446D01*
+X023650Y009440D02*
+X023870Y009480D01*
+X023870Y009680D01*
+X023650Y009720D01*
+X023623Y009739D02*
+X023306Y009739D01*
+X023318Y009680D02*
+X023646Y009680D01*
+X023599Y009797D02*
+X023246Y009797D01*
+X023129Y009856D02*
+X023576Y009856D01*
+X023560Y009910D02*
+X023700Y010100D01*
+X023560Y010240D01*
+X023360Y010110D01*
+X023376Y010090D02*
+X023635Y010090D01*
+X023622Y010148D02*
+X023454Y010148D01*
+X023532Y010207D02*
+X023563Y010207D01*
+X023606Y010031D02*
+X022467Y010031D01*
+X022511Y009973D02*
+X023576Y009973D01*
+X023552Y009914D02*
+X022548Y009914D01*
+X022510Y009910D02*
+X022380Y010100D01*
+X022520Y010240D01*
+X022710Y010110D01*
+X022739Y010090D02*
+X023311Y010090D01*
+X023194Y010148D02*
+X022856Y010148D01*
+X022890Y010180D02*
+X022940Y010420D01*
+X023130Y010420D01*
+X023180Y010180D01*
+X023141Y010207D02*
+X022909Y010207D01*
+X022924Y010265D02*
+X023126Y010265D01*
+X023112Y010324D02*
+X022938Y010324D01*
+X022680Y010090D02*
+X022423Y010090D01*
+X022442Y010148D02*
+X022622Y010148D01*
+X022563Y010207D02*
+X022530Y010207D01*
+X022524Y009856D02*
+X022886Y009856D01*
+X022827Y009797D02*
+X022501Y009797D01*
+X022477Y009739D02*
+X022769Y009739D01*
+X022750Y009680D02*
+X022454Y009680D01*
+X022430Y009720D02*
+X022200Y009680D01*
+X022200Y009480D01*
+X022420Y009440D01*
+X022460Y009446D02*
+X022750Y009446D01*
+X022750Y009505D02*
+X022312Y009505D01*
+X022250Y009563D02*
+X022750Y009563D01*
+X022750Y009622D02*
+X022250Y009622D01*
+X022483Y009388D02*
+X022799Y009388D01*
+X022886Y009329D02*
+X022506Y009329D01*
+X022530Y009271D02*
+X022870Y009271D01*
+X022835Y009212D02*
+X022545Y009212D01*
+X022500Y009240D02*
+X022380Y009060D01*
+X022520Y008920D01*
+X022700Y009040D01*
+X022770Y009000D01*
+X022920Y009340D01*
+X022800Y009154D02*
+X022506Y009154D01*
+X022467Y009095D02*
+X022765Y009095D01*
+X022650Y009037D02*
+X022483Y009037D01*
+X022542Y008978D02*
+X022562Y008978D01*
+X023236Y009212D02*
+X023555Y009212D01*
+X023570Y009240D02*
+X023700Y009060D01*
+X023633Y009095D02*
+X023275Y009095D01*
+X023294Y009037D02*
+X023333Y009037D01*
+X023450Y009037D02*
+X023617Y009037D01*
+X023558Y008978D02*
+X023538Y008978D01*
+X023594Y009154D02*
+X023255Y009154D01*
+X023216Y009271D02*
+X023560Y009271D01*
+X023773Y009505D02*
+X023338Y009505D01*
+X023341Y009563D02*
+X023850Y009563D01*
+X023850Y009622D02*
+X023330Y009622D01*
+X023652Y009720D02*
+X023640Y009760D01*
+X023625Y009799D01*
+X023607Y009837D01*
+X023587Y009873D01*
+X023565Y009908D01*
+X023160Y009340D02*
+X023188Y009356D01*
+X023215Y009375D01*
+X023238Y009397D01*
+X023259Y009422D01*
+X023277Y009450D01*
+X023292Y009479D01*
+X023302Y009510D01*
+X023310Y009541D01*
+X023313Y009574D01*
+X023312Y009606D01*
+X023308Y009639D01*
+X023299Y009670D01*
+X023287Y009700D01*
+X023272Y009729D01*
+X023253Y009756D01*
+X023231Y009780D01*
+X023207Y009801D01*
+X023180Y009820D01*
+X023151Y009835D01*
+X023120Y009846D01*
+X023089Y009854D01*
+X023056Y009858D01*
+X023024Y009858D01*
+X022991Y009854D01*
+X022960Y009846D01*
+X022929Y009835D01*
+X022900Y009820D01*
+X022873Y009801D01*
+X022849Y009780D01*
+X022827Y009756D01*
+X022808Y009729D01*
+X022793Y009700D01*
+X022781Y009670D01*
+X022772Y009639D01*
+X022768Y009606D01*
+X022767Y009574D01*
+X022770Y009541D01*
+X022778Y009510D01*
+X022788Y009479D01*
+X022803Y009450D01*
+X022821Y009422D01*
+X022842Y009397D01*
+X022865Y009375D01*
+X022892Y009356D01*
+X022920Y009340D01*
+X022712Y010106D02*
+X022754Y010129D01*
+X022797Y010148D01*
+X022842Y010165D01*
+X022888Y010177D01*
+X022422Y009424D02*
+X022437Y009377D01*
+X022455Y009331D01*
+X022477Y009287D01*
+X022502Y009245D01*
+X022428Y009722D02*
+X022439Y009762D01*
+X022453Y009801D01*
+X022469Y009838D01*
+X022488Y009875D01*
+X022509Y009910D01*
+X023649Y009441D02*
+X023639Y009399D01*
+X023626Y009358D01*
+X023610Y009318D01*
+X023591Y009279D01*
+X023569Y009242D01*
+X023359Y010110D02*
+X023316Y010133D01*
+X023272Y010153D01*
+X023226Y010169D01*
+X023180Y010181D01*
+X023082Y011268D02*
+X022142Y011268D01*
+X022142Y017168D01*
+X023082Y017168D01*
+X025682Y017168D01*
+X025762Y017168D01*
+X025762Y011268D01*
+X025682Y011268D01*
+X023082Y011268D01*
+X023082Y011898D01*
+X023082Y012598D02*
+X023082Y013868D01*
+X023082Y014568D02*
+X023082Y015839D01*
+X023082Y016539D02*
+X023082Y017168D01*
+X022500Y017820D02*
+X022350Y017820D01*
+X022300Y017870D01*
+X020400Y017870D01*
+X020350Y017820D01*
+X020200Y017820D01*
+X020183Y017822D01*
+X020166Y017826D01*
+X020150Y017833D01*
+X020136Y017843D01*
+X020123Y017856D01*
+X020113Y017870D01*
+X020106Y017886D01*
+X020102Y017903D01*
+X020100Y017920D01*
+X020100Y018620D01*
+X020102Y018637D01*
+X020106Y018654D01*
+X020113Y018670D01*
+X020123Y018684D01*
+X020136Y018697D01*
+X020150Y018707D01*
+X020166Y018714D01*
+X020183Y018718D01*
+X020200Y018720D01*
+X020350Y018720D01*
+X020400Y018670D01*
+X022300Y018670D01*
+X022350Y018720D01*
+X022500Y018720D01*
+X022517Y018718D01*
+X022534Y018714D01*
+X022550Y018707D01*
+X022564Y018697D01*
+X022577Y018684D01*
+X022587Y018670D01*
+X022594Y018654D01*
+X022598Y018637D01*
+X022600Y018620D01*
+X022600Y017920D01*
+X022598Y017903D01*
+X022594Y017886D01*
+X022587Y017870D01*
+X022577Y017856D01*
+X022564Y017843D01*
+X022550Y017833D01*
+X022534Y017826D01*
+X022517Y017822D01*
+X022500Y017820D01*
+X024962Y016189D02*
+X024964Y016217D01*
+X024970Y016244D01*
+X024979Y016270D01*
+X024992Y016295D01*
+X025009Y016318D01*
+X025028Y016338D01*
+X025050Y016355D01*
+X025074Y016369D01*
+X025100Y016379D01*
+X025127Y016386D01*
+X025155Y016389D01*
+X025183Y016388D01*
+X025210Y016383D01*
+X025237Y016374D01*
+X025262Y016362D01*
+X025285Y016347D01*
+X025306Y016328D01*
+X025324Y016307D01*
+X025339Y016283D01*
+X025350Y016257D01*
+X025358Y016231D01*
+X025362Y016203D01*
+X025362Y016175D01*
+X025358Y016147D01*
+X025350Y016121D01*
+X025339Y016095D01*
+X025324Y016071D01*
+X025306Y016050D01*
+X025285Y016031D01*
+X025262Y016016D01*
+X025237Y016004D01*
+X025210Y015995D01*
+X025183Y015990D01*
+X025155Y015989D01*
+X025127Y015992D01*
+X025100Y015999D01*
+X025074Y016009D01*
+X025050Y016023D01*
+X025028Y016040D01*
+X025009Y016060D01*
+X024992Y016083D01*
+X024979Y016108D01*
+X024970Y016134D01*
+X024964Y016161D01*
+X024962Y016189D01*
+X025682Y017168D02*
+X025682Y011268D01*
+X024962Y012249D02*
+X024964Y012277D01*
+X024970Y012304D01*
+X024979Y012330D01*
+X024992Y012355D01*
+X025009Y012378D01*
+X025028Y012398D01*
+X025050Y012415D01*
+X025074Y012429D01*
+X025100Y012439D01*
+X025127Y012446D01*
+X025155Y012449D01*
+X025183Y012448D01*
+X025210Y012443D01*
+X025237Y012434D01*
+X025262Y012422D01*
+X025285Y012407D01*
+X025306Y012388D01*
+X025324Y012367D01*
+X025339Y012343D01*
+X025350Y012317D01*
+X025358Y012291D01*
+X025362Y012263D01*
+X025362Y012235D01*
+X025358Y012207D01*
+X025350Y012181D01*
+X025339Y012155D01*
+X025324Y012131D01*
+X025306Y012110D01*
+X025285Y012091D01*
+X025262Y012076D01*
+X025237Y012064D01*
+X025210Y012055D01*
+X025183Y012050D01*
+X025155Y012049D01*
+X025127Y012052D01*
+X025100Y012059D01*
+X025074Y012069D01*
+X025050Y012083D01*
+X025028Y012100D01*
+X025009Y012120D01*
+X024992Y012143D01*
+X024979Y012168D01*
+X024970Y012194D01*
+X024964Y012221D01*
+X024962Y012249D01*
+X024962Y014219D02*
+X024964Y014247D01*
+X024970Y014274D01*
+X024979Y014300D01*
+X024992Y014325D01*
+X025009Y014348D01*
+X025028Y014368D01*
+X025050Y014385D01*
+X025074Y014399D01*
+X025100Y014409D01*
+X025127Y014416D01*
+X025155Y014419D01*
+X025183Y014418D01*
+X025210Y014413D01*
+X025237Y014404D01*
+X025262Y014392D01*
+X025285Y014377D01*
+X025306Y014358D01*
+X025324Y014337D01*
+X025339Y014313D01*
+X025350Y014287D01*
+X025358Y014261D01*
+X025362Y014233D01*
+X025362Y014205D01*
+X025358Y014177D01*
+X025350Y014151D01*
+X025339Y014125D01*
+X025324Y014101D01*
+X025306Y014080D01*
+X025285Y014061D01*
+X025262Y014046D01*
+X025237Y014034D01*
+X025210Y014025D01*
+X025183Y014020D01*
+X025155Y014019D01*
+X025127Y014022D01*
+X025100Y014029D01*
+X025074Y014039D01*
+X025050Y014053D01*
+X025028Y014070D01*
+X025009Y014090D01*
+X024992Y014113D01*
+X024979Y014138D01*
+X024970Y014164D01*
+X024964Y014191D01*
+X024962Y014219D01*
+X020050Y011870D02*
+X020050Y010870D01*
+X018450Y010870D01*
+X018450Y011870D01*
+X020050Y011870D01*
+X019500Y011370D02*
+X019250Y011370D01*
+X019250Y011620D01*
+X019250Y011370D02*
+X019250Y011120D01*
+X019250Y011370D02*
+X018850Y011120D01*
+X018850Y011620D01*
+X019250Y011370D01*
+X018650Y011370D01*
+X014906Y007991D02*
+X014906Y007350D01*
+X014586Y007350D01*
+X014479Y007457D01*
+X014479Y007670D01*
+X014586Y007777D01*
+X014906Y007777D01*
+X014261Y007670D02*
+X014261Y007564D01*
+X013834Y007564D01*
+X013834Y007670D02*
+X013834Y007457D01*
+X013941Y007350D01*
+X014155Y007350D01*
+X014261Y007670D02*
+X014155Y007777D01*
+X013941Y007777D01*
+X013834Y007670D01*
+X013618Y007777D02*
+X013405Y007777D01*
+X013511Y007884D02*
+X013511Y007457D01*
+X013618Y007350D01*
+X013187Y007350D02*
+X012867Y007350D01*
+X012760Y007457D01*
+X012867Y007564D01*
+X013187Y007564D01*
+X013187Y007670D02*
+X013187Y007350D01*
+X013187Y007670D02*
+X013080Y007777D01*
+X012867Y007777D01*
+X012543Y007777D02*
+X012437Y007777D01*
+X012223Y007564D01*
+X012223Y007777D02*
+X012223Y007350D01*
+X012006Y007350D02*
+X011685Y007350D01*
+X011578Y007457D01*
+X011578Y007670D01*
+X011685Y007777D01*
+X012006Y007777D01*
+X012006Y007243D01*
+X011899Y007136D01*
+X011792Y007136D01*
+X011361Y007564D02*
+X010934Y007564D01*
+X010934Y007670D02*
+X010934Y007457D01*
+X011041Y007350D01*
+X011254Y007350D01*
+X011361Y007564D02*
+X011361Y007670D01*
+X011254Y007777D01*
+X011041Y007777D01*
+X010934Y007670D01*
+X010718Y007777D02*
+X010504Y007777D01*
+X010611Y007884D02*
+X010611Y007457D01*
+X010718Y007350D01*
+X010287Y007350D02*
+X010287Y007670D01*
+X010180Y007777D01*
+X009860Y007777D01*
+X009860Y007350D01*
+X009644Y007350D02*
+X009430Y007350D01*
+X009537Y007350D02*
+X009537Y007991D01*
+X009430Y007991D02*
+X009644Y007991D01*
+X008700Y008720D02*
+X010600Y008720D01*
+X010650Y008670D01*
+X010800Y008670D01*
+X010817Y008672D01*
+X010834Y008676D01*
+X010850Y008683D01*
+X010864Y008693D01*
+X010877Y008706D01*
+X010887Y008720D01*
+X010894Y008736D01*
+X010898Y008753D01*
+X010900Y008770D01*
+X010900Y009470D01*
+X010898Y009487D01*
+X010894Y009504D01*
+X010887Y009520D01*
+X010877Y009534D01*
+X010864Y009547D01*
+X010850Y009557D01*
+X010834Y009564D01*
+X010817Y009568D01*
+X010800Y009570D01*
+X010650Y009570D01*
+X010600Y009520D01*
+X008700Y009520D01*
+X008650Y009570D01*
+X008500Y009570D01*
+X008483Y009568D01*
+X008466Y009564D01*
+X008450Y009557D01*
+X008436Y009547D01*
+X008423Y009534D01*
+X008413Y009520D01*
+X008406Y009504D01*
+X008402Y009487D01*
+X008400Y009470D01*
+X008400Y008770D01*
+X008402Y008753D01*
+X008406Y008736D01*
+X008413Y008720D01*
+X008423Y008706D01*
+X008436Y008693D01*
+X008450Y008683D01*
+X008466Y008676D01*
+X008483Y008672D01*
+X008500Y008670D01*
+X008650Y008670D01*
+X008700Y008720D01*
+X008650Y009870D02*
+X008700Y009920D01*
+X010600Y009920D01*
+X010650Y009870D01*
+X010800Y009870D01*
+X010817Y009872D01*
+X010834Y009876D01*
+X010850Y009883D01*
+X010864Y009893D01*
+X010877Y009906D01*
+X010887Y009920D01*
+X010894Y009936D01*
+X010898Y009953D01*
+X010900Y009970D01*
+X010900Y010670D01*
+X010898Y010687D01*
+X010894Y010704D01*
+X010887Y010720D01*
+X010877Y010734D01*
+X010864Y010747D01*
+X010850Y010757D01*
+X010834Y010764D01*
+X010817Y010768D01*
+X010800Y010770D01*
+X010650Y010770D01*
+X010600Y010720D01*
+X008700Y010720D01*
+X008650Y010770D01*
+X008500Y010770D01*
+X008483Y010768D01*
+X008466Y010764D01*
+X008450Y010757D01*
+X008436Y010747D01*
+X008423Y010734D01*
+X008413Y010720D01*
+X008406Y010704D01*
+X008402Y010687D01*
+X008400Y010670D01*
+X008400Y009970D01*
+X008402Y009953D01*
+X008406Y009936D01*
+X008413Y009920D01*
+X008423Y009906D01*
+X008436Y009893D01*
+X008450Y009883D01*
+X008466Y009876D01*
+X008483Y009872D01*
+X008500Y009870D01*
+X008650Y009870D01*
+X008650Y011070D02*
+X008700Y011120D01*
+X010600Y011120D01*
+X010650Y011070D01*
+X010800Y011070D01*
+X010817Y011072D01*
+X010834Y011076D01*
+X010850Y011083D01*
+X010864Y011093D01*
+X010877Y011106D01*
+X010887Y011120D01*
+X010894Y011136D01*
+X010898Y011153D01*
+X010900Y011170D01*
+X010900Y011870D01*
+X010898Y011887D01*
+X010894Y011904D01*
+X010887Y011920D01*
+X010877Y011934D01*
+X010864Y011947D01*
+X010850Y011957D01*
+X010834Y011964D01*
+X010817Y011968D01*
+X010800Y011970D01*
+X010650Y011970D01*
+X010600Y011920D01*
+X008700Y011920D01*
+X008650Y011970D01*
+X008500Y011970D01*
+X008483Y011968D01*
+X008466Y011964D01*
+X008450Y011957D01*
+X008436Y011947D01*
+X008423Y011934D01*
+X008413Y011920D01*
+X008406Y011904D01*
+X008402Y011887D01*
+X008400Y011870D01*
+X008400Y011170D01*
+X008402Y011153D01*
+X008406Y011136D01*
+X008413Y011120D01*
+X008423Y011106D01*
+X008436Y011093D01*
+X008450Y011083D01*
+X008466Y011076D01*
+X008483Y011072D01*
+X008500Y011070D01*
+X008650Y011070D01*
+X008650Y012270D02*
+X008500Y012270D01*
+X008483Y012272D01*
+X008466Y012276D01*
+X008450Y012283D01*
+X008436Y012293D01*
+X008423Y012306D01*
+X008413Y012320D01*
+X008406Y012336D01*
+X008402Y012353D01*
+X008400Y012370D01*
+X008400Y013070D01*
+X008402Y013087D01*
+X008406Y013104D01*
+X008413Y013120D01*
+X008423Y013134D01*
+X008436Y013147D01*
+X008450Y013157D01*
+X008466Y013164D01*
+X008483Y013168D01*
+X008500Y013170D01*
+X008650Y013170D01*
+X008700Y013120D01*
+X010600Y013120D01*
+X010650Y013170D01*
+X010800Y013170D01*
+X010817Y013168D01*
+X010834Y013164D01*
+X010850Y013157D01*
+X010864Y013147D01*
+X010877Y013134D01*
+X010887Y013120D01*
+X010894Y013104D01*
+X010898Y013087D01*
+X010900Y013070D01*
+X010900Y012370D01*
+X010898Y012353D01*
+X010894Y012336D01*
+X010887Y012320D01*
+X010877Y012306D01*
+X010864Y012293D01*
+X010850Y012283D01*
+X010834Y012276D01*
+X010817Y012272D01*
+X010800Y012270D01*
+X010650Y012270D01*
+X010600Y012320D01*
+X008700Y012320D01*
+X008650Y012270D01*
+X008200Y014620D02*
+X007600Y014620D01*
+X007600Y014720D01*
+X007500Y014720D01*
+X008200Y014720D02*
+X008200Y014620D01*
+X008200Y014720D02*
+X008300Y014720D01*
+X009100Y015070D02*
+X009100Y015420D01*
+X009100Y016420D01*
+X009100Y016770D01*
+X008300Y017120D02*
+X008200Y017120D01*
+X008200Y017220D01*
+X007600Y017220D01*
+X007600Y017120D01*
+X007500Y017120D01*
+X006700Y016770D02*
+X006700Y016420D01*
+X006700Y015470D01*
+X006700Y015070D01*
+X007800Y015920D02*
+X007802Y015940D01*
+X007808Y015958D01*
+X007817Y015976D01*
+X007829Y015991D01*
+X007844Y016003D01*
+X007862Y016012D01*
+X007880Y016018D01*
+X007900Y016020D01*
+X007920Y016018D01*
+X007938Y016012D01*
+X007956Y016003D01*
+X007971Y015991D01*
+X007983Y015976D01*
+X007992Y015958D01*
+X007998Y015940D01*
+X008000Y015920D01*
+X007998Y015900D01*
+X007992Y015882D01*
+X007983Y015864D01*
+X007971Y015849D01*
+X007956Y015837D01*
+X007938Y015828D01*
+X007920Y015822D01*
+X007900Y015820D01*
+X007880Y015822D01*
+X007862Y015828D01*
+X007844Y015837D01*
+X007829Y015849D01*
+X007817Y015864D01*
+X007808Y015882D01*
+X007802Y015900D01*
+X007800Y015920D01*
+X007200Y015920D02*
+X007202Y015972D01*
+X007208Y016024D01*
+X007218Y016076D01*
+X007231Y016126D01*
+X007248Y016176D01*
+X007269Y016224D01*
+X007294Y016270D01*
+X007322Y016314D01*
+X007353Y016356D01*
+X007387Y016396D01*
+X007424Y016433D01*
+X007464Y016467D01*
+X007506Y016498D01*
+X007550Y016526D01*
+X007596Y016551D01*
+X007644Y016572D01*
+X007694Y016589D01*
+X007744Y016602D01*
+X007796Y016612D01*
+X007848Y016618D01*
+X007900Y016620D01*
+X007952Y016618D01*
+X008004Y016612D01*
+X008056Y016602D01*
+X008106Y016589D01*
+X008156Y016572D01*
+X008204Y016551D01*
+X008250Y016526D01*
+X008294Y016498D01*
+X008336Y016467D01*
+X008376Y016433D01*
+X008413Y016396D01*
+X008447Y016356D01*
+X008478Y016314D01*
+X008506Y016270D01*
+X008531Y016224D01*
+X008552Y016176D01*
+X008569Y016126D01*
+X008582Y016076D01*
+X008592Y016024D01*
+X008598Y015972D01*
+X008600Y015920D01*
+X008598Y015868D01*
+X008592Y015816D01*
+X008582Y015764D01*
+X008569Y015714D01*
+X008552Y015664D01*
+X008531Y015616D01*
+X008506Y015570D01*
+X008478Y015526D01*
+X008447Y015484D01*
+X008413Y015444D01*
+X008376Y015407D01*
+X008336Y015373D01*
+X008294Y015342D01*
+X008250Y015314D01*
+X008204Y015289D01*
+X008156Y015268D01*
+X008106Y015251D01*
+X008056Y015238D01*
+X008004Y015228D01*
+X007952Y015222D01*
+X007900Y015220D01*
+X007848Y015222D01*
+X007796Y015228D01*
+X007744Y015238D01*
+X007694Y015251D01*
+X007644Y015268D01*
+X007596Y015289D01*
+X007550Y015314D01*
+X007506Y015342D01*
+X007464Y015373D01*
+X007424Y015407D01*
+X007387Y015444D01*
+X007353Y015484D01*
+X007322Y015526D01*
+X007294Y015570D01*
+X007269Y015616D01*
+X007248Y015664D01*
+X007231Y015714D01*
+X007218Y015764D01*
+X007208Y015816D01*
+X007202Y015868D01*
+X007200Y015920D01*
+X010550Y016320D02*
+X010550Y017020D01*
+X010552Y017037D01*
+X010556Y017054D01*
+X010563Y017070D01*
+X010573Y017084D01*
+X010586Y017097D01*
+X010600Y017107D01*
+X010616Y017114D01*
+X010633Y017118D01*
+X010650Y017120D01*
+X010800Y017120D01*
+X010850Y017070D01*
+X012750Y017070D01*
+X012800Y017120D01*
+X012950Y017120D01*
+X012967Y017118D01*
+X012984Y017114D01*
+X013000Y017107D01*
+X013014Y017097D01*
+X013027Y017084D01*
+X013037Y017070D01*
+X013044Y017054D01*
+X013048Y017037D01*
+X013050Y017020D01*
+X013050Y016320D01*
+X013048Y016303D01*
+X013044Y016286D01*
+X013037Y016270D01*
+X013027Y016256D01*
+X013014Y016243D01*
+X013000Y016233D01*
+X012984Y016226D01*
+X012967Y016222D01*
+X012950Y016220D01*
+X012800Y016220D01*
+X012750Y016270D01*
+X010850Y016270D01*
+X010800Y016220D01*
+X010650Y016220D01*
+X010633Y016222D01*
+X010616Y016226D01*
+X010600Y016233D01*
+X010586Y016243D01*
+X010573Y016256D01*
+X010563Y016270D01*
+X010556Y016286D01*
+X010552Y016303D01*
+X010550Y016320D01*
+X010650Y017270D02*
+X010800Y017270D01*
+X010850Y017320D01*
+X012750Y017320D01*
+X012800Y017270D01*
+X012950Y017270D01*
+X012967Y017272D01*
+X012984Y017276D01*
+X013000Y017283D01*
+X013014Y017293D01*
+X013027Y017306D01*
+X013037Y017320D01*
+X013044Y017336D01*
+X013048Y017353D01*
+X013050Y017370D01*
+X013050Y018070D01*
+X013048Y018087D01*
+X013044Y018104D01*
+X013037Y018120D01*
+X013027Y018134D01*
+X013014Y018147D01*
+X013000Y018157D01*
+X012984Y018164D01*
+X012967Y018168D01*
+X012950Y018170D01*
+X012800Y018170D01*
+X012750Y018120D01*
+X010850Y018120D01*
+X010800Y018170D01*
+X010650Y018170D01*
+X010633Y018168D01*
+X010616Y018164D01*
+X010600Y018157D01*
+X010586Y018147D01*
+X010573Y018134D01*
+X010563Y018120D01*
+X010556Y018104D01*
+X010552Y018087D01*
+X010550Y018070D01*
+X010550Y017370D01*
+X010552Y017353D01*
+X010556Y017336D01*
+X010563Y017320D01*
+X010573Y017306D01*
+X010586Y017293D01*
+X010600Y017283D01*
+X010616Y017276D01*
+X010633Y017272D01*
+X010650Y017270D01*
+X010650Y018370D02*
+X010800Y018370D01*
+X010850Y018420D01*
+X012750Y018420D01*
+X012800Y018370D01*
+X012950Y018370D01*
+X012967Y018372D01*
+X012984Y018376D01*
+X013000Y018383D01*
+X013014Y018393D01*
+X013027Y018406D01*
+X013037Y018420D01*
+X013044Y018436D01*
+X013048Y018453D01*
+X013050Y018470D01*
+X013050Y019170D01*
+X013048Y019187D01*
+X013044Y019204D01*
+X013037Y019220D01*
+X013027Y019234D01*
+X013014Y019247D01*
+X013000Y019257D01*
+X012984Y019264D01*
+X012967Y019268D01*
+X012950Y019270D01*
+X012800Y019270D01*
+X012750Y019220D01*
+X010850Y019220D01*
+X010800Y019270D01*
+X010650Y019270D01*
+X010633Y019268D01*
+X010616Y019264D01*
+X010600Y019257D01*
+X010586Y019247D01*
+X010573Y019234D01*
+X010563Y019220D01*
+X010556Y019204D01*
+X010552Y019187D01*
+X010550Y019170D01*
+X010550Y018470D01*
+X010552Y018453D01*
+X010556Y018436D01*
+X010563Y018420D01*
+X010573Y018406D01*
+X010586Y018393D01*
+X010600Y018383D01*
+X010616Y018376D01*
+X010633Y018372D01*
+X010650Y018370D01*
+X010550Y020020D02*
+X010300Y020270D01*
+X010050Y020020D01*
+X009550Y020020D01*
+X009300Y020270D01*
+X009300Y020770D01*
+X009550Y021020D01*
+X010050Y021020D01*
+X010300Y020770D01*
+X010550Y021020D01*
+X011050Y021020D01*
+X011300Y020770D01*
+X011550Y021020D01*
+X012050Y021020D01*
+X012300Y020770D01*
+X012550Y021020D01*
+X013050Y021020D01*
+X013300Y020770D01*
+X013550Y021020D01*
+X014050Y021020D01*
+X014300Y020770D01*
+X014550Y021020D01*
+X015050Y021020D01*
+X015300Y020770D01*
+X015550Y021020D01*
+X016050Y021020D01*
+X016300Y020770D01*
+X016550Y021020D01*
+X017050Y021020D01*
+X017300Y020770D01*
+X017300Y020270D01*
+X017050Y020020D01*
+X016550Y020020D01*
+X016300Y020270D01*
+X016050Y020020D01*
+X015550Y020020D01*
+X015300Y020270D01*
+X015300Y020770D01*
+X015300Y020270D02*
+X015050Y020020D01*
+X014550Y020020D01*
+X014300Y020270D01*
+X014050Y020020D01*
+X013550Y020020D01*
+X013300Y020270D01*
+X013050Y020020D01*
+X012550Y020020D01*
+X012300Y020270D01*
+X012300Y020770D01*
+X012300Y020270D02*
+X012050Y020020D01*
+X011550Y020020D01*
+X011300Y020270D01*
+X011050Y020020D01*
+X010550Y020020D01*
+X010300Y020270D02*
+X010300Y020770D01*
+X011300Y020770D02*
+X011300Y020270D01*
+X013300Y020270D02*
+X013300Y020770D01*
+X014300Y020770D02*
+X014300Y020270D01*
+X016300Y020270D02*
+X016300Y020770D01*
+X017850Y020770D02*
+X017850Y020270D01*
+X018100Y020020D01*
+X018600Y020020D01*
+X018850Y020270D01*
+X018850Y020770D01*
+X018600Y021020D01*
+X018100Y021020D01*
+X017850Y020770D01*
+X018850Y020770D02*
+X019100Y021020D01*
+X019600Y021020D01*
+X019850Y020770D01*
+X020100Y021020D01*
+X020600Y021020D01*
+X020850Y020770D01*
+X021100Y021020D01*
+X021600Y021020D01*
+X021850Y020770D01*
+X022100Y021020D01*
+X022600Y021020D01*
+X022850Y020770D01*
+X023100Y021020D01*
+X023600Y021020D01*
+X023850Y020770D01*
+X024100Y021020D01*
+X024600Y021020D01*
+X024850Y020770D01*
+X025100Y021020D01*
+X025600Y021020D01*
+X025850Y020770D01*
+X025850Y020270D01*
+X025600Y020020D01*
+X025100Y020020D01*
+X024850Y020270D01*
+X024600Y020020D01*
+X024100Y020020D01*
+X023850Y020270D01*
+X023850Y020770D01*
+X023850Y020270D02*
+X023600Y020020D01*
+X023100Y020020D01*
+X022850Y020270D01*
+X022600Y020020D01*
+X022100Y020020D01*
+X021850Y020270D01*
+X021600Y020020D01*
+X021100Y020020D01*
+X020850Y020270D01*
+X020850Y020770D01*
+X020850Y020270D02*
+X020600Y020020D01*
+X020100Y020020D01*
+X019850Y020270D01*
+X019600Y020020D01*
+X019100Y020020D01*
+X018850Y020270D01*
+X019850Y020270D02*
+X019850Y020770D01*
+X021850Y020770D02*
+X021850Y020270D01*
+X022850Y020270D02*
+X022850Y020770D01*
+X024850Y020770D02*
+X024850Y020270D01*
+X023073Y007991D02*
+X023073Y007350D01*
+X023150Y002020D02*
+X023650Y002020D01*
+X023900Y001770D01*
+X024150Y002020D01*
+X024650Y002020D01*
+X024900Y001770D01*
+X025150Y002020D01*
+X025650Y002020D01*
+X025900Y001770D01*
+X025900Y001270D01*
+X025650Y001020D01*
+X025150Y001020D01*
+X024900Y001270D01*
+X024650Y001020D01*
+X024150Y001020D01*
+X023900Y001270D01*
+X023900Y001770D01*
+X023900Y001270D02*
+X023650Y001020D01*
+X023150Y001020D01*
+X022900Y001270D01*
+X022650Y001020D01*
+X022150Y001020D01*
+X021900Y001270D01*
+X021650Y001020D01*
+X021150Y001020D01*
+X020900Y001270D01*
+X020650Y001020D01*
+X020150Y001020D01*
+X019900Y001270D01*
+X019900Y001770D01*
+X020150Y002020D01*
+X020650Y002020D01*
+X020900Y001770D01*
+X021150Y002020D01*
+X021650Y002020D01*
+X021900Y001770D01*
+X022150Y002020D01*
+X022650Y002020D01*
+X022900Y001770D01*
+X023150Y002020D01*
+X022900Y001770D02*
+X022900Y001270D01*
+X021900Y001270D02*
+X021900Y001770D01*
+X020900Y001770D02*
+X020900Y001270D01*
+X018850Y001320D02*
+X018600Y001070D01*
+X018100Y001070D01*
+X017850Y001320D01*
+X017600Y001070D01*
+X017100Y001070D01*
+X016850Y001320D01*
+X016850Y001820D01*
+X017100Y002070D01*
+X017600Y002070D01*
+X017850Y001820D01*
+X018100Y002070D01*
+X018600Y002070D01*
+X018850Y001820D01*
+X018850Y001320D01*
+X017850Y001320D02*
+X017850Y001820D01*
+X016850Y001820D02*
+X016600Y002070D01*
+X016100Y002070D01*
+X015850Y001820D01*
+X015600Y002070D01*
+X015100Y002070D01*
+X014850Y001820D01*
+X014600Y002070D01*
+X014100Y002070D01*
+X013850Y001820D01*
+X013600Y002070D01*
+X013100Y002070D01*
+X012850Y001820D01*
+X012850Y001320D01*
+X013100Y001070D01*
+X013600Y001070D01*
+X013850Y001320D01*
+X013850Y001820D01*
+X013850Y001320D02*
+X014100Y001070D01*
+X014600Y001070D01*
+X014850Y001320D01*
+X014850Y001820D01*
+X014850Y001320D02*
+X015100Y001070D01*
+X015600Y001070D01*
+X015850Y001320D01*
+X015850Y001820D01*
+X015850Y001320D02*
+X016100Y001070D01*
+X016600Y001070D01*
+X016850Y001320D01*
+X024900Y001270D02*
+X024900Y001770D01*
+X005050Y005670D02*
+X004800Y005670D01*
+X004550Y005670D01*
+X004550Y006670D01*
+X004800Y006670D01*
+X005050Y006670D01*
+X005050Y005670D01*
+X004800Y005670D02*
+X004800Y005470D01*
+X004800Y006670D02*
+X004800Y006870D01*
+D16*
+X009000Y015420D02*
+X009100Y015420D01*
+X009000Y015420D02*
+X009000Y016420D01*
+X009100Y016420D01*
+X006800Y016420D02*
+X006800Y015470D01*
+X006700Y015470D01*
+X006700Y016420D02*
+X006800Y016420D01*
+D17*
+X010380Y016670D03*
+X010380Y017720D03*
+X010380Y018820D03*
+X013220Y018820D03*
+X013220Y017720D03*
+X013220Y016670D03*
+X011070Y012720D03*
+X011070Y011520D03*
+X011070Y010320D03*
+X011070Y009120D03*
+X008230Y009120D03*
+X008230Y010320D03*
+X008230Y011520D03*
+X008230Y012720D03*
+X019930Y018270D03*
+X022770Y018270D03*
+D18*
+X008760Y020859D02*
+X008631Y020794D01*
+X008632Y020795D02*
+X008601Y020851D01*
+X008567Y020905D01*
+X008529Y020958D01*
+X008489Y021007D01*
+X008445Y021054D01*
+X008398Y021099D01*
+X008349Y021140D01*
+X008298Y021178D01*
+X008244Y021213D01*
+X008188Y021245D01*
+X008131Y021273D01*
+X008071Y021298D01*
+X008011Y021319D01*
+X007949Y021336D01*
+X007886Y021349D01*
+X007822Y021359D01*
+X007758Y021364D01*
+X007694Y021366D01*
+X007630Y021364D01*
+X007566Y021357D01*
+X007503Y021347D01*
+X007440Y021333D01*
+X007379Y021315D01*
+X007318Y021294D01*
+X007259Y021269D01*
+X007202Y021240D01*
+X007146Y021207D01*
+X007093Y021172D01*
+X007042Y021133D01*
+X006993Y021091D01*
+X006947Y021046D01*
+X006904Y020999D01*
+X006864Y020948D01*
+X006827Y020896D01*
+X006793Y020841D01*
+X006763Y020785D01*
+X006736Y020726D01*
+X006713Y020666D01*
+X006694Y020605D01*
+X006678Y020543D01*
+X006666Y020480D01*
+X006658Y020416D01*
+X006654Y020352D01*
+X006654Y020288D01*
+X006658Y020224D01*
+X006666Y020160D01*
+X006678Y020097D01*
+X006694Y020035D01*
+X006713Y019974D01*
+X006736Y019914D01*
+X006763Y019855D01*
+X006793Y019799D01*
+X006827Y019744D01*
+X006864Y019692D01*
+X006904Y019641D01*
+X006947Y019594D01*
+X006993Y019549D01*
+X007042Y019507D01*
+X007093Y019468D01*
+X007146Y019433D01*
+X007202Y019400D01*
+X007259Y019371D01*
+X007318Y019346D01*
+X007379Y019325D01*
+X007440Y019307D01*
+X007503Y019293D01*
+X007566Y019283D01*
+X007630Y019276D01*
+X007694Y019274D01*
+X007758Y019276D01*
+X007822Y019281D01*
+X007886Y019291D01*
+X007949Y019304D01*
+X008011Y019321D01*
+X008071Y019342D01*
+X008131Y019367D01*
+X008188Y019395D01*
+X008244Y019427D01*
+X008298Y019462D01*
+X008349Y019500D01*
+X008398Y019541D01*
+X008445Y019586D01*
+X008489Y019633D01*
+X008529Y019682D01*
+X008567Y019735D01*
+X008601Y019789D01*
+X008632Y019845D01*
+X008760Y019781D01*
+X008761Y019781D01*
+X008728Y019721D01*
+X008692Y019663D01*
+X008653Y019607D01*
+X008610Y019553D01*
+X008565Y019502D01*
+X008516Y019454D01*
+X008465Y019409D01*
+X008411Y019366D01*
+X008356Y019327D01*
+X008297Y019291D01*
+X008237Y019258D01*
+X008176Y019229D01*
+X008112Y019204D01*
+X008047Y019182D01*
+X007981Y019164D01*
+X007915Y019150D01*
+X007847Y019139D01*
+X007779Y019133D01*
+X007711Y019130D01*
+X007642Y019131D01*
+X007574Y019137D01*
+X007506Y019146D01*
+X007439Y019159D01*
+X007373Y019176D01*
+X007308Y019196D01*
+X007244Y019221D01*
+X007182Y019249D01*
+X007121Y019280D01*
+X007062Y019315D01*
+X007006Y019354D01*
+X006951Y019395D01*
+X006900Y019439D01*
+X006850Y019487D01*
+X006804Y019537D01*
+X006760Y019590D01*
+X006720Y019645D01*
+X006683Y019702D01*
+X006649Y019762D01*
+X006619Y019823D01*
+X006592Y019886D01*
+X006569Y019950D01*
+X006550Y020016D01*
+X006534Y020082D01*
+X006522Y020150D01*
+X006514Y020218D01*
+X006510Y020286D01*
+X006510Y020354D01*
+X006514Y020422D01*
+X006522Y020490D01*
+X006534Y020558D01*
+X006550Y020624D01*
+X006569Y020690D01*
+X006592Y020754D01*
+X006619Y020817D01*
+X006649Y020878D01*
+X006683Y020938D01*
+X006720Y020995D01*
+X006760Y021050D01*
+X006804Y021103D01*
+X006850Y021153D01*
+X006900Y021201D01*
+X006951Y021245D01*
+X007006Y021286D01*
+X007062Y021325D01*
+X007121Y021360D01*
+X007182Y021391D01*
+X007244Y021419D01*
+X007308Y021444D01*
+X007373Y021464D01*
+X007439Y021481D01*
+X007506Y021494D01*
+X007574Y021503D01*
+X007642Y021509D01*
+X007711Y021510D01*
+X007779Y021507D01*
+X007847Y021501D01*
+X007915Y021490D01*
+X007981Y021476D01*
+X008047Y021458D01*
+X008112Y021436D01*
+X008176Y021411D01*
+X008237Y021382D01*
+X008297Y021349D01*
+X008356Y021313D01*
+X008411Y021274D01*
+X008465Y021231D01*
+X008516Y021186D01*
+X008565Y021138D01*
+X008610Y021087D01*
+X008653Y021033D01*
+X008692Y020977D01*
+X008728Y020919D01*
+X008761Y020859D01*
+X008748Y020853D01*
+X008716Y020913D01*
+X008679Y020971D01*
+X008640Y021027D01*
+X008597Y021080D01*
+X008552Y021131D01*
+X008503Y021179D01*
+X008452Y021224D01*
+X008398Y021266D01*
+X008342Y021305D01*
+X008284Y021341D01*
+X008224Y021373D01*
+X008162Y021402D01*
+X008098Y021427D01*
+X008033Y021448D01*
+X007967Y021465D01*
+X007900Y021479D01*
+X007833Y021488D01*
+X007765Y021494D01*
+X007697Y021496D01*
+X007628Y021494D01*
+X007560Y021488D01*
+X007493Y021478D01*
+X007426Y021464D01*
+X007360Y021446D01*
+X007295Y021424D01*
+X007232Y021399D01*
+X007170Y021370D01*
+X007110Y021337D01*
+X007052Y021301D01*
+X006996Y021262D01*
+X006943Y021220D01*
+X006892Y021174D01*
+X006843Y021126D01*
+X006798Y021075D01*
+X006756Y021021D01*
+X006717Y020965D01*
+X006681Y020907D01*
+X006649Y020847D01*
+X006620Y020785D01*
+X006595Y020721D01*
+X006573Y020657D01*
+X006556Y020591D01*
+X006542Y020524D01*
+X006532Y020456D01*
+X006526Y020388D01*
+X006524Y020320D01*
+X006526Y020252D01*
+X006532Y020184D01*
+X006542Y020116D01*
+X006556Y020049D01*
+X006573Y019983D01*
+X006595Y019919D01*
+X006620Y019855D01*
+X006649Y019793D01*
+X006681Y019733D01*
+X006717Y019675D01*
+X006756Y019619D01*
+X006798Y019565D01*
+X006843Y019514D01*
+X006892Y019466D01*
+X006943Y019420D01*
+X006996Y019378D01*
+X007052Y019339D01*
+X007110Y019303D01*
+X007170Y019270D01*
+X007232Y019241D01*
+X007295Y019216D01*
+X007360Y019194D01*
+X007426Y019176D01*
+X007493Y019162D01*
+X007560Y019152D01*
+X007628Y019146D01*
+X007697Y019144D01*
+X007765Y019146D01*
+X007833Y019152D01*
+X007900Y019161D01*
+X007967Y019175D01*
+X008033Y019192D01*
+X008098Y019213D01*
+X008162Y019238D01*
+X008224Y019267D01*
+X008284Y019299D01*
+X008342Y019335D01*
+X008398Y019374D01*
+X008452Y019416D01*
+X008503Y019461D01*
+X008552Y019509D01*
+X008597Y019560D01*
+X008640Y019613D01*
+X008679Y019669D01*
+X008716Y019727D01*
+X008748Y019787D01*
+X008736Y019793D01*
+X008703Y019734D01*
+X008668Y019677D01*
+X008629Y019622D01*
+X008587Y019569D01*
+X008542Y019519D01*
+X008494Y019471D01*
+X008443Y019427D01*
+X008390Y019385D01*
+X008335Y019347D01*
+X008277Y019311D01*
+X008217Y019280D01*
+X008156Y019251D01*
+X008093Y019227D01*
+X008029Y019206D01*
+X007964Y019188D01*
+X007898Y019175D01*
+X007831Y019165D01*
+X007764Y019160D01*
+X007697Y019158D01*
+X007629Y019160D01*
+X007562Y019166D01*
+X007495Y019176D01*
+X007429Y019190D01*
+X007364Y019208D01*
+X007300Y019229D01*
+X007237Y019254D01*
+X007176Y019283D01*
+X007117Y019315D01*
+X007060Y019350D01*
+X007004Y019389D01*
+X006952Y019431D01*
+X006901Y019476D01*
+X006854Y019524D01*
+X006809Y019574D01*
+X006767Y019627D01*
+X006728Y019683D01*
+X006693Y019740D01*
+X006661Y019799D01*
+X006633Y019861D01*
+X006608Y019923D01*
+X006587Y019987D01*
+X006569Y020053D01*
+X006556Y020119D01*
+X006546Y020185D01*
+X006540Y020253D01*
+X006538Y020320D01*
+X006540Y020387D01*
+X006546Y020455D01*
+X006556Y020521D01*
+X006569Y020587D01*
+X006587Y020653D01*
+X006608Y020717D01*
+X006633Y020779D01*
+X006661Y020841D01*
+X006693Y020900D01*
+X006728Y020957D01*
+X006767Y021013D01*
+X006809Y021066D01*
+X006854Y021116D01*
+X006901Y021164D01*
+X006952Y021209D01*
+X007004Y021251D01*
+X007060Y021290D01*
+X007117Y021325D01*
+X007176Y021357D01*
+X007237Y021386D01*
+X007300Y021411D01*
+X007364Y021432D01*
+X007429Y021450D01*
+X007495Y021464D01*
+X007562Y021474D01*
+X007629Y021480D01*
+X007697Y021482D01*
+X007764Y021480D01*
+X007831Y021475D01*
+X007898Y021465D01*
+X007964Y021452D01*
+X008029Y021434D01*
+X008093Y021413D01*
+X008156Y021389D01*
+X008217Y021360D01*
+X008277Y021329D01*
+X008335Y021293D01*
+X008390Y021255D01*
+X008443Y021213D01*
+X008494Y021169D01*
+X008542Y021121D01*
+X008587Y021071D01*
+X008629Y021018D01*
+X008668Y020963D01*
+X008703Y020906D01*
+X008736Y020847D01*
+X008723Y020841D01*
+X008691Y020900D01*
+X008655Y020957D01*
+X008616Y021012D01*
+X008574Y021064D01*
+X008529Y021114D01*
+X008481Y021162D01*
+X008430Y021206D01*
+X008377Y021247D01*
+X008321Y021285D01*
+X008264Y021320D01*
+X008204Y021351D01*
+X008143Y021379D01*
+X008080Y021403D01*
+X008015Y021424D01*
+X007950Y021440D01*
+X007884Y021453D01*
+X007817Y021462D01*
+X007750Y021467D01*
+X007683Y021468D01*
+X007615Y021465D01*
+X007548Y021458D01*
+X007482Y021447D01*
+X007416Y021432D01*
+X007351Y021414D01*
+X007288Y021391D01*
+X007226Y021365D01*
+X007165Y021336D01*
+X007106Y021303D01*
+X007050Y021266D01*
+X006995Y021226D01*
+X006943Y021183D01*
+X006894Y021137D01*
+X006847Y021089D01*
+X006804Y021037D01*
+X006763Y020984D01*
+X006726Y020928D01*
+X006692Y020869D01*
+X006661Y020809D01*
+X006635Y020747D01*
+X006611Y020684D01*
+X006592Y020620D01*
+X006576Y020554D01*
+X006564Y020488D01*
+X006556Y020421D01*
+X006552Y020354D01*
+X006552Y020286D01*
+X006556Y020219D01*
+X006564Y020152D01*
+X006576Y020086D01*
+X006592Y020020D01*
+X006611Y019956D01*
+X006635Y019893D01*
+X006661Y019831D01*
+X006692Y019771D01*
+X006726Y019712D01*
+X006763Y019656D01*
+X006804Y019603D01*
+X006847Y019551D01*
+X006894Y019503D01*
+X006943Y019457D01*
+X006995Y019414D01*
+X007050Y019374D01*
+X007106Y019337D01*
+X007165Y019304D01*
+X007226Y019275D01*
+X007288Y019249D01*
+X007351Y019226D01*
+X007416Y019208D01*
+X007482Y019193D01*
+X007548Y019182D01*
+X007615Y019175D01*
+X007683Y019172D01*
+X007750Y019173D01*
+X007817Y019178D01*
+X007884Y019187D01*
+X007950Y019200D01*
+X008015Y019216D01*
+X008080Y019237D01*
+X008143Y019261D01*
+X008204Y019289D01*
+X008264Y019320D01*
+X008321Y019355D01*
+X008377Y019393D01*
+X008430Y019434D01*
+X008481Y019478D01*
+X008529Y019526D01*
+X008574Y019576D01*
+X008616Y019628D01*
+X008655Y019683D01*
+X008691Y019740D01*
+X008723Y019799D01*
+X008711Y019806D01*
+X008679Y019747D01*
+X008643Y019691D01*
+X008605Y019637D01*
+X008563Y019585D01*
+X008519Y019535D01*
+X008471Y019489D01*
+X008421Y019445D01*
+X008369Y019404D01*
+X008314Y019366D01*
+X008257Y019332D01*
+X008198Y019301D01*
+X008137Y019274D01*
+X008075Y019250D01*
+X008012Y019230D01*
+X007947Y019213D01*
+X007882Y019201D01*
+X007816Y019192D01*
+X007749Y019187D01*
+X007683Y019186D01*
+X007616Y019189D01*
+X007550Y019196D01*
+X007484Y019207D01*
+X007419Y019221D01*
+X007355Y019240D01*
+X007293Y019262D01*
+X007231Y019287D01*
+X007171Y019317D01*
+X007114Y019349D01*
+X007058Y019386D01*
+X007004Y019425D01*
+X006953Y019467D01*
+X006904Y019512D01*
+X006858Y019561D01*
+X006815Y019611D01*
+X006775Y019664D01*
+X006738Y019720D01*
+X006704Y019777D01*
+X006674Y019837D01*
+X006648Y019898D01*
+X006625Y019960D01*
+X006605Y020024D01*
+X006590Y020089D01*
+X006578Y020154D01*
+X006570Y020220D01*
+X006566Y020287D01*
+X006566Y020353D01*
+X006570Y020420D01*
+X006578Y020486D01*
+X006590Y020551D01*
+X006605Y020616D01*
+X006625Y020680D01*
+X006648Y020742D01*
+X006674Y020803D01*
+X006704Y020863D01*
+X006738Y020920D01*
+X006775Y020976D01*
+X006815Y021029D01*
+X006858Y021079D01*
+X006904Y021128D01*
+X006953Y021173D01*
+X007004Y021215D01*
+X007058Y021254D01*
+X007114Y021291D01*
+X007171Y021323D01*
+X007231Y021353D01*
+X007293Y021378D01*
+X007355Y021400D01*
+X007419Y021419D01*
+X007484Y021433D01*
+X007550Y021444D01*
+X007616Y021451D01*
+X007683Y021454D01*
+X007749Y021453D01*
+X007816Y021448D01*
+X007882Y021439D01*
+X007947Y021427D01*
+X008012Y021410D01*
+X008075Y021390D01*
+X008137Y021366D01*
+X008198Y021339D01*
+X008257Y021308D01*
+X008314Y021274D01*
+X008369Y021236D01*
+X008421Y021195D01*
+X008471Y021151D01*
+X008519Y021105D01*
+X008563Y021055D01*
+X008605Y021003D01*
+X008643Y020949D01*
+X008679Y020893D01*
+X008711Y020834D01*
+X008698Y020828D01*
+X008667Y020886D01*
+X008632Y020941D01*
+X008594Y020995D01*
+X008553Y021046D01*
+X008509Y021095D01*
+X008462Y021141D01*
+X008412Y021184D01*
+X008360Y021225D01*
+X008306Y021262D01*
+X008250Y021296D01*
+X008192Y021326D01*
+X008132Y021353D01*
+X008070Y021377D01*
+X008008Y021397D01*
+X007944Y021413D01*
+X007879Y021426D01*
+X007814Y021434D01*
+X007749Y021439D01*
+X007683Y021440D01*
+X007617Y021437D01*
+X007552Y021430D01*
+X007487Y021420D01*
+X007423Y021405D01*
+X007360Y021387D01*
+X007298Y021365D01*
+X007237Y021340D01*
+X007178Y021311D01*
+X007121Y021279D01*
+X007066Y021243D01*
+X007012Y021204D01*
+X006962Y021162D01*
+X006914Y021118D01*
+X006868Y021070D01*
+X006826Y021020D01*
+X006786Y020967D01*
+X006750Y020913D01*
+X006717Y020856D01*
+X006687Y020797D01*
+X006661Y020737D01*
+X006638Y020675D01*
+X006619Y020612D01*
+X006604Y020548D01*
+X006592Y020484D01*
+X006584Y020418D01*
+X006580Y020353D01*
+X006580Y020287D01*
+X006584Y020222D01*
+X006592Y020156D01*
+X006604Y020092D01*
+X006619Y020028D01*
+X006638Y019965D01*
+X006661Y019903D01*
+X006687Y019843D01*
+X006717Y019784D01*
+X006750Y019727D01*
+X006786Y019673D01*
+X006826Y019620D01*
+X006868Y019570D01*
+X006914Y019522D01*
+X006962Y019478D01*
+X007012Y019436D01*
+X007066Y019397D01*
+X007121Y019361D01*
+X007178Y019329D01*
+X007237Y019300D01*
+X007298Y019275D01*
+X007360Y019253D01*
+X007423Y019235D01*
+X007487Y019220D01*
+X007552Y019210D01*
+X007617Y019203D01*
+X007683Y019200D01*
+X007749Y019201D01*
+X007814Y019206D01*
+X007879Y019214D01*
+X007944Y019227D01*
+X008008Y019243D01*
+X008070Y019263D01*
+X008132Y019287D01*
+X008192Y019314D01*
+X008250Y019344D01*
+X008306Y019378D01*
+X008360Y019415D01*
+X008412Y019456D01*
+X008462Y019499D01*
+X008509Y019545D01*
+X008553Y019594D01*
+X008594Y019645D01*
+X008632Y019699D01*
+X008667Y019754D01*
+X008698Y019812D01*
+X008686Y019818D01*
+X008654Y019761D01*
+X008619Y019705D01*
+X008581Y019652D01*
+X008540Y019601D01*
+X008496Y019552D01*
+X008449Y019506D01*
+X008399Y019463D01*
+X008347Y019423D01*
+X008293Y019386D01*
+X008236Y019353D01*
+X008178Y019323D01*
+X008118Y019296D01*
+X008057Y019273D01*
+X007994Y019254D01*
+X007930Y019238D01*
+X007866Y019226D01*
+X007800Y019219D01*
+X007735Y019215D01*
+X007669Y019214D01*
+X007604Y019218D01*
+X007539Y019226D01*
+X007474Y019237D01*
+X007410Y019253D01*
+X007347Y019272D01*
+X007286Y019294D01*
+X007226Y019321D01*
+X007167Y019351D01*
+X007111Y019384D01*
+X007056Y019421D01*
+X007004Y019460D01*
+X006954Y019503D01*
+X006907Y019549D01*
+X006863Y019597D01*
+X006821Y019648D01*
+X006783Y019701D01*
+X006748Y019757D01*
+X006716Y019814D01*
+X006688Y019874D01*
+X006663Y019934D01*
+X006642Y019997D01*
+X006625Y020060D01*
+X006611Y020124D01*
+X006602Y020189D01*
+X006596Y020254D01*
+X006594Y020320D01*
+X006596Y020386D01*
+X006602Y020451D01*
+X006611Y020516D01*
+X006625Y020580D01*
+X006642Y020643D01*
+X006663Y020706D01*
+X006688Y020766D01*
+X006716Y020826D01*
+X006748Y020883D01*
+X006783Y020939D01*
+X006821Y020992D01*
+X006863Y021043D01*
+X006907Y021091D01*
+X006954Y021137D01*
+X007004Y021180D01*
+X007056Y021219D01*
+X007111Y021256D01*
+X007167Y021289D01*
+X007226Y021319D01*
+X007286Y021346D01*
+X007347Y021368D01*
+X007410Y021387D01*
+X007474Y021403D01*
+X007539Y021414D01*
+X007604Y021422D01*
+X007669Y021426D01*
+X007735Y021425D01*
+X007800Y021421D01*
+X007866Y021414D01*
+X007930Y021402D01*
+X007994Y021386D01*
+X008057Y021367D01*
+X008118Y021344D01*
+X008178Y021317D01*
+X008236Y021287D01*
+X008293Y021254D01*
+X008347Y021217D01*
+X008399Y021177D01*
+X008449Y021134D01*
+X008496Y021088D01*
+X008540Y021039D01*
+X008581Y020988D01*
+X008619Y020935D01*
+X008654Y020879D01*
+X008686Y020822D01*
+X008673Y020815D01*
+X008642Y020873D01*
+X008607Y020928D01*
+X008569Y020982D01*
+X008527Y021033D01*
+X008483Y021081D01*
+X008436Y021127D01*
+X008386Y021169D01*
+X008334Y021209D01*
+X008280Y021245D01*
+X008223Y021278D01*
+X008165Y021308D01*
+X008105Y021334D01*
+X008043Y021357D01*
+X007980Y021375D01*
+X007917Y021390D01*
+X007852Y021401D01*
+X007787Y021409D01*
+X007721Y021412D01*
+X007656Y021411D01*
+X007590Y021406D01*
+X007526Y021398D01*
+X007461Y021386D01*
+X007398Y021369D01*
+X007335Y021349D01*
+X007274Y021326D01*
+X007215Y021298D01*
+X007157Y021267D01*
+X007101Y021233D01*
+X007047Y021196D01*
+X006996Y021155D01*
+X006947Y021111D01*
+X006901Y021064D01*
+X006858Y021015D01*
+X006818Y020963D01*
+X006781Y020909D01*
+X006747Y020853D01*
+X006717Y020795D01*
+X006690Y020735D01*
+X006667Y020674D01*
+X006648Y020611D01*
+X006632Y020548D01*
+X006620Y020483D01*
+X006612Y020418D01*
+X006608Y020353D01*
+X006608Y020287D01*
+X006612Y020222D01*
+X006620Y020157D01*
+X006632Y020092D01*
+X006648Y020029D01*
+X006667Y019966D01*
+X006690Y019905D01*
+X006717Y019845D01*
+X006747Y019787D01*
+X006781Y019731D01*
+X006818Y019677D01*
+X006858Y019625D01*
+X006901Y019576D01*
+X006947Y019529D01*
+X006996Y019485D01*
+X007047Y019444D01*
+X007101Y019407D01*
+X007157Y019373D01*
+X007215Y019342D01*
+X007274Y019314D01*
+X007335Y019291D01*
+X007398Y019271D01*
+X007461Y019254D01*
+X007526Y019242D01*
+X007590Y019234D01*
+X007656Y019229D01*
+X007721Y019228D01*
+X007787Y019231D01*
+X007852Y019239D01*
+X007917Y019250D01*
+X007980Y019265D01*
+X008043Y019283D01*
+X008105Y019306D01*
+X008165Y019332D01*
+X008223Y019362D01*
+X008280Y019395D01*
+X008334Y019431D01*
+X008386Y019471D01*
+X008436Y019513D01*
+X008483Y019559D01*
+X008527Y019607D01*
+X008569Y019658D01*
+X008607Y019712D01*
+X008642Y019767D01*
+X008673Y019825D01*
+X008661Y019831D01*
+X008630Y019774D01*
+X008595Y019719D01*
+X008557Y019667D01*
+X008517Y019616D01*
+X008473Y019569D01*
+X008427Y019524D01*
+X008378Y019482D01*
+X008326Y019442D01*
+X008272Y019406D01*
+X008216Y019374D01*
+X008159Y019344D01*
+X008099Y019319D01*
+X008039Y019297D01*
+X007977Y019278D01*
+X007914Y019263D01*
+X007850Y019252D01*
+X007786Y019245D01*
+X007721Y019242D01*
+X007656Y019243D01*
+X007592Y019247D01*
+X007528Y019256D01*
+X007464Y019268D01*
+X007402Y019284D01*
+X007340Y019304D01*
+X007280Y019327D01*
+X007221Y019354D01*
+X007164Y019385D01*
+X007109Y019419D01*
+X007056Y019456D01*
+X007005Y019496D01*
+X006957Y019539D01*
+X006911Y019585D01*
+X006869Y019634D01*
+X006829Y019685D01*
+X006792Y019738D01*
+X006759Y019794D01*
+X006729Y019851D01*
+X006703Y019910D01*
+X006680Y019971D01*
+X006661Y020032D01*
+X006646Y020095D01*
+X006634Y020159D01*
+X006626Y020223D01*
+X006622Y020288D01*
+X006622Y020352D01*
+X006626Y020417D01*
+X006634Y020481D01*
+X006646Y020545D01*
+X006661Y020608D01*
+X006680Y020669D01*
+X006703Y020730D01*
+X006729Y020789D01*
+X006759Y020846D01*
+X006792Y020902D01*
+X006829Y020955D01*
+X006869Y021006D01*
+X006911Y021055D01*
+X006957Y021101D01*
+X007005Y021144D01*
+X007056Y021184D01*
+X007109Y021221D01*
+X007164Y021255D01*
+X007221Y021286D01*
+X007280Y021313D01*
+X007340Y021336D01*
+X007402Y021356D01*
+X007464Y021372D01*
+X007528Y021384D01*
+X007592Y021393D01*
+X007656Y021397D01*
+X007721Y021398D01*
+X007786Y021395D01*
+X007850Y021388D01*
+X007914Y021377D01*
+X007977Y021362D01*
+X008039Y021343D01*
+X008099Y021321D01*
+X008159Y021296D01*
+X008216Y021266D01*
+X008272Y021234D01*
+X008326Y021198D01*
+X008378Y021158D01*
+X008427Y021116D01*
+X008473Y021071D01*
+X008517Y021024D01*
+X008557Y020973D01*
+X008595Y020921D01*
+X008630Y020866D01*
+X008661Y020809D01*
+X008648Y020803D01*
+X008617Y020860D01*
+X008583Y020914D01*
+X008545Y020967D01*
+X008504Y021017D01*
+X008460Y021064D01*
+X008414Y021109D01*
+X008365Y021151D01*
+X008313Y021190D01*
+X008259Y021225D01*
+X008203Y021257D01*
+X008146Y021286D01*
+X008086Y021311D01*
+X008025Y021333D01*
+X007963Y021351D01*
+X007900Y021365D01*
+X007836Y021375D01*
+X007772Y021382D01*
+X007708Y021384D01*
+X007643Y021382D01*
+X007579Y021377D01*
+X007515Y021368D01*
+X007452Y021355D01*
+X007389Y021338D01*
+X007328Y021317D01*
+X007268Y021293D01*
+X007210Y021265D01*
+X007154Y021233D01*
+X007099Y021198D01*
+X007047Y021160D01*
+X006998Y021119D01*
+X006950Y021075D01*
+X006906Y021028D01*
+X006864Y020979D01*
+X006826Y020927D01*
+X006791Y020873D01*
+X006759Y020817D01*
+X006731Y020759D01*
+X006706Y020699D01*
+X006685Y020638D01*
+X006667Y020576D01*
+X006654Y020513D01*
+X006644Y020449D01*
+X006638Y020385D01*
+X006636Y020320D01*
+X006638Y020255D01*
+X006644Y020191D01*
+X006654Y020127D01*
+X006667Y020064D01*
+X006685Y020002D01*
+X006706Y019941D01*
+X006731Y019881D01*
+X006759Y019823D01*
+X006791Y019767D01*
+X006826Y019713D01*
+X006864Y019661D01*
+X006906Y019612D01*
+X006950Y019565D01*
+X006998Y019521D01*
+X007047Y019480D01*
+X007099Y019442D01*
+X007154Y019407D01*
+X007210Y019375D01*
+X007268Y019347D01*
+X007328Y019323D01*
+X007389Y019302D01*
+X007452Y019285D01*
+X007515Y019272D01*
+X007579Y019263D01*
+X007643Y019258D01*
+X007708Y019256D01*
+X007772Y019258D01*
+X007836Y019265D01*
+X007900Y019275D01*
+X007963Y019289D01*
+X008025Y019307D01*
+X008086Y019329D01*
+X008146Y019354D01*
+X008203Y019383D01*
+X008259Y019415D01*
+X008313Y019450D01*
+X008365Y019489D01*
+X008414Y019531D01*
+X008460Y019576D01*
+X008504Y019623D01*
+X008545Y019673D01*
+X008583Y019726D01*
+X008617Y019780D01*
+X008648Y019837D01*
+X008636Y019843D01*
+X008605Y019787D01*
+X008570Y019732D01*
+X008532Y019680D01*
+X008492Y019630D01*
+X008448Y019583D01*
+X008401Y019538D01*
+X008352Y019497D01*
+X008300Y019458D01*
+X008246Y019423D01*
+X008190Y019391D01*
+X008132Y019363D01*
+X008073Y019338D01*
+X008012Y019317D01*
+X007950Y019300D01*
+X007887Y019287D01*
+X007823Y019277D01*
+X007759Y019272D01*
+X007694Y019270D01*
+X007630Y019272D01*
+X007566Y019279D01*
+X007502Y019289D01*
+X007439Y019303D01*
+X007377Y019321D01*
+X007317Y019342D01*
+X007257Y019368D01*
+X007200Y019397D01*
+X007144Y019429D01*
+X007091Y019465D01*
+X007039Y019504D01*
+X006990Y019546D01*
+X006944Y019591D01*
+X006901Y019639D01*
+X006861Y019689D01*
+X006824Y019742D01*
+X006790Y019797D01*
+X006759Y019853D01*
+X006732Y019912D01*
+X006709Y019972D01*
+X006690Y020034D01*
+X006674Y020096D01*
+X006662Y020159D01*
+X006654Y020223D01*
+X006650Y020288D01*
+X006650Y020352D01*
+X006654Y020417D01*
+X006662Y020481D01*
+X006674Y020544D01*
+X006690Y020606D01*
+X006709Y020668D01*
+X006732Y020728D01*
+X006759Y020787D01*
+X006790Y020843D01*
+X006824Y020898D01*
+X006861Y020951D01*
+X006901Y021001D01*
+X006944Y021049D01*
+X006990Y021094D01*
+X007039Y021136D01*
+X007091Y021175D01*
+X007144Y021211D01*
+X007200Y021243D01*
+X007257Y021272D01*
+X007317Y021298D01*
+X007377Y021319D01*
+X007439Y021337D01*
+X007502Y021351D01*
+X007566Y021361D01*
+X007630Y021368D01*
+X007694Y021370D01*
+X007759Y021368D01*
+X007823Y021363D01*
+X007887Y021353D01*
+X007950Y021340D01*
+X008012Y021323D01*
+X008073Y021302D01*
+X008132Y021277D01*
+X008190Y021249D01*
+X008246Y021217D01*
+X008300Y021182D01*
+X008352Y021143D01*
+X008401Y021102D01*
+X008448Y021057D01*
+X008492Y021010D01*
+X008532Y020960D01*
+X008570Y020908D01*
+X008605Y020853D01*
+X008636Y020797D01*
+D19*
+X008700Y020820D02*
+X008700Y019820D01*
+X015085Y013920D02*
+X015087Y013955D01*
+X015093Y013990D01*
+X015103Y014024D01*
+X015116Y014057D01*
+X015133Y014088D01*
+X015154Y014116D01*
+X015177Y014143D01*
+X015204Y014166D01*
+X015232Y014187D01*
+X015263Y014204D01*
+X015296Y014217D01*
+X015330Y014227D01*
+X015365Y014233D01*
+X015400Y014235D01*
+X015435Y014233D01*
+X015470Y014227D01*
+X015504Y014217D01*
+X015537Y014204D01*
+X015568Y014187D01*
+X015596Y014166D01*
+X015623Y014143D01*
+X015646Y014116D01*
+X015667Y014088D01*
+X015684Y014057D01*
+X015697Y014024D01*
+X015707Y013990D01*
+X015713Y013955D01*
+X015715Y013920D01*
+X015713Y013885D01*
+X015707Y013850D01*
+X015697Y013816D01*
+X015684Y013783D01*
+X015667Y013752D01*
+X015646Y013724D01*
+X015623Y013697D01*
+X015596Y013674D01*
+X015568Y013653D01*
+X015537Y013636D01*
+X015504Y013623D01*
+X015470Y013613D01*
+X015435Y013607D01*
+X015400Y013605D01*
+X015365Y013607D01*
+X015330Y013613D01*
+X015296Y013623D01*
+X015263Y013636D01*
+X015232Y013653D01*
+X015204Y013674D01*
+X015177Y013697D01*
+X015154Y013724D01*
+X015133Y013752D01*
+X015116Y013783D01*
+X015103Y013816D01*
+X015093Y013850D01*
+X015087Y013885D01*
+X015085Y013920D01*
+X012998Y013920D02*
+X013000Y014018D01*
+X013006Y014116D01*
+X013016Y014213D01*
+X013030Y014310D01*
+X013048Y014407D01*
+X013070Y014502D01*
+X013095Y014597D01*
+X013125Y014690D01*
+X013158Y014782D01*
+X013195Y014873D01*
+X013236Y014962D01*
+X013280Y015050D01*
+X013328Y015135D01*
+X013379Y015219D01*
+X013434Y015300D01*
+X013492Y015379D01*
+X013553Y015456D01*
+X013617Y015530D01*
+X013684Y015601D01*
+X013754Y015670D01*
+X013827Y015735D01*
+X013902Y015798D01*
+X013980Y015857D01*
+X014060Y015914D01*
+X014143Y015967D01*
+X014227Y016016D01*
+X014314Y016062D01*
+X014402Y016105D01*
+X014492Y016144D01*
+X014584Y016179D01*
+X014676Y016210D01*
+X014770Y016238D01*
+X014866Y016262D01*
+X014961Y016282D01*
+X015058Y016298D01*
+X015155Y016310D01*
+X015253Y016318D01*
+X015351Y016322D01*
+X015449Y016322D01*
+X015547Y016318D01*
+X015645Y016310D01*
+X015742Y016298D01*
+X015839Y016282D01*
+X015934Y016262D01*
+X016030Y016238D01*
+X016124Y016210D01*
+X016216Y016179D01*
+X016308Y016144D01*
+X016398Y016105D01*
+X016486Y016062D01*
+X016573Y016016D01*
+X016657Y015967D01*
+X016740Y015914D01*
+X016820Y015857D01*
+X016898Y015798D01*
+X016973Y015735D01*
+X017046Y015670D01*
+X017116Y015601D01*
+X017183Y015530D01*
+X017247Y015456D01*
+X017308Y015379D01*
+X017366Y015300D01*
+X017421Y015219D01*
+X017472Y015135D01*
+X017520Y015050D01*
+X017564Y014962D01*
+X017605Y014873D01*
+X017642Y014782D01*
+X017675Y014690D01*
+X017705Y014597D01*
+X017730Y014502D01*
+X017752Y014407D01*
+X017770Y014310D01*
+X017784Y014213D01*
+X017794Y014116D01*
+X017800Y014018D01*
+X017802Y013920D01*
+X017800Y013822D01*
+X017794Y013724D01*
+X017784Y013627D01*
+X017770Y013530D01*
+X017752Y013433D01*
+X017730Y013338D01*
+X017705Y013243D01*
+X017675Y013150D01*
+X017642Y013058D01*
+X017605Y012967D01*
+X017564Y012878D01*
+X017520Y012790D01*
+X017472Y012705D01*
+X017421Y012621D01*
+X017366Y012540D01*
+X017308Y012461D01*
+X017247Y012384D01*
+X017183Y012310D01*
+X017116Y012239D01*
+X017046Y012170D01*
+X016973Y012105D01*
+X016898Y012042D01*
+X016820Y011983D01*
+X016740Y011926D01*
+X016657Y011873D01*
+X016573Y011824D01*
+X016486Y011778D01*
+X016398Y011735D01*
+X016308Y011696D01*
+X016216Y011661D01*
+X016124Y011630D01*
+X016030Y011602D01*
+X015934Y011578D01*
+X015839Y011558D01*
+X015742Y011542D01*
+X015645Y011530D01*
+X015547Y011522D01*
+X015449Y011518D01*
+X015351Y011518D01*
+X015253Y011522D01*
+X015155Y011530D01*
+X015058Y011542D01*
+X014961Y011558D01*
+X014866Y011578D01*
+X014770Y011602D01*
+X014676Y011630D01*
+X014584Y011661D01*
+X014492Y011696D01*
+X014402Y011735D01*
+X014314Y011778D01*
+X014227Y011824D01*
+X014143Y011873D01*
+X014060Y011926D01*
+X013980Y011983D01*
+X013902Y012042D01*
+X013827Y012105D01*
+X013754Y012170D01*
+X013684Y012239D01*
+X013617Y012310D01*
+X013553Y012384D01*
+X013492Y012461D01*
+X013434Y012540D01*
+X013379Y012621D01*
+X013328Y012705D01*
+X013280Y012790D01*
+X013236Y012878D01*
+X013195Y012967D01*
+X013158Y013058D01*
+X013125Y013150D01*
+X013095Y013243D01*
+X013070Y013338D01*
+X013048Y013433D01*
+X013030Y013530D01*
+X013016Y013627D01*
+X013006Y013724D01*
+X013000Y013822D01*
+X012998Y013920D01*
+X011390Y005876D02*
+X007610Y005876D01*
+X007610Y001349D01*
+X011390Y001349D01*
+X011390Y005876D01*
+X008516Y003514D02*
+X008518Y003576D01*
+X008524Y003639D01*
+X008534Y003700D01*
+X008548Y003761D01*
+X008565Y003821D01*
+X008586Y003880D01*
+X008612Y003937D01*
+X008640Y003992D01*
+X008672Y004046D01*
+X008708Y004097D01*
+X008746Y004147D01*
+X008788Y004193D01*
+X008832Y004237D01*
+X008880Y004278D01*
+X008929Y004316D01*
+X008981Y004350D01*
+X009035Y004381D01*
+X009091Y004409D01*
+X009149Y004433D01*
+X009208Y004454D01*
+X009268Y004470D01*
+X009329Y004483D01*
+X009391Y004492D01*
+X009453Y004497D01*
+X009516Y004498D01*
+X009578Y004495D01*
+X009640Y004488D01*
+X009702Y004477D01*
+X009762Y004462D01*
+X009822Y004444D01*
+X009880Y004422D01*
+X009937Y004396D01*
+X009992Y004366D01*
+X010045Y004333D01*
+X010096Y004297D01*
+X010144Y004258D01*
+X010190Y004215D01*
+X010233Y004170D01*
+X010273Y004122D01*
+X010310Y004072D01*
+X010344Y004019D01*
+X010375Y003965D01*
+X010401Y003909D01*
+X010425Y003851D01*
+X010444Y003791D01*
+X010460Y003731D01*
+X010472Y003669D01*
+X010480Y003608D01*
+X010484Y003545D01*
+X010484Y003483D01*
+X010480Y003420D01*
+X010472Y003359D01*
+X010460Y003297D01*
+X010444Y003237D01*
+X010425Y003177D01*
+X010401Y003119D01*
+X010375Y003063D01*
+X010344Y003009D01*
+X010310Y002956D01*
+X010273Y002906D01*
+X010233Y002858D01*
+X010190Y002813D01*
+X010144Y002770D01*
+X010096Y002731D01*
+X010045Y002695D01*
+X009992Y002662D01*
+X009937Y002632D01*
+X009880Y002606D01*
+X009822Y002584D01*
+X009762Y002566D01*
+X009702Y002551D01*
+X009640Y002540D01*
+X009578Y002533D01*
+X009516Y002530D01*
+X009453Y002531D01*
+X009391Y002536D01*
+X009329Y002545D01*
+X009268Y002558D01*
+X009208Y002574D01*
+X009149Y002595D01*
+X009091Y002619D01*
+X009035Y002647D01*
+X008981Y002678D01*
+X008929Y002712D01*
+X008880Y002750D01*
+X008832Y002791D01*
+X008788Y002835D01*
+X008746Y002881D01*
+X008708Y002931D01*
+X008672Y002982D01*
+X008640Y003036D01*
+X008612Y003091D01*
+X008586Y003148D01*
+X008565Y003207D01*
+X008548Y003267D01*
+X008534Y003328D01*
+X008524Y003389D01*
+X008518Y003452D01*
+X008516Y003514D01*
+D20*
+X008467Y020834D02*
+X008429Y020809D01*
+X008430Y020810D02*
+X008396Y020857D01*
+X008359Y020902D01*
+X008319Y020944D01*
+X008276Y020984D01*
+X008231Y021020D01*
+X008183Y021054D01*
+X008134Y021084D01*
+X008082Y021112D01*
+X008029Y021135D01*
+X007974Y021155D01*
+X007918Y021171D01*
+X007862Y021184D01*
+X007804Y021193D01*
+X007746Y021198D01*
+X007688Y021199D01*
+X007630Y021196D01*
+X007572Y021190D01*
+X007515Y021179D01*
+X007458Y021165D01*
+X007403Y021147D01*
+X007349Y021126D01*
+X007296Y021101D01*
+X007245Y021072D01*
+X007196Y021040D01*
+X007150Y021005D01*
+X007106Y020968D01*
+X007064Y020927D01*
+X007025Y020883D01*
+X006989Y020837D01*
+X006957Y020789D01*
+X006927Y020739D01*
+X006901Y020687D01*
+X006879Y020633D01*
+X006860Y020578D01*
+X006845Y020522D01*
+X006833Y020465D01*
+X006825Y020407D01*
+X006821Y020349D01*
+X006821Y020291D01*
+X006825Y020233D01*
+X006833Y020175D01*
+X006845Y020118D01*
+X006860Y020062D01*
+X006879Y020007D01*
+X006901Y019953D01*
+X006927Y019901D01*
+X006957Y019851D01*
+X006989Y019803D01*
+X007025Y019757D01*
+X007064Y019713D01*
+X007106Y019672D01*
+X007150Y019635D01*
+X007196Y019600D01*
+X007245Y019568D01*
+X007296Y019539D01*
+X007349Y019514D01*
+X007403Y019493D01*
+X007458Y019475D01*
+X007515Y019461D01*
+X007572Y019450D01*
+X007630Y019444D01*
+X007688Y019441D01*
+X007746Y019442D01*
+X007804Y019447D01*
+X007862Y019456D01*
+X007918Y019469D01*
+X007974Y019485D01*
+X008029Y019505D01*
+X008082Y019528D01*
+X008134Y019556D01*
+X008183Y019586D01*
+X008231Y019620D01*
+X008276Y019656D01*
+X008319Y019696D01*
+X008359Y019738D01*
+X008396Y019783D01*
+X008430Y019830D01*
+X008467Y019806D01*
+X008467Y019805D01*
+X008432Y019756D01*
+X008394Y019710D01*
+X008352Y019666D01*
+X008308Y019624D01*
+X008261Y019586D01*
+X008212Y019551D01*
+X008161Y019519D01*
+X008108Y019491D01*
+X008053Y019466D01*
+X007996Y019445D01*
+X007938Y019427D01*
+X007879Y019414D01*
+X007820Y019404D01*
+X007759Y019398D01*
+X007699Y019396D01*
+X007639Y019398D01*
+X007579Y019404D01*
+X007519Y019414D01*
+X007460Y019428D01*
+X007402Y019445D01*
+X007346Y019467D01*
+X007291Y019492D01*
+X007237Y019520D01*
+X007186Y019552D01*
+X007137Y019587D01*
+X007090Y019626D01*
+X007046Y019667D01*
+X007005Y019711D01*
+X006967Y019758D01*
+X006932Y019807D01*
+X006900Y019858D01*
+X006871Y019912D01*
+X006846Y019967D01*
+X006825Y020023D01*
+X006807Y020081D01*
+X006794Y020140D01*
+X006784Y020199D01*
+X006778Y020260D01*
+X006776Y020320D01*
+X006778Y020380D01*
+X006784Y020441D01*
+X006794Y020500D01*
+X006807Y020559D01*
+X006825Y020617D01*
+X006846Y020673D01*
+X006871Y020728D01*
+X006900Y020782D01*
+X006932Y020833D01*
+X006967Y020882D01*
+X007005Y020929D01*
+X007046Y020973D01*
+X007090Y021014D01*
+X007137Y021053D01*
+X007186Y021088D01*
+X007237Y021120D01*
+X007291Y021148D01*
+X007346Y021173D01*
+X007402Y021195D01*
+X007460Y021212D01*
+X007519Y021226D01*
+X007579Y021236D01*
+X007639Y021242D01*
+X007699Y021244D01*
+X007759Y021242D01*
+X007820Y021236D01*
+X007879Y021226D01*
+X007938Y021213D01*
+X007996Y021195D01*
+X008053Y021174D01*
+X008108Y021149D01*
+X008161Y021121D01*
+X008212Y021089D01*
+X008261Y021054D01*
+X008308Y021016D01*
+X008352Y020974D01*
+X008394Y020930D01*
+X008432Y020884D01*
+X008467Y020835D01*
+X008464Y020832D01*
+X008429Y020881D01*
+X008391Y020928D01*
+X008350Y020972D01*
+X008306Y021013D01*
+X008259Y021051D01*
+X008210Y021086D01*
+X008159Y021117D01*
+X008106Y021146D01*
+X008051Y021170D01*
+X007995Y021192D01*
+X007937Y021209D01*
+X007878Y021223D01*
+X007819Y021232D01*
+X007759Y021238D01*
+X007699Y021240D01*
+X007639Y021238D01*
+X007579Y021232D01*
+X007520Y021222D01*
+X007461Y021208D01*
+X007404Y021191D01*
+X007347Y021170D01*
+X007292Y021145D01*
+X007239Y021116D01*
+X007188Y021085D01*
+X007140Y021050D01*
+X007093Y021011D01*
+X007049Y020970D01*
+X007008Y020926D01*
+X006970Y020880D01*
+X006935Y020831D01*
+X006903Y020780D01*
+X006875Y020727D01*
+X006850Y020672D01*
+X006829Y020616D01*
+X006811Y020558D01*
+X006798Y020499D01*
+X006788Y020440D01*
+X006782Y020380D01*
+X006780Y020320D01*
+X006782Y020260D01*
+X006788Y020200D01*
+X006798Y020141D01*
+X006811Y020082D01*
+X006829Y020024D01*
+X006850Y019968D01*
+X006875Y019913D01*
+X006903Y019860D01*
+X006935Y019809D01*
+X006970Y019760D01*
+X007008Y019714D01*
+X007049Y019670D01*
+X007093Y019629D01*
+X007140Y019590D01*
+X007188Y019555D01*
+X007239Y019524D01*
+X007292Y019495D01*
+X007347Y019470D01*
+X007404Y019449D01*
+X007461Y019432D01*
+X007520Y019418D01*
+X007579Y019408D01*
+X007639Y019402D01*
+X007699Y019400D01*
+X007759Y019402D01*
+X007819Y019408D01*
+X007878Y019417D01*
+X007937Y019431D01*
+X007995Y019448D01*
+X008051Y019470D01*
+X008106Y019494D01*
+X008159Y019523D01*
+X008210Y019554D01*
+X008259Y019589D01*
+X008306Y019627D01*
+X008350Y019668D01*
+X008391Y019712D01*
+X008429Y019759D01*
+X008464Y019808D01*
+X008461Y019810D01*
+X008426Y019761D01*
+X008388Y019715D01*
+X008347Y019671D01*
+X008303Y019630D01*
+X008257Y019592D01*
+X008208Y019558D01*
+X008157Y019526D01*
+X008104Y019498D01*
+X008049Y019473D01*
+X007993Y019452D01*
+X007936Y019435D01*
+X007878Y019421D01*
+X007819Y019412D01*
+X007759Y019406D01*
+X007699Y019404D01*
+X007639Y019406D01*
+X007580Y019412D01*
+X007520Y019422D01*
+X007462Y019435D01*
+X007405Y019453D01*
+X007349Y019474D01*
+X007294Y019499D01*
+X007241Y019527D01*
+X007191Y019559D01*
+X007142Y019594D01*
+X007096Y019632D01*
+X007052Y019673D01*
+X007011Y019716D01*
+X006973Y019763D01*
+X006938Y019811D01*
+X006907Y019862D01*
+X006878Y019915D01*
+X006854Y019970D01*
+X006833Y020026D01*
+X006815Y020083D01*
+X006802Y020141D01*
+X006792Y020201D01*
+X006786Y020260D01*
+X006784Y020320D01*
+X006786Y020380D01*
+X006792Y020439D01*
+X006802Y020499D01*
+X006815Y020557D01*
+X006833Y020614D01*
+X006854Y020670D01*
+X006878Y020725D01*
+X006907Y020778D01*
+X006938Y020829D01*
+X006973Y020877D01*
+X007011Y020924D01*
+X007052Y020967D01*
+X007096Y021008D01*
+X007142Y021046D01*
+X007191Y021081D01*
+X007241Y021113D01*
+X007294Y021141D01*
+X007349Y021166D01*
+X007405Y021187D01*
+X007462Y021205D01*
+X007520Y021218D01*
+X007580Y021228D01*
+X007639Y021234D01*
+X007699Y021236D01*
+X007759Y021234D01*
+X007819Y021228D01*
+X007878Y021219D01*
+X007936Y021205D01*
+X007993Y021188D01*
+X008049Y021167D01*
+X008104Y021142D01*
+X008157Y021114D01*
+X008208Y021082D01*
+X008257Y021048D01*
+X008303Y021010D01*
+X008347Y020969D01*
+X008388Y020925D01*
+X008426Y020879D01*
+X008461Y020830D01*
+X008457Y020828D01*
+X008423Y020876D01*
+X008385Y020922D01*
+X008344Y020966D01*
+X008300Y021007D01*
+X008254Y021044D01*
+X008206Y021079D01*
+X008155Y021110D01*
+X008102Y021138D01*
+X008048Y021163D01*
+X007992Y021184D01*
+X007935Y021201D01*
+X007877Y021215D01*
+X007818Y021224D01*
+X007759Y021230D01*
+X007699Y021232D01*
+X007639Y021230D01*
+X007580Y021224D01*
+X007521Y021214D01*
+X007463Y021201D01*
+X007406Y021183D01*
+X007350Y021162D01*
+X007296Y021138D01*
+X007243Y021109D01*
+X007193Y021078D01*
+X007144Y021043D01*
+X007098Y021005D01*
+X007055Y020965D01*
+X007014Y020921D01*
+X006976Y020875D01*
+X006942Y020826D01*
+X006910Y020776D01*
+X006882Y020723D01*
+X006857Y020669D01*
+X006836Y020613D01*
+X006819Y020556D01*
+X006806Y020498D01*
+X006796Y020439D01*
+X006790Y020380D01*
+X006788Y020320D01*
+X006790Y020260D01*
+X006796Y020201D01*
+X006806Y020142D01*
+X006819Y020084D01*
+X006836Y020027D01*
+X006857Y019971D01*
+X006882Y019917D01*
+X006910Y019864D01*
+X006942Y019814D01*
+X006976Y019765D01*
+X007014Y019719D01*
+X007055Y019675D01*
+X007098Y019635D01*
+X007144Y019597D01*
+X007193Y019562D01*
+X007243Y019531D01*
+X007296Y019502D01*
+X007350Y019478D01*
+X007406Y019457D01*
+X007463Y019439D01*
+X007521Y019426D01*
+X007580Y019416D01*
+X007639Y019410D01*
+X007699Y019408D01*
+X007759Y019410D01*
+X007818Y019416D01*
+X007877Y019425D01*
+X007935Y019439D01*
+X007992Y019456D01*
+X008048Y019477D01*
+X008102Y019502D01*
+X008155Y019530D01*
+X008206Y019561D01*
+X008254Y019596D01*
+X008300Y019633D01*
+X008344Y019674D01*
+X008385Y019718D01*
+X008423Y019764D01*
+X008457Y019812D01*
+X008454Y019814D01*
+X008419Y019766D01*
+X008382Y019720D01*
+X008341Y019677D01*
+X008298Y019636D01*
+X008252Y019599D01*
+X008203Y019564D01*
+X008153Y019533D01*
+X008100Y019505D01*
+X008046Y019481D01*
+X007991Y019460D01*
+X007934Y019443D01*
+X007876Y019429D01*
+X007817Y019420D01*
+X007758Y019414D01*
+X007699Y019412D01*
+X007640Y019414D01*
+X007581Y019420D01*
+X007522Y019430D01*
+X007464Y019443D01*
+X007407Y019460D01*
+X007352Y019481D01*
+X007298Y019506D01*
+X007245Y019534D01*
+X007195Y019565D01*
+X007147Y019600D01*
+X007101Y019638D01*
+X007058Y019678D01*
+X007017Y019722D01*
+X006979Y019768D01*
+X006945Y019816D01*
+X006913Y019866D01*
+X006886Y019919D01*
+X006861Y019973D01*
+X006840Y020028D01*
+X006823Y020085D01*
+X006809Y020143D01*
+X006800Y020202D01*
+X006794Y020261D01*
+X006792Y020320D01*
+X006794Y020379D01*
+X006800Y020438D01*
+X006809Y020497D01*
+X006823Y020555D01*
+X006840Y020612D01*
+X006861Y020667D01*
+X006886Y020721D01*
+X006913Y020774D01*
+X006945Y020824D01*
+X006979Y020872D01*
+X007017Y020918D01*
+X007058Y020962D01*
+X007101Y021002D01*
+X007147Y021040D01*
+X007195Y021075D01*
+X007245Y021106D01*
+X007298Y021134D01*
+X007352Y021159D01*
+X007407Y021180D01*
+X007464Y021197D01*
+X007522Y021210D01*
+X007581Y021220D01*
+X007640Y021226D01*
+X007699Y021228D01*
+X007758Y021226D01*
+X007817Y021220D01*
+X007876Y021211D01*
+X007934Y021197D01*
+X007991Y021180D01*
+X008046Y021159D01*
+X008100Y021135D01*
+X008153Y021107D01*
+X008203Y021076D01*
+X008252Y021041D01*
+X008298Y021004D01*
+X008341Y020963D01*
+X008382Y020920D01*
+X008419Y020874D01*
+X008454Y020826D01*
+X008451Y020824D01*
+X008416Y020872D01*
+X008379Y020917D01*
+X008338Y020960D01*
+X008295Y021001D01*
+X008249Y021038D01*
+X008201Y021072D01*
+X008151Y021104D01*
+X008099Y021131D01*
+X008045Y021156D01*
+X007989Y021176D01*
+X007933Y021193D01*
+X007875Y021207D01*
+X007817Y021216D01*
+X007758Y021222D01*
+X007699Y021224D01*
+X007640Y021222D01*
+X007581Y021216D01*
+X007523Y021206D01*
+X007465Y021193D01*
+X007409Y021176D01*
+X007353Y021155D01*
+X007300Y021130D01*
+X007247Y021103D01*
+X007197Y021071D01*
+X007149Y021037D01*
+X007104Y020999D01*
+X007060Y020959D01*
+X007020Y020916D01*
+X006983Y020870D01*
+X006948Y020822D01*
+X006917Y020772D01*
+X006889Y020720D01*
+X006865Y020666D01*
+X006844Y020610D01*
+X006827Y020554D01*
+X006813Y020496D01*
+X006804Y020438D01*
+X006798Y020379D01*
+X006796Y020320D01*
+X006798Y020261D01*
+X006804Y020202D01*
+X006813Y020144D01*
+X006827Y020086D01*
+X006844Y020030D01*
+X006865Y019974D01*
+X006889Y019920D01*
+X006917Y019868D01*
+X006948Y019818D01*
+X006983Y019770D01*
+X007020Y019724D01*
+X007060Y019681D01*
+X007104Y019641D01*
+X007149Y019603D01*
+X007197Y019569D01*
+X007247Y019537D01*
+X007300Y019510D01*
+X007353Y019485D01*
+X007409Y019464D01*
+X007465Y019447D01*
+X007523Y019434D01*
+X007581Y019424D01*
+X007640Y019418D01*
+X007699Y019416D01*
+X007758Y019418D01*
+X007817Y019424D01*
+X007875Y019433D01*
+X007933Y019447D01*
+X007989Y019464D01*
+X008045Y019484D01*
+X008099Y019509D01*
+X008151Y019536D01*
+X008201Y019568D01*
+X008249Y019602D01*
+X008295Y019639D01*
+X008338Y019680D01*
+X008379Y019723D01*
+X008416Y019768D01*
+X008451Y019816D01*
+X008447Y019819D01*
+X008413Y019771D01*
+X008376Y019725D01*
+X008335Y019683D01*
+X008292Y019642D01*
+X008247Y019605D01*
+X008199Y019571D01*
+X008149Y019540D01*
+X008097Y019512D01*
+X008043Y019488D01*
+X007988Y019467D01*
+X007932Y019450D01*
+X007875Y019437D01*
+X007816Y019428D01*
+X007758Y019422D01*
+X007699Y019420D01*
+X007640Y019422D01*
+X007582Y019428D01*
+X007524Y019437D01*
+X007466Y019451D01*
+X007410Y019468D01*
+X007355Y019489D01*
+X007301Y019513D01*
+X007249Y019541D01*
+X007199Y019572D01*
+X007152Y019606D01*
+X007106Y019644D01*
+X007063Y019684D01*
+X007023Y019727D01*
+X006986Y019772D01*
+X006951Y019820D01*
+X006920Y019870D01*
+X006893Y019922D01*
+X006868Y019976D01*
+X006848Y020031D01*
+X006831Y020087D01*
+X006817Y020145D01*
+X006808Y020203D01*
+X006802Y020261D01*
+X006800Y020320D01*
+X006802Y020379D01*
+X006808Y020437D01*
+X006817Y020495D01*
+X006831Y020553D01*
+X006848Y020609D01*
+X006868Y020664D01*
+X006893Y020718D01*
+X006920Y020770D01*
+X006951Y020820D01*
+X006986Y020868D01*
+X007023Y020913D01*
+X007063Y020956D01*
+X007106Y020996D01*
+X007152Y021034D01*
+X007199Y021068D01*
+X007249Y021099D01*
+X007301Y021127D01*
+X007355Y021151D01*
+X007410Y021172D01*
+X007466Y021189D01*
+X007524Y021203D01*
+X007582Y021212D01*
+X007640Y021218D01*
+X007699Y021220D01*
+X007758Y021218D01*
+X007816Y021212D01*
+X007875Y021203D01*
+X007932Y021190D01*
+X007988Y021173D01*
+X008043Y021152D01*
+X008097Y021128D01*
+X008149Y021100D01*
+X008199Y021069D01*
+X008247Y021035D01*
+X008292Y020998D01*
+X008335Y020957D01*
+X008376Y020915D01*
+X008413Y020869D01*
+X008447Y020821D01*
+X008444Y020819D01*
+X008410Y020867D01*
+X008373Y020912D01*
+X008333Y020955D01*
+X008290Y020995D01*
+X008244Y021032D01*
+X008197Y021066D01*
+X008147Y021097D01*
+X008095Y021124D01*
+X008042Y021148D01*
+X007987Y021169D01*
+X007931Y021186D01*
+X007874Y021199D01*
+X007816Y021208D01*
+X007758Y021214D01*
+X007699Y021216D01*
+X007640Y021214D01*
+X007582Y021208D01*
+X007524Y021199D01*
+X007467Y021185D01*
+X007411Y021168D01*
+X007356Y021148D01*
+X007303Y021123D01*
+X007251Y021096D01*
+X007202Y021065D01*
+X007154Y021031D01*
+X007109Y020993D01*
+X007066Y020953D01*
+X007026Y020910D01*
+X006989Y020865D01*
+X006955Y020817D01*
+X006924Y020768D01*
+X006896Y020716D01*
+X006872Y020663D01*
+X006851Y020608D01*
+X006834Y020552D01*
+X006821Y020495D01*
+X006812Y020437D01*
+X006806Y020379D01*
+X006804Y020320D01*
+X006806Y020261D01*
+X006812Y020203D01*
+X006821Y020145D01*
+X006834Y020088D01*
+X006851Y020032D01*
+X006872Y019977D01*
+X006896Y019924D01*
+X006924Y019872D01*
+X006955Y019823D01*
+X006989Y019775D01*
+X007026Y019730D01*
+X007066Y019687D01*
+X007109Y019647D01*
+X007154Y019609D01*
+X007202Y019575D01*
+X007251Y019544D01*
+X007303Y019517D01*
+X007356Y019492D01*
+X007411Y019472D01*
+X007467Y019455D01*
+X007524Y019441D01*
+X007582Y019432D01*
+X007640Y019426D01*
+X007699Y019424D01*
+X007758Y019426D01*
+X007816Y019432D01*
+X007874Y019441D01*
+X007931Y019454D01*
+X007987Y019471D01*
+X008042Y019492D01*
+X008095Y019516D01*
+X008147Y019543D01*
+X008197Y019574D01*
+X008244Y019608D01*
+X008290Y019645D01*
+X008333Y019685D01*
+X008373Y019728D01*
+X008410Y019773D01*
+X008444Y019821D01*
+X008441Y019823D01*
+X008406Y019775D01*
+X008369Y019730D01*
+X008328Y019687D01*
+X008285Y019646D01*
+X008239Y019609D01*
+X008191Y019575D01*
+X008140Y019544D01*
+X008088Y019517D01*
+X008034Y019493D01*
+X007978Y019473D01*
+X007922Y019456D01*
+X007864Y019443D01*
+X007806Y019434D01*
+X007747Y019429D01*
+X007688Y019428D01*
+X007629Y019431D01*
+X007570Y019438D01*
+X007512Y019448D01*
+X007454Y019462D01*
+X007398Y019481D01*
+X007343Y019502D01*
+X007290Y019528D01*
+X007238Y019557D01*
+X007189Y019589D01*
+X007142Y019624D01*
+X007097Y019663D01*
+X007055Y019704D01*
+X007015Y019748D01*
+X006979Y019795D01*
+X006946Y019844D01*
+X006916Y019895D01*
+X006889Y019948D01*
+X006867Y020002D01*
+X006847Y020058D01*
+X006832Y020115D01*
+X006820Y020173D01*
+X006812Y020231D01*
+X006808Y020290D01*
+X006808Y020350D01*
+X006812Y020409D01*
+X006820Y020467D01*
+X006832Y020525D01*
+X006847Y020582D01*
+X006867Y020638D01*
+X006889Y020692D01*
+X006916Y020745D01*
+X006946Y020796D01*
+X006979Y020845D01*
+X007015Y020892D01*
+X007055Y020936D01*
+X007097Y020977D01*
+X007142Y021016D01*
+X007189Y021051D01*
+X007238Y021083D01*
+X007290Y021112D01*
+X007343Y021138D01*
+X007398Y021159D01*
+X007454Y021178D01*
+X007512Y021192D01*
+X007570Y021202D01*
+X007629Y021209D01*
+X007688Y021212D01*
+X007747Y021211D01*
+X007806Y021206D01*
+X007864Y021197D01*
+X007922Y021184D01*
+X007978Y021167D01*
+X008034Y021147D01*
+X008088Y021123D01*
+X008140Y021096D01*
+X008191Y021065D01*
+X008239Y021031D01*
+X008285Y020994D01*
+X008328Y020953D01*
+X008369Y020910D01*
+X008406Y020865D01*
+X008441Y020817D01*
+X008437Y020815D01*
+X008403Y020862D01*
+X008366Y020908D01*
+X008325Y020951D01*
+X008282Y020991D01*
+X008236Y021028D01*
+X008188Y021062D01*
+X008138Y021092D01*
+X008086Y021120D01*
+X008032Y021143D01*
+X007977Y021164D01*
+X007921Y021180D01*
+X007863Y021193D01*
+X007805Y021202D01*
+X007747Y021207D01*
+X007688Y021208D01*
+X007629Y021205D01*
+X007571Y021199D01*
+X007513Y021188D01*
+X007456Y021174D01*
+X007400Y021156D01*
+X007345Y021134D01*
+X007292Y021109D01*
+X007241Y021080D01*
+X007191Y021048D01*
+X007144Y021013D01*
+X007100Y020974D01*
+X007058Y020933D01*
+X007018Y020889D01*
+X006982Y020843D01*
+X006949Y020794D01*
+X006919Y020743D01*
+X006893Y020691D01*
+X006870Y020636D01*
+X006851Y020581D01*
+X006836Y020524D01*
+X006824Y020466D01*
+X006816Y020408D01*
+X006812Y020349D01*
+X006812Y020291D01*
+X006816Y020232D01*
+X006824Y020174D01*
+X006836Y020116D01*
+X006851Y020059D01*
+X006870Y020004D01*
+X006893Y019949D01*
+X006919Y019897D01*
+X006949Y019846D01*
+X006982Y019797D01*
+X007018Y019751D01*
+X007058Y019707D01*
+X007100Y019666D01*
+X007144Y019627D01*
+X007191Y019592D01*
+X007241Y019560D01*
+X007292Y019531D01*
+X007345Y019506D01*
+X007400Y019484D01*
+X007456Y019466D01*
+X007513Y019452D01*
+X007571Y019441D01*
+X007629Y019435D01*
+X007688Y019432D01*
+X007747Y019433D01*
+X007805Y019438D01*
+X007863Y019447D01*
+X007921Y019460D01*
+X007977Y019476D01*
+X008032Y019497D01*
+X008086Y019520D01*
+X008138Y019548D01*
+X008188Y019578D01*
+X008236Y019612D01*
+X008282Y019649D01*
+X008325Y019689D01*
+X008366Y019732D01*
+X008403Y019778D01*
+X008437Y019825D01*
+X008434Y019828D01*
+X008400Y019780D01*
+X008363Y019735D01*
+X008322Y019692D01*
+X008280Y019652D01*
+X008234Y019616D01*
+X008186Y019582D01*
+X008136Y019551D01*
+X008084Y019524D01*
+X008031Y019500D01*
+X007976Y019480D01*
+X007920Y019464D01*
+X007863Y019451D01*
+X007805Y019442D01*
+X007746Y019437D01*
+X007688Y019436D01*
+X007629Y019439D01*
+X007571Y019445D01*
+X007513Y019456D01*
+X007457Y019470D01*
+X007401Y019488D01*
+X007347Y019510D01*
+X007294Y019535D01*
+X007243Y019564D01*
+X007193Y019595D01*
+X007147Y019631D01*
+X007102Y019669D01*
+X007060Y019710D01*
+X007021Y019753D01*
+X006985Y019800D01*
+X006953Y019848D01*
+X006923Y019899D01*
+X006897Y019951D01*
+X006874Y020005D01*
+X006855Y020060D01*
+X006840Y020117D01*
+X006828Y020174D01*
+X006820Y020232D01*
+X006816Y020291D01*
+X006816Y020349D01*
+X006820Y020408D01*
+X006828Y020466D01*
+X006840Y020523D01*
+X006855Y020580D01*
+X006874Y020635D01*
+X006897Y020689D01*
+X006923Y020741D01*
+X006953Y020792D01*
+X006985Y020840D01*
+X007021Y020887D01*
+X007060Y020930D01*
+X007102Y020971D01*
+X007147Y021009D01*
+X007193Y021045D01*
+X007243Y021076D01*
+X007294Y021105D01*
+X007347Y021130D01*
+X007401Y021152D01*
+X007457Y021170D01*
+X007513Y021184D01*
+X007571Y021195D01*
+X007629Y021201D01*
+X007688Y021204D01*
+X007746Y021203D01*
+X007805Y021198D01*
+X007863Y021189D01*
+X007920Y021176D01*
+X007976Y021160D01*
+X008031Y021140D01*
+X008084Y021116D01*
+X008136Y021089D01*
+X008186Y021058D01*
+X008234Y021024D01*
+X008280Y020988D01*
+X008322Y020948D01*
+X008363Y020905D01*
+X008400Y020860D01*
+X008434Y020812D01*
+X008431Y020810D01*
+X008397Y020858D01*
+X008360Y020902D01*
+X008320Y020945D01*
+X008277Y020985D01*
+X008232Y021021D01*
+X008184Y021055D01*
+X008134Y021085D01*
+X008083Y021112D01*
+X008029Y021136D01*
+X007975Y021156D01*
+X007919Y021172D01*
+X007862Y021185D01*
+X007804Y021194D01*
+X007746Y021199D01*
+X007688Y021200D01*
+X007630Y021197D01*
+X007572Y021191D01*
+X007514Y021180D01*
+X007458Y021166D01*
+X007402Y021148D01*
+X007348Y021127D01*
+X007295Y021102D01*
+X007245Y021073D01*
+X007196Y021041D01*
+X007149Y021006D01*
+X007105Y020968D01*
+X007063Y020927D01*
+X007024Y020884D01*
+X006989Y020838D01*
+X006956Y020790D01*
+X006926Y020739D01*
+X006900Y020687D01*
+X006878Y020634D01*
+X006859Y020578D01*
+X006844Y020522D01*
+X006832Y020465D01*
+X006824Y020407D01*
+X006820Y020349D01*
+X006820Y020291D01*
+X006824Y020233D01*
+X006832Y020175D01*
+X006844Y020118D01*
+X006859Y020062D01*
+X006878Y020006D01*
+X006900Y019953D01*
+X006926Y019901D01*
+X006956Y019850D01*
+X006989Y019802D01*
+X007024Y019756D01*
+X007063Y019713D01*
+X007105Y019672D01*
+X007149Y019634D01*
+X007196Y019599D01*
+X007245Y019567D01*
+X007295Y019538D01*
+X007348Y019513D01*
+X007402Y019492D01*
+X007458Y019474D01*
+X007514Y019460D01*
+X007572Y019449D01*
+X007630Y019443D01*
+X007688Y019440D01*
+X007746Y019441D01*
+X007804Y019446D01*
+X007862Y019455D01*
+X007919Y019468D01*
+X007975Y019484D01*
+X008029Y019504D01*
+X008083Y019528D01*
+X008134Y019555D01*
+X008184Y019585D01*
+X008232Y019619D01*
+X008277Y019655D01*
+X008320Y019695D01*
+X008360Y019738D01*
+X008397Y019782D01*
+X008431Y019830D01*
+D21*
+X005195Y010906D02*
+X005194Y010889D01*
+X005189Y010872D01*
+X005182Y010857D01*
+X005172Y010843D01*
+X005160Y010831D01*
+X005146Y010821D01*
+X005131Y010814D01*
+X005114Y010809D01*
+X005097Y010808D01*
+X005097Y010807D02*
+X004703Y010807D01*
+X004685Y010805D01*
+X004668Y010800D01*
+X004651Y010792D01*
+X004637Y010781D01*
+X004625Y010768D01*
+X004615Y010753D01*
+X004609Y010736D01*
+X004605Y010718D01*
+X004605Y010700D01*
+X004609Y010682D01*
+X004615Y010665D01*
+X004625Y010650D01*
+X004637Y010637D01*
+X004651Y010626D01*
+X004668Y010618D01*
+X004685Y010613D01*
+X004703Y010611D01*
+X005294Y010611D01*
+X005294Y010610D02*
+X005312Y010608D01*
+X005329Y010603D01*
+X005346Y010595D01*
+X005360Y010584D01*
+X005372Y010571D01*
+X005382Y010556D01*
+X005388Y010539D01*
+X005392Y010521D01*
+X005392Y010503D01*
+X005388Y010485D01*
+X005382Y010468D01*
+X005372Y010453D01*
+X005360Y010440D01*
+X005346Y010429D01*
+X005329Y010421D01*
+X005312Y010416D01*
+X005294Y010414D01*
+X004703Y010414D01*
+X004703Y010413D02*
+X004685Y010411D01*
+X004668Y010406D01*
+X004651Y010398D01*
+X004637Y010387D01*
+X004625Y010374D01*
+X004615Y010359D01*
+X004609Y010342D01*
+X004605Y010324D01*
+X004605Y010306D01*
+X004609Y010288D01*
+X004615Y010271D01*
+X004625Y010256D01*
+X004637Y010243D01*
+X004651Y010232D01*
+X004668Y010224D01*
+X004685Y010219D01*
+X004703Y010217D01*
+X004998Y010217D01*
+X004998Y010216D02*
+X005016Y010214D01*
+X005033Y010209D01*
+X005050Y010201D01*
+X005064Y010190D01*
+X005076Y010177D01*
+X005086Y010162D01*
+X005092Y010145D01*
+X005096Y010127D01*
+X005096Y010109D01*
+X005092Y010091D01*
+X005086Y010074D01*
+X005076Y010059D01*
+X005064Y010046D01*
+X005050Y010035D01*
+X005033Y010027D01*
+X005016Y010022D01*
+X004998Y010020D01*
+X004802Y010020D01*
+X004784Y010018D01*
+X004767Y010013D01*
+X004750Y010005D01*
+X004736Y009994D01*
+X004724Y009981D01*
+X004714Y009966D01*
+X004708Y009949D01*
+X004704Y009931D01*
+X004704Y009913D01*
+X004708Y009895D01*
+X004714Y009878D01*
+X004724Y009863D01*
+X004736Y009850D01*
+X004750Y009839D01*
+X004767Y009831D01*
+X004784Y009826D01*
+X004802Y009824D01*
+X004802Y009823D02*
+X004998Y009823D01*
+X005016Y009821D01*
+X005033Y009816D01*
+X005050Y009808D01*
+X005064Y009797D01*
+X005076Y009784D01*
+X005086Y009769D01*
+X005092Y009752D01*
+X005096Y009734D01*
+X005096Y009716D01*
+X005092Y009698D01*
+X005086Y009681D01*
+X005076Y009666D01*
+X005064Y009653D01*
+X005050Y009642D01*
+X005033Y009634D01*
+X005016Y009629D01*
+X004998Y009627D01*
+X004998Y009626D02*
+X004506Y009626D01*
+X004488Y009624D01*
+X004471Y009619D01*
+X004454Y009611D01*
+X004440Y009600D01*
+X004428Y009587D01*
+X004418Y009572D01*
+X004412Y009555D01*
+X004408Y009537D01*
+X004408Y009519D01*
+X004412Y009501D01*
+X004418Y009484D01*
+X004428Y009469D01*
+X004440Y009456D01*
+X004454Y009445D01*
+X004471Y009437D01*
+X004488Y009432D01*
+X004506Y009430D01*
+X004506Y009429D02*
+X005195Y009429D01*
+X005213Y009427D01*
+X005230Y009422D01*
+X005247Y009414D01*
+X005261Y009403D01*
+X005273Y009390D01*
+X005283Y009375D01*
+X005289Y009358D01*
+X005293Y009340D01*
+X005293Y009322D01*
+X005289Y009304D01*
+X005283Y009287D01*
+X005273Y009272D01*
+X005261Y009259D01*
+X005247Y009248D01*
+X005230Y009240D01*
+X005213Y009235D01*
+X005195Y009233D01*
+X004703Y009233D01*
+X004703Y009232D02*
+X004686Y009231D01*
+X004669Y009226D01*
+X004654Y009219D01*
+X004640Y009209D01*
+X004628Y009197D01*
+X004618Y009183D01*
+X004611Y009168D01*
+X004606Y009151D01*
+X004605Y009134D01*
+X004580Y002587D02*
+X004580Y002280D01*
+X004120Y002280D01*
+X004120Y001819D02*
+X004580Y001819D01*
+X004580Y002126D01*
+X004580Y001666D02*
+X004273Y001666D01*
+X004120Y001512D01*
+X004273Y001359D01*
+X004580Y001359D01*
+X004580Y001205D02*
+X004120Y001205D01*
+X004350Y001205D02*
+X004350Y000898D01*
+X004580Y000898D02*
+X004120Y000898D01*
+X004350Y001359D02*
+X004350Y001666D01*
+D22*
+X003975Y010020D02*
+X003977Y010080D01*
+X003983Y010141D01*
+X003993Y010200D01*
+X004007Y010259D01*
+X004024Y010317D01*
+X004045Y010374D01*
+X004070Y010429D01*
+X004099Y010482D01*
+X004131Y010534D01*
+X004166Y010583D01*
+X004205Y010630D01*
+X004246Y010674D01*
+X004290Y010715D01*
+X004337Y010754D01*
+X004386Y010789D01*
+X004437Y010821D01*
+X004491Y010850D01*
+X004546Y010875D01*
+X004603Y010896D01*
+X004661Y010913D01*
+X004720Y010927D01*
+X004779Y010937D01*
+X004840Y010943D01*
+X004900Y010945D01*
+X004960Y010943D01*
+X005021Y010937D01*
+X005080Y010927D01*
+X005139Y010913D01*
+X005197Y010896D01*
+X005254Y010875D01*
+X005309Y010850D01*
+X005362Y010821D01*
+X005414Y010789D01*
+X005463Y010754D01*
+X005510Y010715D01*
+X005554Y010674D01*
+X005595Y010630D01*
+X005634Y010583D01*
+X005669Y010534D01*
+X005701Y010483D01*
+X005730Y010429D01*
+X005755Y010374D01*
+X005776Y010317D01*
+X005793Y010259D01*
+X005807Y010200D01*
+X005817Y010141D01*
+X005823Y010080D01*
+X005825Y010020D01*
+X005823Y009960D01*
+X005817Y009899D01*
+X005807Y009840D01*
+X005793Y009781D01*
+X005776Y009723D01*
+X005755Y009666D01*
+X005730Y009611D01*
+X005701Y009558D01*
+X005669Y009506D01*
+X005634Y009457D01*
+X005595Y009410D01*
+X005554Y009366D01*
+X005510Y009325D01*
+X005463Y009286D01*
+X005414Y009251D01*
+X005363Y009219D01*
+X005309Y009190D01*
+X005254Y009165D01*
+X005197Y009144D01*
+X005139Y009127D01*
+X005080Y009113D01*
+X005021Y009103D01*
+X004960Y009097D01*
+X004900Y009095D01*
+X004840Y009097D01*
+X004779Y009103D01*
+X004720Y009113D01*
+X004661Y009127D01*
+X004603Y009144D01*
+X004546Y009165D01*
+X004491Y009190D01*
+X004438Y009219D01*
+X004386Y009251D01*
+X004337Y009286D01*
+X004290Y009325D01*
+X004246Y009366D01*
+X004205Y009410D01*
+X004166Y009457D01*
+X004131Y009506D01*
+X004099Y009557D01*
+X004070Y009611D01*
+X004045Y009666D01*
+X004024Y009723D01*
+X004007Y009781D01*
+X003993Y009840D01*
+X003983Y009899D01*
+X003977Y009960D01*
+X003975Y010020D01*
+X003798Y010020D02*
+X003800Y010086D01*
+X003806Y010152D01*
+X003816Y010217D01*
+X003829Y010281D01*
+X003847Y010345D01*
+X003868Y010407D01*
+X003893Y010468D01*
+X003922Y010528D01*
+X003954Y010585D01*
+X003989Y010641D01*
+X004028Y010694D01*
+X004070Y010745D01*
+X004115Y010793D01*
+X004163Y010839D01*
+X004213Y010882D01*
+X004266Y010921D01*
+X004321Y010957D01*
+X004378Y010990D01*
+X004437Y011020D01*
+X004497Y011046D01*
+X004559Y011068D01*
+X004623Y011087D01*
+X004687Y011101D01*
+X004752Y011112D01*
+X004818Y011119D01*
+X004884Y011122D01*
+X004949Y011121D01*
+X005015Y011116D01*
+X005081Y011107D01*
+X005145Y011094D01*
+X005209Y011078D01*
+X005272Y011057D01*
+X005333Y011033D01*
+X005393Y011006D01*
+X005451Y010974D01*
+X005507Y010940D01*
+X005561Y010902D01*
+X005613Y010861D01*
+X005662Y010817D01*
+X005708Y010770D01*
+X005751Y010720D01*
+X005792Y010668D01*
+X005829Y010613D01*
+X005862Y010557D01*
+X005893Y010498D01*
+X005920Y010438D01*
+X005943Y010376D01*
+X005962Y010313D01*
+X005978Y010249D01*
+X005990Y010184D01*
+X005998Y010119D01*
+X006002Y010053D01*
+X006002Y009987D01*
+X005998Y009921D01*
+X005990Y009856D01*
+X005978Y009791D01*
+X005962Y009727D01*
+X005943Y009664D01*
+X005920Y009602D01*
+X005893Y009542D01*
+X005862Y009483D01*
+X005829Y009427D01*
+X005792Y009372D01*
+X005751Y009320D01*
+X005708Y009270D01*
+X005662Y009223D01*
+X005613Y009179D01*
+X005561Y009138D01*
+X005507Y009100D01*
+X005451Y009066D01*
+X005393Y009034D01*
+X005333Y009007D01*
+X005272Y008983D01*
+X005209Y008962D01*
+X005145Y008946D01*
+X005081Y008933D01*
+X005015Y008924D01*
+X004949Y008919D01*
+X004884Y008918D01*
+X004818Y008921D01*
+X004752Y008928D01*
+X004687Y008939D01*
+X004623Y008953D01*
+X004559Y008972D01*
+X004497Y008994D01*
+X004437Y009020D01*
+X004378Y009050D01*
+X004321Y009083D01*
+X004266Y009119D01*
+X004213Y009158D01*
+X004163Y009201D01*
+X004115Y009247D01*
+X004070Y009295D01*
+X004028Y009346D01*
+X003989Y009399D01*
+X003954Y009455D01*
+X003922Y009512D01*
+X003893Y009572D01*
+X003868Y009633D01*
+X003847Y009695D01*
+X003829Y009759D01*
+X003816Y009823D01*
+X003806Y009888D01*
+X003800Y009954D01*
+X003798Y010020D01*
+D23*
+X019800Y011370D03*
+D24*
+X020425Y011370D03*
+X018075Y011370D03*
+M02*
diff --git a/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.sol b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.sol
new file mode 100644
index 0000000..089e99e
--- /dev/null
+++ b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.sol
@@ -0,0 +1,3147 @@
+G75*
+%MOIN*%
+%OFA0B0*%
+%FSLAX24Y24*%
+%IPPOS*%
+%LPD*%
+%AMOC8*
+5,1,8,0,0,1.08239X$1,22.5*
+%
+%ADD10C,0.0600*%
+%ADD11OC8,0.0520*%
+%ADD12C,0.0515*%
+%ADD13R,0.0515X0.0515*%
+%ADD14C,0.0760*%
+%ADD15R,0.1500X0.1500*%
+%ADD16C,0.0397*%
+%ADD17C,0.0660*%
+%ADD18C,0.0551*%
+%ADD19C,0.0705*%
+%ADD20OC8,0.0760*%
+%ADD21C,0.0560*%
+%ADD22C,0.0240*%
+%ADD23C,0.0100*%
+%ADD24C,0.0472*%
+%ADD25C,0.0160*%
+%ADD26C,0.0356*%
+%ADD27C,0.0320*%
+D10*
+X013350Y001270D02*
+X013350Y001870D01*
+X014350Y001870D02*
+X014350Y001270D01*
+X015350Y001270D02*
+X015350Y001870D01*
+X016350Y001870D02*
+X016350Y001270D01*
+X017350Y001270D02*
+X017350Y001870D01*
+X018350Y001870D02*
+X018350Y001270D01*
+X020400Y001220D02*
+X020400Y001820D01*
+X021400Y001820D02*
+X021400Y001220D01*
+X022400Y001220D02*
+X022400Y001820D01*
+X023400Y001820D02*
+X023400Y001220D01*
+X024400Y001220D02*
+X024400Y001820D01*
+X025400Y001820D02*
+X025400Y001220D01*
+X008790Y014340D02*
+X008790Y014940D01*
+X007010Y014940D02*
+X007010Y014340D01*
+X007010Y016900D02*
+X007010Y017500D01*
+X008790Y017500D02*
+X008790Y016900D01*
+X009800Y020220D02*
+X009800Y020820D01*
+X010800Y020820D02*
+X010800Y020220D01*
+X011800Y020220D02*
+X011800Y020820D01*
+X012800Y020820D02*
+X012800Y020220D01*
+X013800Y020220D02*
+X013800Y020820D01*
+X014800Y020820D02*
+X014800Y020220D01*
+X015800Y020220D02*
+X015800Y020820D01*
+X016800Y020820D02*
+X016800Y020220D01*
+X018350Y020220D02*
+X018350Y020820D01*
+X019350Y020820D02*
+X019350Y020220D01*
+X020350Y020220D02*
+X020350Y020820D01*
+X021350Y020820D02*
+X021350Y020220D01*
+X022350Y020220D02*
+X022350Y020820D01*
+X023350Y020820D02*
+X023350Y020220D01*
+X024350Y020220D02*
+X024350Y020820D01*
+X025350Y020820D02*
+X025350Y020220D01*
+D11*
+X023350Y018270D03*
+X019350Y018270D03*
+X017500Y017120D03*
+X017000Y017870D03*
+X016500Y017120D03*
+X013800Y016670D03*
+X013800Y017720D03*
+X013800Y018820D03*
+X009800Y018820D03*
+X009800Y017720D03*
+X009800Y016670D03*
+X011650Y012720D03*
+X011650Y011520D03*
+X011650Y010320D03*
+X011650Y009120D03*
+X007650Y009120D03*
+X007650Y010320D03*
+X007650Y011520D03*
+X007650Y012720D03*
+X004800Y007170D03*
+X004800Y005170D03*
+D12*
+X006700Y020320D03*
+X007450Y020320D03*
+X008950Y020320D03*
+D13*
+X008200Y020320D03*
+D14*
+X008516Y006270D03*
+X009500Y006270D03*
+X010484Y006270D03*
+D15*
+X011272Y003514D03*
+X007728Y003514D03*
+D16*
+X005498Y002670D02*
+X005102Y002670D01*
+X005102Y001920D02*
+X005498Y001920D01*
+X005498Y001170D02*
+X005102Y001170D01*
+D17*
+X017250Y011370D03*
+X019250Y012670D03*
+X021250Y012670D03*
+X021250Y011370D03*
+X021250Y015670D03*
+X021250Y016670D03*
+X019250Y016670D03*
+X019250Y015670D03*
+D18*
+X005400Y010020D03*
+X004400Y010020D03*
+D19*
+X023440Y012251D02*
+X024145Y012251D01*
+X024145Y014220D02*
+X023440Y014220D01*
+X023440Y016189D02*
+X024145Y016189D01*
+D20*
+X015400Y014904D03*
+X015400Y012936D03*
+D21*
+X025720Y010320D02*
+X026280Y010320D01*
+X026280Y009320D02*
+X025720Y009320D01*
+X025720Y008320D02*
+X026280Y008320D01*
+D22*
+X003120Y000539D02*
+X003120Y021699D01*
+X027280Y021601D01*
+X027280Y000441D01*
+X003120Y000539D01*
+X003120Y000559D02*
+X027280Y000559D01*
+X027280Y000797D02*
+X025633Y000797D01*
+X025672Y000813D02*
+X025807Y000948D01*
+X025880Y001125D01*
+X025880Y001915D01*
+X025807Y002092D01*
+X025672Y002227D01*
+X025495Y002300D01*
+X025305Y002300D01*
+X025128Y002227D01*
+X024993Y002092D01*
+X024920Y001915D01*
+X024920Y001125D01*
+X024993Y000948D01*
+X025128Y000813D01*
+X025305Y000740D01*
+X025495Y000740D01*
+X025672Y000813D01*
+X025843Y001036D02*
+X027280Y001036D01*
+X027280Y001274D02*
+X025880Y001274D01*
+X025880Y001513D02*
+X027280Y001513D01*
+X027280Y001751D02*
+X025880Y001751D01*
+X025849Y001990D02*
+X027280Y001990D01*
+X027280Y002228D02*
+X025669Y002228D01*
+X025131Y002228D02*
+X024669Y002228D01*
+X024672Y002227D02*
+X024495Y002300D01*
+X024305Y002300D01*
+X024128Y002227D01*
+X023993Y002092D01*
+X023920Y001915D01*
+X023920Y001125D01*
+X023993Y000948D01*
+X024128Y000813D01*
+X024305Y000740D01*
+X024495Y000740D01*
+X024672Y000813D01*
+X024807Y000948D01*
+X024880Y001125D01*
+X024880Y001915D01*
+X024807Y002092D01*
+X024672Y002227D01*
+X024849Y001990D02*
+X024951Y001990D01*
+X024920Y001751D02*
+X024880Y001751D01*
+X024880Y001513D02*
+X024920Y001513D01*
+X024920Y001274D02*
+X024880Y001274D01*
+X024843Y001036D02*
+X024957Y001036D01*
+X025167Y000797D02*
+X024633Y000797D01*
+X024167Y000797D02*
+X023633Y000797D01*
+X023672Y000813D02*
+X023807Y000948D01*
+X023880Y001125D01*
+X023880Y001915D01*
+X023807Y002092D01*
+X023672Y002227D01*
+X023495Y002300D01*
+X023305Y002300D01*
+X023128Y002227D01*
+X022993Y002092D01*
+X022920Y001915D01*
+X022920Y001125D01*
+X022993Y000948D01*
+X023128Y000813D01*
+X023305Y000740D01*
+X023495Y000740D01*
+X023672Y000813D01*
+X023843Y001036D02*
+X023957Y001036D01*
+X023920Y001274D02*
+X023880Y001274D01*
+X023880Y001513D02*
+X023920Y001513D01*
+X023920Y001751D02*
+X023880Y001751D01*
+X023849Y001990D02*
+X023951Y001990D01*
+X024131Y002228D02*
+X023669Y002228D01*
+X023131Y002228D02*
+X022669Y002228D01*
+X022672Y002227D02*
+X022495Y002300D01*
+X022305Y002300D01*
+X022128Y002227D01*
+X021993Y002092D01*
+X021920Y001915D01*
+X021920Y001125D01*
+X021993Y000948D01*
+X022128Y000813D01*
+X022305Y000740D01*
+X022495Y000740D01*
+X022672Y000813D01*
+X022807Y000948D01*
+X022880Y001125D01*
+X022880Y001915D01*
+X022807Y002092D01*
+X022672Y002227D01*
+X022849Y001990D02*
+X022951Y001990D01*
+X022920Y001751D02*
+X022880Y001751D01*
+X022880Y001513D02*
+X022920Y001513D01*
+X022920Y001274D02*
+X022880Y001274D01*
+X022843Y001036D02*
+X022957Y001036D01*
+X023167Y000797D02*
+X022633Y000797D01*
+X022167Y000797D02*
+X021633Y000797D01*
+X021672Y000813D02*
+X021495Y000740D01*
+X021305Y000740D01*
+X021128Y000813D01*
+X020993Y000948D01*
+X020920Y001125D01*
+X020920Y001915D01*
+X020993Y002092D01*
+X021128Y002227D01*
+X021305Y002300D01*
+X021495Y002300D01*
+X021672Y002227D01*
+X021807Y002092D01*
+X021880Y001915D01*
+X021880Y001125D01*
+X021807Y000948D01*
+X021672Y000813D01*
+X021843Y001036D02*
+X021957Y001036D01*
+X021920Y001274D02*
+X021880Y001274D01*
+X021880Y001513D02*
+X021920Y001513D01*
+X021920Y001751D02*
+X021880Y001751D01*
+X021849Y001990D02*
+X021951Y001990D01*
+X022131Y002228D02*
+X021669Y002228D01*
+X021131Y002228D02*
+X020669Y002228D01*
+X020672Y002227D02*
+X020495Y002300D01*
+X020305Y002300D01*
+X020128Y002227D01*
+X019993Y002092D01*
+X019920Y001915D01*
+X019920Y001125D01*
+X019993Y000948D01*
+X020128Y000813D01*
+X020305Y000740D01*
+X020495Y000740D01*
+X020672Y000813D01*
+X020807Y000948D01*
+X020880Y001125D01*
+X020880Y001915D01*
+X020807Y002092D01*
+X020672Y002227D01*
+X020849Y001990D02*
+X020951Y001990D01*
+X020920Y001751D02*
+X020880Y001751D01*
+X020880Y001513D02*
+X020920Y001513D01*
+X020920Y001274D02*
+X020880Y001274D01*
+X020843Y001036D02*
+X020957Y001036D01*
+X021167Y000797D02*
+X020633Y000797D01*
+X020167Y000797D02*
+X018462Y000797D01*
+X018445Y000790D02*
+X018622Y000863D01*
+X018757Y000998D01*
+X018830Y001175D01*
+X018830Y001965D01*
+X018757Y002142D01*
+X018622Y002277D01*
+X018445Y002350D01*
+X018255Y002350D01*
+X018078Y002277D01*
+X017943Y002142D01*
+X017870Y001965D01*
+X017870Y001175D01*
+X017943Y000998D01*
+X018078Y000863D01*
+X018255Y000790D01*
+X018445Y000790D01*
+X018238Y000797D02*
+X017567Y000797D01*
+X017550Y000788D02*
+X017623Y000825D01*
+X017689Y000873D01*
+X017747Y000931D01*
+X017795Y000997D01*
+X017832Y001070D01*
+X017857Y001148D01*
+X017870Y001229D01*
+X017870Y001570D01*
+X017870Y001911D01*
+X017857Y001992D01*
+X017832Y002070D01*
+X017795Y002143D01*
+X017747Y002209D01*
+X017689Y002267D01*
+X017623Y002315D01*
+X017550Y002352D01*
+X017472Y002377D01*
+X017391Y002390D01*
+X017350Y002390D01*
+X017350Y001570D01*
+X016350Y001570D01*
+X016350Y001570D01*
+X016350Y002390D01*
+X016391Y002390D01*
+X016472Y002377D01*
+X016550Y002352D01*
+X016623Y002315D01*
+X016689Y002267D01*
+X016747Y002209D01*
+X016795Y002143D01*
+X016832Y002070D01*
+X016850Y002014D01*
+X016868Y002070D01*
+X016905Y002143D01*
+X016953Y002209D01*
+X017011Y002267D01*
+X017077Y002315D01*
+X017150Y002352D01*
+X017228Y002377D01*
+X017309Y002390D01*
+X017350Y002390D01*
+X017350Y001570D01*
+X017350Y001570D01*
+X017870Y001570D01*
+X017350Y001570D01*
+X017350Y001570D01*
+X017350Y000750D01*
+X017391Y000750D01*
+X017472Y000763D01*
+X017550Y000788D01*
+X017350Y000797D02*
+X017350Y000797D01*
+X017350Y000750D02*
+X017350Y001570D01*
+X017350Y001570D01*
+X017350Y001570D01*
+X016870Y001570D01*
+X016350Y001570D01*
+X016350Y001570D01*
+X016350Y001570D01*
+X015830Y001570D01*
+X015830Y001911D01*
+X015843Y001992D01*
+X015868Y002070D01*
+X015905Y002143D01*
+X015953Y002209D01*
+X016011Y002267D01*
+X016077Y002315D01*
+X016150Y002352D01*
+X016228Y002377D01*
+X016309Y002390D01*
+X016350Y002390D01*
+X016350Y001570D01*
+X016350Y000750D01*
+X016391Y000750D01*
+X016472Y000763D01*
+X016550Y000788D01*
+X016623Y000825D01*
+X016689Y000873D01*
+X016747Y000931D01*
+X016795Y000997D01*
+X016832Y001070D01*
+X016850Y001126D01*
+X016868Y001070D01*
+X016905Y000997D01*
+X016953Y000931D01*
+X017011Y000873D01*
+X017077Y000825D01*
+X017150Y000788D01*
+X017228Y000763D01*
+X017309Y000750D01*
+X017350Y000750D01*
+X017133Y000797D02*
+X016567Y000797D01*
+X016350Y000797D02*
+X016350Y000797D01*
+X016350Y000750D02*
+X016350Y001570D01*
+X016350Y001570D01*
+X017350Y001570D01*
+X017350Y001513D02*
+X017350Y001513D01*
+X017400Y001620D02*
+X017400Y002420D01*
+X017800Y002820D01*
+X025600Y002820D01*
+X026061Y003281D01*
+X026061Y004659D01*
+X025193Y005532D02*
+X026193Y006532D01*
+X026288Y006627D01*
+X026340Y006752D01*
+X026340Y007860D01*
+X026371Y007860D01*
+X026541Y007930D01*
+X026670Y008059D01*
+X026740Y008228D01*
+X026740Y008411D01*
+X026670Y008581D01*
+X026541Y008710D01*
+X026371Y008780D01*
+X025628Y008780D01*
+X025459Y008710D01*
+X025330Y008581D01*
+X025260Y008411D01*
+X025260Y008228D01*
+X025330Y008059D01*
+X025459Y007930D01*
+X025628Y007860D01*
+X025660Y007860D01*
+X025660Y006961D01*
+X024859Y006160D01*
+X021640Y006160D01*
+X021640Y011039D01*
+X021682Y011081D01*
+X021760Y011269D01*
+X021760Y011399D01*
+X022393Y012032D01*
+X022488Y012127D01*
+X022540Y012252D01*
+X022540Y014788D01*
+X022488Y014913D01*
+X021760Y015641D01*
+X021760Y015771D01*
+X021682Y015959D01*
+X021539Y016102D01*
+X021376Y016170D01*
+X021539Y016238D01*
+X021682Y016381D01*
+X021760Y016569D01*
+X021760Y016771D01*
+X021682Y016959D01*
+X021539Y017102D01*
+X021351Y017180D01*
+X021149Y017180D01*
+X020961Y017102D01*
+X020818Y016959D01*
+X020740Y016771D01*
+X020740Y016569D01*
+X020818Y016381D01*
+X020961Y016238D01*
+X021124Y016170D01*
+X020961Y016102D01*
+X020818Y015959D01*
+X020740Y015771D01*
+X020740Y015569D01*
+X020818Y015381D01*
+X020961Y015238D01*
+X021149Y015160D01*
+X021279Y015160D01*
+X021860Y014579D01*
+X021860Y012461D01*
+X021279Y011880D01*
+X021149Y011880D01*
+X020961Y011802D01*
+X020818Y011659D01*
+X020740Y011471D01*
+X020740Y011269D01*
+X020818Y011081D01*
+X020960Y010939D01*
+X020960Y006160D01*
+X011832Y006160D01*
+X011707Y006108D01*
+X011459Y005860D01*
+X010923Y005860D01*
+X010942Y005879D01*
+X010997Y005956D01*
+X011040Y006040D01*
+X011069Y006129D01*
+X011084Y006223D01*
+X011084Y006270D01*
+X010484Y006270D01*
+X010484Y006870D01*
+X010437Y006870D01*
+X010344Y006855D01*
+X010254Y006826D01*
+X010170Y006783D01*
+X010093Y006728D01*
+X010027Y006661D01*
+X009974Y006588D01*
+X009817Y006745D01*
+X009611Y006830D01*
+X009389Y006830D01*
+X009183Y006745D01*
+X009025Y006587D01*
+X009008Y006545D01*
+X008990Y006587D01*
+X008833Y006745D01*
+X008627Y006830D01*
+X008404Y006830D01*
+X008199Y006745D01*
+X008041Y006587D01*
+X007956Y006381D01*
+X007956Y006159D01*
+X008041Y005953D01*
+X008199Y005795D01*
+X008404Y005710D01*
+X008563Y005710D01*
+X008946Y005327D01*
+X009042Y005232D01*
+X009167Y005180D01*
+X011668Y005180D01*
+X011793Y005232D01*
+X012041Y005480D01*
+X015050Y005480D01*
+X015050Y002249D01*
+X014943Y002142D01*
+X014870Y001965D01*
+X014870Y001175D01*
+X014943Y000998D01*
+X015078Y000863D01*
+X015255Y000790D01*
+X015445Y000790D01*
+X015622Y000863D01*
+X015757Y000998D01*
+X015830Y001175D01*
+X015830Y001965D01*
+X015757Y002142D01*
+X015650Y002249D01*
+X015650Y005480D01*
+X025068Y005480D01*
+X025193Y005532D01*
+X025228Y005567D02*
+X027280Y005567D01*
+X027280Y005329D02*
+X015650Y005329D01*
+X015650Y005090D02*
+X027280Y005090D01*
+X027280Y004852D02*
+X015650Y004852D01*
+X015650Y004613D02*
+X027280Y004613D01*
+X027280Y004375D02*
+X015650Y004375D01*
+X015650Y004136D02*
+X016627Y004136D01*
+X016664Y004173D02*
+X016547Y004056D01*
+X016484Y003903D01*
+X016484Y003737D01*
+X016547Y003584D01*
+X016664Y003467D01*
+X016817Y003404D01*
+X016983Y003404D01*
+X017136Y003467D01*
+X017189Y003520D01*
+X022811Y003520D01*
+X022864Y003467D01*
+X023017Y003404D01*
+X023183Y003404D01*
+X023336Y003467D01*
+X023453Y003584D01*
+X023516Y003737D01*
+X023516Y003903D01*
+X023453Y004056D01*
+X023336Y004173D01*
+X023183Y004236D01*
+X023017Y004236D01*
+X022864Y004173D01*
+X022811Y004120D01*
+X017189Y004120D01*
+X017136Y004173D01*
+X016983Y004236D01*
+X016817Y004236D01*
+X016664Y004173D01*
+X016484Y003898D02*
+X015650Y003898D01*
+X015650Y003659D02*
+X016516Y003659D01*
+X016777Y003421D02*
+X015650Y003421D01*
+X015650Y003182D02*
+X027280Y003182D01*
+X027280Y002944D02*
+X015650Y002944D01*
+X015650Y002705D02*
+X027280Y002705D01*
+X027280Y002467D02*
+X015650Y002467D01*
+X015671Y002228D02*
+X015973Y002228D01*
+X015842Y001990D02*
+X015820Y001990D01*
+X015830Y001751D02*
+X015830Y001751D01*
+X015830Y001570D02*
+X015830Y001229D01*
+X015843Y001148D01*
+X015868Y001070D01*
+X015905Y000997D01*
+X015953Y000931D01*
+X016011Y000873D01*
+X016077Y000825D01*
+X016150Y000788D01*
+X016228Y000763D01*
+X016309Y000750D01*
+X016350Y000750D01*
+X016133Y000797D02*
+X015462Y000797D01*
+X015238Y000797D02*
+X014462Y000797D01*
+X014445Y000790D02*
+X014622Y000863D01*
+X014757Y000998D01*
+X014830Y001175D01*
+X014830Y001965D01*
+X014757Y002142D01*
+X014622Y002277D01*
+X014445Y002350D01*
+X014255Y002350D01*
+X014078Y002277D01*
+X013943Y002142D01*
+X013870Y001965D01*
+X013870Y001175D01*
+X013943Y000998D01*
+X014078Y000863D01*
+X014255Y000790D01*
+X014445Y000790D01*
+X014238Y000797D02*
+X013462Y000797D01*
+X013445Y000790D02*
+X013622Y000863D01*
+X013757Y000998D01*
+X013830Y001175D01*
+X013830Y001965D01*
+X013757Y002142D01*
+X013622Y002277D01*
+X013445Y002350D01*
+X013255Y002350D01*
+X013078Y002277D01*
+X012943Y002142D01*
+X012870Y001965D01*
+X012870Y001175D01*
+X012943Y000998D01*
+X013078Y000863D01*
+X013255Y000790D01*
+X013445Y000790D01*
+X013238Y000797D02*
+X005587Y000797D01*
+X005574Y000792D02*
+X005713Y000849D01*
+X005819Y000956D01*
+X005877Y001095D01*
+X005877Y001245D01*
+X005819Y001384D01*
+X005713Y001491D01*
+X005633Y001524D01*
+X005659Y001532D01*
+X005718Y001562D01*
+X005771Y001601D01*
+X005818Y001647D01*
+X005856Y001701D01*
+X005886Y001759D01*
+X005907Y001822D01*
+X005917Y001887D01*
+X005917Y001920D01*
+X005917Y001953D01*
+X005907Y002018D01*
+X005886Y002081D01*
+X005856Y002139D01*
+X005818Y002193D01*
+X005771Y002239D01*
+X005718Y002278D01*
+X005659Y002308D01*
+X005633Y002316D01*
+X005713Y002349D01*
+X005819Y002456D01*
+X005877Y002595D01*
+X005877Y002745D01*
+X005819Y002884D01*
+X005713Y002991D01*
+X005574Y003048D01*
+X005026Y003048D01*
+X004887Y002991D01*
+X004781Y002884D01*
+X004723Y002745D01*
+X004723Y002595D01*
+X004781Y002456D01*
+X004887Y002349D01*
+X004967Y002316D01*
+X004941Y002308D01*
+X004882Y002278D01*
+X004829Y002239D01*
+X004782Y002193D01*
+X004744Y002139D01*
+X004714Y002081D01*
+X004693Y002018D01*
+X004683Y001953D01*
+X004683Y001920D01*
+X004683Y001887D01*
+X004693Y001822D01*
+X004714Y001759D01*
+X004744Y001701D01*
+X004782Y001647D01*
+X004829Y001601D01*
+X004882Y001562D01*
+X004941Y001532D01*
+X004967Y001524D01*
+X004887Y001491D01*
+X004781Y001384D01*
+X004723Y001245D01*
+X004723Y001095D01*
+X004781Y000956D01*
+X004887Y000849D01*
+X005026Y000792D01*
+X005574Y000792D01*
+X005852Y001036D02*
+X012928Y001036D01*
+X012870Y001274D02*
+X005865Y001274D01*
+X005660Y001513D02*
+X012870Y001513D01*
+X012870Y001751D02*
+X005882Y001751D01*
+X005917Y001920D02*
+X005300Y001920D01*
+X011800Y001920D01*
+X013000Y003120D01*
+X013000Y005120D01*
+X012202Y004339D02*
+X012096Y004444D01*
+X010447Y004444D01*
+X010342Y004339D01*
+X010342Y002690D01*
+X010447Y002584D01*
+X012096Y002584D01*
+X012202Y002690D01*
+X012202Y004339D01*
+X012166Y004375D02*
+X015050Y004375D01*
+X015050Y004613D02*
+X003120Y004613D01*
+X003120Y004375D02*
+X006834Y004375D01*
+X006798Y004339D02*
+X006904Y004444D01*
+X008553Y004444D01*
+X008658Y004339D01*
+X008658Y002690D01*
+X008553Y002584D01*
+X006904Y002584D01*
+X006798Y002690D01*
+X006798Y004339D01*
+X006798Y004136D02*
+X003120Y004136D01*
+X003120Y003898D02*
+X006798Y003898D01*
+X006798Y003659D02*
+X003120Y003659D01*
+X003120Y003421D02*
+X006798Y003421D01*
+X006798Y003182D02*
+X003120Y003182D01*
+X003120Y002944D02*
+X004840Y002944D01*
+X004723Y002705D02*
+X003120Y002705D01*
+X003120Y002467D02*
+X004776Y002467D01*
+X004818Y002228D02*
+X003120Y002228D01*
+X003120Y001990D02*
+X004689Y001990D01*
+X004683Y001920D02*
+X005300Y001920D01*
+X005917Y001920D01*
+X005911Y001990D02*
+X012880Y001990D01*
+X013029Y002228D02*
+X005782Y002228D01*
+X005824Y002467D02*
+X015050Y002467D01*
+X015050Y002705D02*
+X012202Y002705D01*
+X012202Y002944D02*
+X015050Y002944D01*
+X015050Y003182D02*
+X012202Y003182D01*
+X012202Y003421D02*
+X015050Y003421D01*
+X015050Y003659D02*
+X012202Y003659D01*
+X012202Y003898D02*
+X015050Y003898D01*
+X015050Y004136D02*
+X012202Y004136D01*
+X011889Y005329D02*
+X015050Y005329D01*
+X015050Y005090D02*
+X005240Y005090D01*
+X005240Y004988D02*
+X004982Y004730D01*
+X004618Y004730D01*
+X004360Y004988D01*
+X004360Y005352D01*
+X004618Y005610D01*
+X004982Y005610D01*
+X005240Y005352D01*
+X005240Y004988D01*
+X005104Y004852D02*
+X015050Y004852D01*
+X015350Y005770D02*
+X015350Y001570D01*
+X015830Y001570D02*
+X016350Y001570D01*
+X016350Y001513D02*
+X016350Y001513D01*
+X016350Y001751D02*
+X016350Y001751D01*
+X016350Y001990D02*
+X016350Y001990D01*
+X016350Y002228D02*
+X016350Y002228D01*
+X016727Y002228D02*
+X016973Y002228D01*
+X017350Y002228D02*
+X017350Y002228D01*
+X017350Y001990D02*
+X017350Y001990D01*
+X017350Y001751D02*
+X017350Y001751D01*
+X017350Y001274D02*
+X017350Y001274D01*
+X017350Y001036D02*
+X017350Y001036D01*
+X016886Y001036D02*
+X016814Y001036D01*
+X016350Y001036D02*
+X016350Y001036D01*
+X016350Y001274D02*
+X016350Y001274D01*
+X015886Y001036D02*
+X015772Y001036D01*
+X015830Y001274D02*
+X015830Y001274D01*
+X015830Y001513D02*
+X015830Y001513D01*
+X014870Y001513D02*
+X014830Y001513D01*
+X014830Y001751D02*
+X014870Y001751D01*
+X014880Y001990D02*
+X014820Y001990D01*
+X014671Y002228D02*
+X015029Y002228D01*
+X014029Y002228D02*
+X013671Y002228D01*
+X013820Y001990D02*
+X013880Y001990D01*
+X013870Y001751D02*
+X013830Y001751D01*
+X013830Y001513D02*
+X013870Y001513D01*
+X013870Y001274D02*
+X013830Y001274D01*
+X013772Y001036D02*
+X013928Y001036D01*
+X014772Y001036D02*
+X014928Y001036D01*
+X014870Y001274D02*
+X014830Y001274D01*
+X017023Y003421D02*
+X022977Y003421D01*
+X023223Y003421D02*
+X027280Y003421D01*
+X027280Y003659D02*
+X023484Y003659D01*
+X023516Y003898D02*
+X027280Y003898D01*
+X027280Y004136D02*
+X023373Y004136D01*
+X023100Y003820D02*
+X016900Y003820D01*
+X017173Y004136D02*
+X022827Y004136D01*
+X025466Y005806D02*
+X027280Y005806D01*
+X027280Y006044D02*
+X025705Y006044D01*
+X025943Y006283D02*
+X027280Y006283D01*
+X027280Y006521D02*
+X026182Y006521D01*
+X026340Y006760D02*
+X027280Y006760D01*
+X027280Y006998D02*
+X026340Y006998D01*
+X026340Y007237D02*
+X027280Y007237D01*
+X027280Y007475D02*
+X026340Y007475D01*
+X026340Y007714D02*
+X027280Y007714D01*
+X027280Y007952D02*
+X026563Y007952D01*
+X026724Y008191D02*
+X027280Y008191D01*
+X027280Y008429D02*
+X026733Y008429D01*
+X026583Y008668D02*
+X027280Y008668D01*
+X027280Y008906D02*
+X026483Y008906D01*
+X026541Y008930D02*
+X026371Y008860D01*
+X025628Y008860D01*
+X025459Y008930D01*
+X025330Y009059D01*
+X025260Y009228D01*
+X025260Y009411D01*
+X025330Y009581D01*
+X025459Y009710D01*
+X025628Y009780D01*
+X026371Y009780D01*
+X026541Y009710D01*
+X026670Y009581D01*
+X026740Y009411D01*
+X026740Y009228D01*
+X026670Y009059D01*
+X026541Y008930D01*
+X026705Y009145D02*
+X027280Y009145D01*
+X027280Y009383D02*
+X026740Y009383D01*
+X026629Y009622D02*
+X027280Y009622D01*
+X027280Y009860D02*
+X026479Y009860D01*
+X026472Y009857D02*
+X026542Y009892D01*
+X026606Y009939D01*
+X026661Y009994D01*
+X026708Y010058D01*
+X026743Y010128D01*
+X026768Y010203D01*
+X026780Y010281D01*
+X026780Y010320D01*
+X026780Y010359D01*
+X026768Y010437D01*
+X026743Y010512D01*
+X026708Y010582D01*
+X026661Y010646D01*
+X026606Y010701D01*
+X026542Y010748D01*
+X026472Y010783D01*
+X026397Y010808D01*
+X026319Y010820D01*
+X026000Y010820D01*
+X026000Y010320D01*
+X026000Y010320D01*
+X026780Y010320D01*
+X026000Y010320D01*
+X026000Y010320D01*
+X026000Y010820D01*
+X025681Y010820D01*
+X025603Y010808D01*
+X025528Y010783D01*
+X025458Y010748D01*
+X025394Y010701D01*
+X025339Y010646D01*
+X025292Y010582D01*
+X025257Y010512D01*
+X025232Y010437D01*
+X025220Y010359D01*
+X025220Y010320D01*
+X026000Y010320D01*
+X026000Y009820D01*
+X026319Y009820D01*
+X026397Y009832D01*
+X026472Y009857D01*
+X026728Y010099D02*
+X027280Y010099D01*
+X027280Y010337D02*
+X026780Y010337D01*
+X026711Y010576D02*
+X027280Y010576D01*
+X027280Y010814D02*
+X026357Y010814D01*
+X026000Y010814D02*
+X026000Y010814D01*
+X026000Y010576D02*
+X026000Y010576D01*
+X026000Y010337D02*
+X026000Y010337D01*
+X026000Y010320D02*
+X026000Y010320D01*
+X026000Y010320D01*
+X026000Y009820D01*
+X025681Y009820D01*
+X025603Y009832D01*
+X025528Y009857D01*
+X025458Y009892D01*
+X025394Y009939D01*
+X025339Y009994D01*
+X025292Y010058D01*
+X025257Y010128D01*
+X025232Y010203D01*
+X025220Y010281D01*
+X025220Y010320D01*
+X026000Y010320D01*
+X026000Y010099D02*
+X026000Y010099D01*
+X026000Y009860D02*
+X026000Y009860D01*
+X025521Y009860D02*
+X021640Y009860D01*
+X021640Y009622D02*
+X025371Y009622D01*
+X025260Y009383D02*
+X021640Y009383D01*
+X021640Y009145D02*
+X025295Y009145D01*
+X025517Y008906D02*
+X021640Y008906D01*
+X021640Y008668D02*
+X025417Y008668D01*
+X025267Y008429D02*
+X021640Y008429D01*
+X021640Y008191D02*
+X025276Y008191D01*
+X025437Y007952D02*
+X021640Y007952D01*
+X021640Y007714D02*
+X025660Y007714D01*
+X025660Y007475D02*
+X021640Y007475D01*
+X021640Y007237D02*
+X025660Y007237D01*
+X025660Y006998D02*
+X021640Y006998D01*
+X021640Y006760D02*
+X025459Y006760D01*
+X025220Y006521D02*
+X021640Y006521D01*
+X021640Y006283D02*
+X024982Y006283D01*
+X020960Y006283D02*
+X011084Y006283D01*
+X011084Y006270D02*
+X011084Y006317D01*
+X011069Y006410D01*
+X011040Y006500D01*
+X010997Y006584D01*
+X010942Y006661D01*
+X010875Y006728D01*
+X010799Y006783D01*
+X010715Y006826D01*
+X010625Y006855D01*
+X010531Y006870D01*
+X010484Y006870D01*
+X010484Y006270D01*
+X010484Y006270D01*
+X010550Y006270D01*
+X011700Y007420D01*
+X011700Y009070D01*
+X011650Y009120D01*
+X011650Y010320D01*
+X010100Y010320D01*
+X009900Y010520D01*
+X009900Y012420D01*
+X010100Y012620D01*
+X011500Y012620D01*
+X011600Y012720D01*
+X011650Y012720D01*
+X015184Y012720D01*
+X015400Y012936D01*
+X015400Y013536D01*
+X015151Y013536D01*
+X014800Y013184D01*
+X014800Y012936D01*
+X015400Y012936D01*
+X015400Y012936D01*
+X015400Y013536D01*
+X015649Y013536D01*
+X016000Y013184D01*
+X016000Y012936D01*
+X015400Y012936D01*
+X015400Y012936D01*
+X015400Y012936D01*
+X014800Y012936D01*
+X014800Y012687D01*
+X015151Y012336D01*
+X015400Y012336D01*
+X015400Y012936D01*
+X016000Y012936D01*
+X016000Y012687D01*
+X015649Y012336D01*
+X015400Y012336D01*
+X015400Y012936D01*
+X015400Y012936D01*
+X015400Y012961D02*
+X015400Y012961D01*
+X015400Y013199D02*
+X015400Y013199D01*
+X015400Y013438D02*
+X015400Y013438D01*
+X015747Y013438D02*
+X016400Y013438D01*
+X016400Y013676D02*
+X003120Y013676D01*
+X003120Y013438D02*
+X015053Y013438D01*
+X014815Y013199D02*
+X011850Y013199D01*
+X011849Y013200D02*
+X011650Y013200D01*
+X011650Y012720D01*
+X012130Y012720D01*
+X012130Y012919D01*
+X011849Y013200D01*
+X011650Y013199D02*
+X011650Y013199D01*
+X011650Y013200D02*
+X011451Y013200D01*
+X011170Y012919D01*
+X011170Y012720D01*
+X011650Y012720D01*
+X011650Y012720D01*
+X011650Y012720D01*
+X012130Y012720D01*
+X012130Y012521D01*
+X011849Y012240D01*
+X011650Y012240D01*
+X011650Y012720D01*
+X011650Y012720D01*
+X011650Y012720D01*
+X011650Y013200D01*
+X011450Y013199D02*
+X003120Y013199D01*
+X003120Y012961D02*
+X007268Y012961D01*
+X007210Y012902D02*
+X007210Y012538D01*
+X007468Y012280D01*
+X007832Y012280D01*
+X008090Y012538D01*
+X008090Y012902D01*
+X007832Y013160D01*
+X007468Y013160D01*
+X007210Y012902D01*
+X007210Y012722D02*
+X003120Y012722D01*
+X003120Y012484D02*
+X007264Y012484D01*
+X007468Y011960D02*
+X007210Y011702D01*
+X007210Y011338D01*
+X007468Y011080D01*
+X007832Y011080D01*
+X008090Y011338D01*
+X008090Y011702D01*
+X007832Y011960D01*
+X007468Y011960D01*
+X007276Y011768D02*
+X003120Y011768D01*
+X003120Y011530D02*
+X007210Y011530D01*
+X007257Y011291D02*
+X003120Y011291D01*
+X003120Y011053D02*
+X016846Y011053D01*
+X016818Y011081D02*
+X016961Y010938D01*
+X017149Y010860D01*
+X017351Y010860D01*
+X017539Y010938D01*
+X017682Y011081D01*
+X017760Y011269D01*
+X017760Y011471D01*
+X017682Y011659D01*
+X017539Y011802D01*
+X017351Y011880D01*
+X017149Y011880D01*
+X016961Y011802D01*
+X016818Y011659D01*
+X016740Y011471D01*
+X016740Y011269D01*
+X016818Y011081D01*
+X016740Y011291D02*
+X015895Y011291D01*
+X015870Y011266D02*
+X016870Y012266D01*
+X016954Y012350D01*
+X017000Y012460D01*
+X017000Y015196D01*
+X019024Y017220D01*
+X021360Y017220D01*
+X021470Y017266D01*
+X022254Y018050D01*
+X022300Y018160D01*
+X022300Y019740D01*
+X022445Y019740D01*
+X022622Y019813D01*
+X022757Y019948D01*
+X022830Y020125D01*
+X022830Y020915D01*
+X022757Y021092D01*
+X022622Y021227D01*
+X022445Y021300D01*
+X022255Y021300D01*
+X022078Y021227D01*
+X021943Y021092D01*
+X021870Y020915D01*
+X021870Y020464D01*
+X021830Y020424D01*
+X021830Y020915D01*
+X021757Y021092D01*
+X021622Y021227D01*
+X021445Y021300D01*
+X021255Y021300D01*
+X021078Y021227D01*
+X020943Y021092D01*
+X020870Y020915D01*
+X020870Y020125D01*
+X020943Y019948D01*
+X021078Y019813D01*
+X021255Y019740D01*
+X021445Y019740D01*
+X021622Y019813D01*
+X021700Y019891D01*
+X021700Y018344D01*
+X021176Y017820D01*
+X018840Y017820D01*
+X018730Y017774D01*
+X018646Y017690D01*
+X017940Y016984D01*
+X017940Y017302D01*
+X017682Y017560D01*
+X017318Y017560D01*
+X017060Y017302D01*
+X017060Y016938D01*
+X017318Y016680D01*
+X017636Y016680D01*
+X016446Y015490D01*
+X016400Y015380D01*
+X016400Y012644D01*
+X015576Y011820D01*
+X011972Y011820D01*
+X011832Y011960D01*
+X011468Y011960D01*
+X011210Y011702D01*
+X011210Y011338D01*
+X011468Y011080D01*
+X011832Y011080D01*
+X011972Y011220D01*
+X015760Y011220D01*
+X015870Y011266D01*
+X015700Y011520D02*
+X016700Y012520D01*
+X016700Y015320D01*
+X018900Y017520D01*
+X021300Y017520D01*
+X022000Y018220D01*
+X022000Y020170D01*
+X022350Y020520D01*
+X022830Y020593D02*
+X022870Y020593D01*
+X022870Y020831D02*
+X022830Y020831D01*
+X022870Y020915D02*
+X022870Y020125D01*
+X022943Y019948D01*
+X023078Y019813D01*
+X023255Y019740D01*
+X023445Y019740D01*
+X023622Y019813D01*
+X023757Y019948D01*
+X023830Y020125D01*
+X023830Y020915D01*
+X023757Y021092D01*
+X023622Y021227D01*
+X023445Y021300D01*
+X023255Y021300D01*
+X023078Y021227D01*
+X022943Y021092D01*
+X022870Y020915D01*
+X022934Y021070D02*
+X022766Y021070D01*
+X022830Y020354D02*
+X022870Y020354D01*
+X022874Y020116D02*
+X022826Y020116D01*
+X022686Y019877D02*
+X023014Y019877D01*
+X023686Y019877D02*
+X024014Y019877D01*
+X024078Y019813D02*
+X023943Y019948D01*
+X023870Y020125D01*
+X023870Y020915D01*
+X023943Y021092D01*
+X024078Y021227D01*
+X024255Y021300D01*
+X024445Y021300D01*
+X024622Y021227D01*
+X024757Y021092D01*
+X024830Y020915D01*
+X024830Y020125D01*
+X024757Y019948D01*
+X024622Y019813D01*
+X024445Y019740D01*
+X024255Y019740D01*
+X024078Y019813D01*
+X023874Y020116D02*
+X023826Y020116D01*
+X023830Y020354D02*
+X023870Y020354D01*
+X023870Y020593D02*
+X023830Y020593D01*
+X023830Y020831D02*
+X023870Y020831D01*
+X023934Y021070D02*
+X023766Y021070D01*
+X024766Y021070D02*
+X024934Y021070D01*
+X024943Y021092D02*
+X024870Y020915D01*
+X024870Y020125D01*
+X024943Y019948D01*
+X025078Y019813D01*
+X025255Y019740D01*
+X025445Y019740D01*
+X025622Y019813D01*
+X025757Y019948D01*
+X025830Y020125D01*
+X025830Y020915D01*
+X025757Y021092D01*
+X025622Y021227D01*
+X025445Y021300D01*
+X025255Y021300D01*
+X025078Y021227D01*
+X024943Y021092D01*
+X024870Y020831D02*
+X024830Y020831D01*
+X024830Y020593D02*
+X024870Y020593D01*
+X024870Y020354D02*
+X024830Y020354D01*
+X024826Y020116D02*
+X024874Y020116D01*
+X025014Y019877D02*
+X024686Y019877D01*
+X025686Y019877D02*
+X027280Y019877D01*
+X027280Y019639D02*
+X022300Y019639D01*
+X022300Y019400D02*
+X027280Y019400D01*
+X027280Y019162D02*
+X022300Y019162D01*
+X022300Y018923D02*
+X027280Y018923D01*
+X027280Y018685D02*
+X023558Y018685D01*
+X023532Y018710D02*
+X023168Y018710D01*
+X022910Y018452D01*
+X022910Y018088D01*
+X023168Y017830D01*
+X023532Y017830D01*
+X023790Y018088D01*
+X023790Y018452D01*
+X023532Y018710D01*
+X023790Y018446D02*
+X027280Y018446D01*
+X027280Y018208D02*
+X023790Y018208D01*
+X023671Y017969D02*
+X027280Y017969D01*
+X027280Y017731D02*
+X021935Y017731D01*
+X022173Y017969D02*
+X023029Y017969D01*
+X022910Y018208D02*
+X022300Y018208D01*
+X022300Y018446D02*
+X022910Y018446D01*
+X023142Y018685D02*
+X022300Y018685D01*
+X021700Y018685D02*
+X019558Y018685D01*
+X019532Y018710D02*
+X019168Y018710D01*
+X018910Y018452D01*
+X018910Y018088D01*
+X019168Y017830D01*
+X019532Y017830D01*
+X019790Y018088D01*
+X019790Y018452D01*
+X019532Y018710D01*
+X019790Y018446D02*
+X021700Y018446D01*
+X021563Y018208D02*
+X019790Y018208D01*
+X019671Y017969D02*
+X021325Y017969D01*
+X021696Y017492D02*
+X027280Y017492D01*
+X027280Y017254D02*
+X021441Y017254D01*
+X021626Y017015D02*
+X027280Y017015D01*
+X027280Y016777D02*
+X021758Y016777D01*
+X021747Y016538D02*
+X023036Y016538D01*
+X022988Y016490D02*
+X022907Y016294D01*
+X022907Y016083D01*
+X022988Y015887D01*
+X023138Y015737D01*
+X023334Y015656D01*
+X024251Y015656D01*
+X024446Y015737D01*
+X024596Y015887D01*
+X024677Y016083D01*
+X024677Y016294D01*
+X024596Y016490D01*
+X024446Y016640D01*
+X024251Y016721D01*
+X023334Y016721D01*
+X023138Y016640D01*
+X022988Y016490D01*
+X022909Y016300D02*
+X021601Y016300D01*
+X021580Y016061D02*
+X022916Y016061D01*
+X023053Y015823D02*
+X021739Y015823D01*
+X021817Y015584D02*
+X027280Y015584D01*
+X027280Y015346D02*
+X022055Y015346D01*
+X022294Y015107D02*
+X027280Y015107D01*
+X027280Y014869D02*
+X022506Y014869D01*
+X022540Y014630D02*
+X023097Y014630D01*
+X023138Y014671D02*
+X022988Y014522D01*
+X022907Y014326D01*
+X022907Y014114D01*
+X022988Y013918D01*
+X023138Y013769D01*
+X023334Y013688D01*
+X024251Y013688D01*
+X024446Y013769D01*
+X024596Y013918D01*
+X024677Y014114D01*
+X024677Y014326D01*
+X024596Y014522D01*
+X024446Y014671D01*
+X024251Y014752D01*
+X023334Y014752D01*
+X023138Y014671D01*
+X022934Y014392D02*
+X022540Y014392D01*
+X022540Y014153D02*
+X022907Y014153D01*
+X022992Y013915D02*
+X022540Y013915D01*
+X022540Y013676D02*
+X027280Y013676D01*
+X027280Y013438D02*
+X022540Y013438D01*
+X022540Y013199D02*
+X027280Y013199D01*
+X027280Y012961D02*
+X022540Y012961D01*
+X022540Y012722D02*
+X023184Y012722D01*
+X023138Y012703D02*
+X022988Y012553D01*
+X022907Y012357D01*
+X022907Y012146D01*
+X022988Y011950D01*
+X023138Y011800D01*
+X023334Y011719D01*
+X024251Y011719D01*
+X024446Y011800D01*
+X024596Y011950D01*
+X024677Y012146D01*
+X024677Y012357D01*
+X024596Y012553D01*
+X024446Y012703D01*
+X024251Y012784D01*
+X023334Y012784D01*
+X023138Y012703D01*
+X022959Y012484D02*
+X022540Y012484D01*
+X022537Y012245D02*
+X022907Y012245D01*
+X022965Y012007D02*
+X022367Y012007D01*
+X022393Y012032D02*
+X022393Y012032D01*
+X022129Y011768D02*
+X023215Y011768D01*
+X024369Y011768D02*
+X027280Y011768D01*
+X027280Y011530D02*
+X021890Y011530D01*
+X021760Y011291D02*
+X027280Y011291D01*
+X027280Y011053D02*
+X021654Y011053D01*
+X021640Y010814D02*
+X025643Y010814D01*
+X025289Y010576D02*
+X021640Y010576D01*
+X021640Y010337D02*
+X025220Y010337D01*
+X025272Y010099D02*
+X021640Y010099D01*
+X020960Y010099D02*
+X012107Y010099D01*
+X012130Y010121D02*
+X012130Y010320D01*
+X012130Y010519D01*
+X011849Y010800D01*
+X011650Y010800D01*
+X011650Y010320D01*
+X012130Y010320D01*
+X011650Y010320D01*
+X011650Y010320D01*
+X011650Y010320D01*
+X011650Y009840D01*
+X011849Y009840D01*
+X012130Y010121D01*
+X012130Y010337D02*
+X020960Y010337D01*
+X020960Y010576D02*
+X012073Y010576D01*
+X011650Y010576D02*
+X011650Y010576D01*
+X011650Y010800D02*
+X011451Y010800D01*
+X011170Y010519D01*
+X011170Y010320D01*
+X011650Y010320D01*
+X011650Y010320D01*
+X011650Y010320D01*
+X011650Y010800D01*
+X011650Y010337D02*
+X011650Y010337D01*
+X011650Y010320D02*
+X011170Y010320D01*
+X011170Y010121D01*
+X011451Y009840D01*
+X011650Y009840D01*
+X011650Y010320D01*
+X011650Y010099D02*
+X011650Y010099D01*
+X011650Y009860D02*
+X011650Y009860D01*
+X011869Y009860D02*
+X020960Y009860D01*
+X020960Y009622D02*
+X005628Y009622D01*
+X005658Y009634D02*
+X005786Y009762D01*
+X005856Y009929D01*
+X005856Y010111D01*
+X005786Y010278D01*
+X005658Y010406D01*
+X005491Y010476D01*
+X005309Y010476D01*
+X005142Y010406D01*
+X005014Y010278D01*
+X004944Y010111D01*
+X004944Y009929D01*
+X005014Y009762D01*
+X005142Y009634D01*
+X005309Y009564D01*
+X005491Y009564D01*
+X005658Y009634D01*
+X005827Y009860D02*
+X011431Y009860D01*
+X011451Y009600D02*
+X011170Y009319D01*
+X011170Y009120D01*
+X011650Y009120D01*
+X012130Y009120D01*
+X012130Y009319D01*
+X011849Y009600D01*
+X011650Y009600D01*
+X011650Y009120D01*
+X011650Y009120D01*
+X011650Y009120D01*
+X012130Y009120D01*
+X012130Y008921D01*
+X011849Y008640D01*
+X011650Y008640D01*
+X011650Y009120D01*
+X011650Y009120D01*
+X011650Y009120D01*
+X011650Y009600D01*
+X011451Y009600D01*
+X011650Y009383D02*
+X011650Y009383D01*
+X011650Y009145D02*
+X011650Y009145D01*
+X011650Y009120D02*
+X011170Y009120D01*
+X011170Y008921D01*
+X011451Y008640D01*
+X011650Y008640D01*
+X011650Y009120D01*
+X011650Y008906D02*
+X011650Y008906D01*
+X011650Y008668D02*
+X011650Y008668D01*
+X011876Y008668D02*
+X020960Y008668D01*
+X020960Y008906D02*
+X012115Y008906D01*
+X012130Y009145D02*
+X020960Y009145D01*
+X020960Y009383D02*
+X012066Y009383D01*
+X011234Y009383D02*
+X008009Y009383D01*
+X008090Y009302D02*
+X007832Y009560D01*
+X007468Y009560D01*
+X007210Y009302D01*
+X007210Y008938D01*
+X007468Y008680D01*
+X007832Y008680D01*
+X008090Y008938D01*
+X008090Y009302D01*
+X008090Y009145D02*
+X011170Y009145D01*
+X011185Y008906D02*
+X008058Y008906D01*
+X007242Y008906D02*
+X003120Y008906D01*
+X003120Y008668D02*
+X011424Y008668D01*
+X011193Y010099D02*
+X008051Y010099D01*
+X008090Y010138D02*
+X007832Y009880D01*
+X007468Y009880D01*
+X007210Y010138D01*
+X007210Y010502D01*
+X007468Y010760D01*
+X007832Y010760D01*
+X008090Y010502D01*
+X008090Y010138D01*
+X008090Y010337D02*
+X011170Y010337D01*
+X011227Y010576D02*
+X008017Y010576D01*
+X007283Y010576D02*
+X003120Y010576D01*
+X003120Y010814D02*
+X020960Y010814D01*
+X020846Y011053D02*
+X017654Y011053D01*
+X017760Y011291D02*
+X020740Y011291D01*
+X020764Y011530D02*
+X017736Y011530D01*
+X017573Y011768D02*
+X020927Y011768D01*
+X021149Y012160D02*
+X020961Y012238D01*
+X020818Y012381D01*
+X020740Y012569D01*
+X020740Y012771D01*
+X020818Y012959D01*
+X020961Y013102D01*
+X021149Y013180D01*
+X021351Y013180D01*
+X021539Y013102D01*
+X021682Y012959D01*
+X021760Y012771D01*
+X021760Y012569D01*
+X021682Y012381D01*
+X021539Y012238D01*
+X021351Y012160D01*
+X021149Y012160D01*
+X020954Y012245D02*
+X019546Y012245D01*
+X019539Y012238D02*
+X019682Y012381D01*
+X019760Y012569D01*
+X019760Y012771D01*
+X019682Y012959D01*
+X019539Y013102D01*
+X019351Y013180D01*
+X019149Y013180D01*
+X018961Y013102D01*
+X018818Y012959D01*
+X018740Y012771D01*
+X018740Y012569D01*
+X018818Y012381D01*
+X018961Y012238D01*
+X019149Y012160D01*
+X019351Y012160D01*
+X019539Y012238D01*
+X019725Y012484D02*
+X020775Y012484D01*
+X020740Y012722D02*
+X019760Y012722D01*
+X019681Y012961D02*
+X020819Y012961D01*
+X021546Y012245D02*
+X021644Y012245D01*
+X021725Y012484D02*
+X021860Y012484D01*
+X021860Y012722D02*
+X021760Y012722D01*
+X021681Y012961D02*
+X021860Y012961D01*
+X021860Y013199D02*
+X017000Y013199D01*
+X017000Y012961D02*
+X018819Y012961D01*
+X018740Y012722D02*
+X017000Y012722D01*
+X017000Y012484D02*
+X018775Y012484D01*
+X018954Y012245D02*
+X016849Y012245D01*
+X016611Y012007D02*
+X021406Y012007D01*
+X021250Y011370D02*
+X021300Y011320D01*
+X021860Y013438D02*
+X017000Y013438D01*
+X017000Y013676D02*
+X021860Y013676D01*
+X021860Y013915D02*
+X017000Y013915D01*
+X017000Y014153D02*
+X021860Y014153D01*
+X021860Y014392D02*
+X017000Y014392D01*
+X017000Y014630D02*
+X021809Y014630D01*
+X021571Y014869D02*
+X017000Y014869D01*
+X017000Y015107D02*
+X021332Y015107D01*
+X020853Y015346D02*
+X019647Y015346D01*
+X019682Y015381D02*
+X019760Y015569D01*
+X019760Y015771D01*
+X019682Y015959D01*
+X019539Y016102D01*
+X019376Y016170D01*
+X019539Y016238D01*
+X019682Y016381D01*
+X019760Y016569D01*
+X019760Y016771D01*
+X019682Y016959D01*
+X019539Y017102D01*
+X019351Y017180D01*
+X019149Y017180D01*
+X018961Y017102D01*
+X018818Y016959D01*
+X018740Y016771D01*
+X018740Y016569D01*
+X018818Y016381D01*
+X018961Y016238D01*
+X019124Y016170D01*
+X018961Y016102D01*
+X018818Y015959D01*
+X018740Y015771D01*
+X018740Y015569D01*
+X018818Y015381D01*
+X018961Y015238D01*
+X019149Y015160D01*
+X019351Y015160D01*
+X019539Y015238D01*
+X019682Y015381D01*
+X019760Y015584D02*
+X020740Y015584D01*
+X020761Y015823D02*
+X019739Y015823D01*
+X019580Y016061D02*
+X020920Y016061D01*
+X020899Y016300D02*
+X019601Y016300D01*
+X019747Y016538D02*
+X020753Y016538D01*
+X020742Y016777D02*
+X019758Y016777D01*
+X019626Y017015D02*
+X020874Y017015D01*
+X018874Y017015D02*
+X018819Y017015D01*
+X018742Y016777D02*
+X018581Y016777D01*
+X018753Y016538D02*
+X018342Y016538D01*
+X018104Y016300D02*
+X018899Y016300D01*
+X018920Y016061D02*
+X017865Y016061D01*
+X017627Y015823D02*
+X018761Y015823D01*
+X018740Y015584D02*
+X017388Y015584D01*
+X017150Y015346D02*
+X018853Y015346D01*
+X017494Y016538D02*
+X014240Y016538D01*
+X014240Y016488D02*
+X013982Y016230D01*
+X013618Y016230D01*
+X013360Y016488D01*
+X013360Y016852D01*
+X013618Y017110D01*
+X013982Y017110D01*
+X014240Y016852D01*
+X014240Y016488D01*
+X014052Y016300D02*
+X017255Y016300D01*
+X017017Y016061D02*
+X010100Y016061D01*
+X010100Y015960D02*
+X010100Y016348D01*
+X010240Y016488D01*
+X010240Y016852D01*
+X009982Y017110D01*
+X009618Y017110D01*
+X009360Y016852D01*
+X009360Y016488D01*
+X009500Y016348D01*
+X009500Y016144D01*
+X009476Y016120D01*
+X008205Y016120D01*
+X008204Y016123D01*
+X008103Y016224D01*
+X007971Y016278D01*
+X007829Y016278D01*
+X007697Y016224D01*
+X007596Y016123D01*
+X007542Y015991D01*
+X007542Y015849D01*
+X007596Y015717D01*
+X007697Y015616D01*
+X007829Y015562D01*
+X007839Y015562D01*
+X007940Y015520D01*
+X009660Y015520D01*
+X009770Y015566D01*
+X009970Y015766D01*
+X010054Y015850D01*
+X010100Y015960D01*
+X010027Y015823D02*
+X016778Y015823D01*
+X016540Y015584D02*
+X009788Y015584D01*
+X009600Y015820D02*
+X009800Y016020D01*
+X009800Y016670D01*
+X009523Y017015D02*
+X009270Y017015D01*
+X009270Y016805D02*
+X009270Y017595D01*
+X009249Y017647D01*
+X009346Y017550D01*
+X009430Y017466D01*
+X009433Y017464D01*
+X009618Y017280D01*
+X009982Y017280D01*
+X010240Y017538D01*
+X010240Y017902D01*
+X009982Y018160D01*
+X009618Y018160D01*
+X009601Y018143D01*
+X009170Y018574D01*
+X009060Y018620D01*
+X006224Y018620D01*
+X006000Y018844D01*
+X006000Y020820D01*
+X007076Y020820D01*
+X007100Y020796D01*
+X007100Y020589D01*
+X007079Y020568D01*
+X007075Y020558D01*
+X007071Y020568D01*
+X006948Y020691D01*
+X006787Y020757D01*
+X006613Y020757D01*
+X006452Y020691D01*
+X006329Y020568D01*
+X006263Y020407D01*
+X006263Y020233D01*
+X006329Y020072D01*
+X006452Y019949D01*
+X006613Y019883D01*
+X006787Y019883D01*
+X006948Y019949D01*
+X007071Y020072D01*
+X007075Y020082D01*
+X007079Y020072D01*
+X007202Y019949D01*
+X007363Y019883D01*
+X007537Y019883D01*
+X007698Y019949D01*
+X007735Y019986D01*
+X007738Y019978D01*
+X007766Y019927D01*
+X007807Y019886D01*
+X007858Y019858D01*
+X007914Y019843D01*
+X008200Y019843D01*
+X008486Y019843D01*
+X008542Y019858D01*
+X008593Y019886D01*
+X008634Y019927D01*
+X008662Y019978D01*
+X008665Y019986D01*
+X008702Y019949D01*
+X008863Y019883D01*
+X009037Y019883D01*
+X009198Y019949D01*
+X009321Y020072D01*
+X009331Y020097D01*
+X009393Y019948D01*
+X009528Y019813D01*
+X009705Y019740D01*
+X009895Y019740D01*
+X010072Y019813D01*
+X010207Y019948D01*
+X010280Y020125D01*
+X010280Y020915D01*
+X010207Y021092D01*
+X010072Y021227D01*
+X009895Y021300D01*
+X009705Y021300D01*
+X009528Y021227D01*
+X009393Y021092D01*
+X009320Y020915D01*
+X009320Y020569D01*
+X009198Y020691D01*
+X009037Y020757D01*
+X008863Y020757D01*
+X008702Y020691D01*
+X008665Y020654D01*
+X008662Y020662D01*
+X008634Y020713D01*
+X008593Y020754D01*
+X008542Y020782D01*
+X008486Y020797D01*
+X008200Y020797D01*
+X007914Y020797D01*
+X007858Y020782D01*
+X007807Y020754D01*
+X007766Y020713D01*
+X007738Y020662D01*
+X007735Y020654D01*
+X007700Y020689D01*
+X007700Y020980D01*
+X007654Y021090D01*
+X007454Y021290D01*
+X007370Y021374D01*
+X007260Y021420D01*
+X005740Y021420D01*
+X005630Y021374D01*
+X005530Y021274D01*
+X005446Y021190D01*
+X005400Y021080D01*
+X005400Y018660D01*
+X005446Y018550D01*
+X005846Y018150D01*
+X005930Y018066D01*
+X006040Y018020D01*
+X008876Y018020D01*
+X008937Y017959D01*
+X008885Y017980D01*
+X008695Y017980D01*
+X008518Y017907D01*
+X008383Y017772D01*
+X008310Y017595D01*
+X008310Y016805D01*
+X008383Y016628D01*
+X008518Y016493D01*
+X008695Y016420D01*
+X008885Y016420D01*
+X009062Y016493D01*
+X009197Y016628D01*
+X009270Y016805D01*
+X009258Y016777D02*
+X009360Y016777D01*
+X009360Y016538D02*
+X009107Y016538D01*
+X009500Y016300D02*
+X003120Y016300D01*
+X003120Y016538D02*
+X006693Y016538D01*
+X006738Y016493D02*
+X006915Y016420D01*
+X007105Y016420D01*
+X007282Y016493D01*
+X007417Y016628D01*
+X007490Y016805D01*
+X007490Y017595D01*
+X007417Y017772D01*
+X007282Y017907D01*
+X007105Y017980D01*
+X006915Y017980D01*
+X006738Y017907D01*
+X006603Y017772D01*
+X006530Y017595D01*
+X006530Y016805D01*
+X006603Y016628D01*
+X006738Y016493D01*
+X006542Y016777D02*
+X003120Y016777D01*
+X003120Y017015D02*
+X006530Y017015D01*
+X006530Y017254D02*
+X003120Y017254D01*
+X003120Y017492D02*
+X006530Y017492D01*
+X006586Y017731D02*
+X003120Y017731D01*
+X003120Y017969D02*
+X006888Y017969D01*
+X007132Y017969D02*
+X008668Y017969D01*
+X008912Y017969D02*
+X008927Y017969D01*
+X009000Y018320D02*
+X009600Y017720D01*
+X009800Y017720D01*
+X010240Y017731D02*
+X013360Y017731D01*
+X013360Y017902D02*
+X013360Y017538D01*
+X013618Y017280D01*
+X013982Y017280D01*
+X014240Y017538D01*
+X014240Y017902D01*
+X013982Y018160D01*
+X013618Y018160D01*
+X013360Y017902D01*
+X013427Y017969D02*
+X010173Y017969D01*
+X009982Y018380D02*
+X009618Y018380D01*
+X009360Y018638D01*
+X009360Y019002D01*
+X009618Y019260D01*
+X009982Y019260D01*
+X010240Y019002D01*
+X010240Y018638D01*
+X009982Y018380D01*
+X010048Y018446D02*
+X013552Y018446D01*
+X013618Y018380D02*
+X013360Y018638D01*
+X013360Y019002D01*
+X013618Y019260D01*
+X013982Y019260D01*
+X014240Y019002D01*
+X014240Y018638D01*
+X013982Y018380D01*
+X013618Y018380D01*
+X013360Y018685D02*
+X010240Y018685D01*
+X010240Y018923D02*
+X013360Y018923D01*
+X013519Y019162D02*
+X010081Y019162D01*
+X009519Y019162D02*
+X006000Y019162D01*
+X006000Y019400D02*
+X021700Y019400D01*
+X021700Y019162D02*
+X014081Y019162D01*
+X014240Y018923D02*
+X021700Y018923D01*
+X021700Y019639D02*
+X006000Y019639D01*
+X006000Y019877D02*
+X007824Y019877D01*
+X008200Y019877D02*
+X008200Y019877D01*
+X008200Y019843D02*
+X008200Y020320D01*
+X009000Y019520D01*
+X010800Y019520D01*
+X010800Y020520D01*
+X010800Y020520D01*
+X010800Y021340D01*
+X010841Y021340D01*
+X010922Y021327D01*
+X011000Y021302D01*
+X011073Y021265D01*
+X011139Y021217D01*
+X011197Y021159D01*
+X011245Y021093D01*
+X011282Y021020D01*
+X011307Y020942D01*
+X011320Y020861D01*
+X011320Y020520D01*
+X010800Y020520D01*
+X010800Y020520D01*
+X010800Y020520D01*
+X010280Y020520D01*
+X010280Y020861D01*
+X010293Y020942D01*
+X010318Y021020D01*
+X010355Y021093D01*
+X010403Y021159D01*
+X010461Y021217D01*
+X010527Y021265D01*
+X010600Y021302D01*
+X010678Y021327D01*
+X010759Y021340D01*
+X010800Y021340D01*
+X010800Y020520D01*
+X011320Y020520D01*
+X011320Y020179D01*
+X011307Y020098D01*
+X011282Y020020D01*
+X011245Y019947D01*
+X011197Y019881D01*
+X011139Y019823D01*
+X011073Y019775D01*
+X011000Y019738D01*
+X010922Y019713D01*
+X010841Y019700D01*
+X010800Y019700D01*
+X010800Y020520D01*
+X010800Y020520D01*
+X010280Y020520D01*
+X010280Y020179D01*
+X010293Y020098D01*
+X010318Y020020D01*
+X010355Y019947D01*
+X010403Y019881D01*
+X010461Y019823D01*
+X010527Y019775D01*
+X010600Y019738D01*
+X010678Y019713D01*
+X010759Y019700D01*
+X010800Y019700D01*
+X010800Y020520D01*
+X010800Y020593D02*
+X010800Y020593D01*
+X010800Y020831D02*
+X010800Y020831D01*
+X010800Y021070D02*
+X010800Y021070D01*
+X010800Y021308D02*
+X010800Y021308D01*
+X010981Y021308D02*
+X027280Y021308D01*
+X027280Y021070D02*
+X025766Y021070D01*
+X025830Y020831D02*
+X027280Y020831D01*
+X027280Y020593D02*
+X025830Y020593D01*
+X025830Y020354D02*
+X027280Y020354D01*
+X027280Y020116D02*
+X025826Y020116D01*
+X027280Y021547D02*
+X003120Y021547D01*
+X003120Y021308D02*
+X005564Y021308D01*
+X005400Y021070D02*
+X003120Y021070D01*
+X003120Y020831D02*
+X005400Y020831D01*
+X005400Y020593D02*
+X003120Y020593D01*
+X003120Y020354D02*
+X005400Y020354D01*
+X005400Y020116D02*
+X003120Y020116D01*
+X003120Y019877D02*
+X005400Y019877D01*
+X005400Y019639D02*
+X003120Y019639D01*
+X003120Y019400D02*
+X005400Y019400D01*
+X005400Y019162D02*
+X003120Y019162D01*
+X003120Y018923D02*
+X005400Y018923D01*
+X005400Y018685D02*
+X003120Y018685D01*
+X003120Y018446D02*
+X005550Y018446D01*
+X005700Y018720D02*
+X006100Y018320D01*
+X009000Y018320D01*
+X009298Y018446D02*
+X009552Y018446D01*
+X009537Y018208D02*
+X016715Y018208D01*
+X016818Y018310D02*
+X016560Y018052D01*
+X016560Y017688D01*
+X016648Y017600D01*
+X016500Y017600D01*
+X016500Y017120D01*
+X016600Y017020D01*
+X016600Y016120D01*
+X016200Y015720D01*
+X011700Y015720D01*
+X010800Y016620D01*
+X010800Y019520D01*
+X010800Y019877D02*
+X010800Y019877D01*
+X010800Y020116D02*
+X010800Y020116D01*
+X010800Y020354D02*
+X010800Y020354D01*
+X011320Y020354D02*
+X011320Y020354D01*
+X011320Y020125D02*
+X011393Y019948D01*
+X011528Y019813D01*
+X011705Y019740D01*
+X011895Y019740D01*
+X012072Y019813D01*
+X012207Y019948D01*
+X012280Y020125D01*
+X012280Y020915D01*
+X012207Y021092D01*
+X012072Y021227D01*
+X011895Y021300D01*
+X011705Y021300D01*
+X011528Y021227D01*
+X011393Y021092D01*
+X011320Y020915D01*
+X011320Y020125D01*
+X011324Y020116D02*
+X011310Y020116D01*
+X011192Y019877D02*
+X011464Y019877D01*
+X012136Y019877D02*
+X012464Y019877D01*
+X012528Y019813D02*
+X012393Y019948D01*
+X012320Y020125D01*
+X012320Y020915D01*
+X012393Y021092D01*
+X012528Y021227D01*
+X012705Y021300D01*
+X012895Y021300D01*
+X013072Y021227D01*
+X013207Y021092D01*
+X013280Y020915D01*
+X013280Y020125D01*
+X013207Y019948D01*
+X013072Y019813D01*
+X012895Y019740D01*
+X012705Y019740D01*
+X012528Y019813D01*
+X012324Y020116D02*
+X012276Y020116D01*
+X012280Y020354D02*
+X012320Y020354D01*
+X012320Y020593D02*
+X012280Y020593D01*
+X012280Y020831D02*
+X012320Y020831D01*
+X012384Y021070D02*
+X012216Y021070D01*
+X011384Y021070D02*
+X011256Y021070D01*
+X011320Y020831D02*
+X011320Y020831D01*
+X011320Y020593D02*
+X011320Y020593D01*
+X010619Y021308D02*
+X007436Y021308D01*
+X007200Y021120D02*
+X005800Y021120D01*
+X005700Y021020D01*
+X005700Y018720D01*
+X006000Y018923D02*
+X009360Y018923D01*
+X009360Y018685D02*
+X006160Y018685D01*
+X005788Y018208D02*
+X003120Y018208D01*
+X003120Y016061D02*
+X007571Y016061D01*
+X007553Y015823D02*
+X003120Y015823D01*
+X003120Y015584D02*
+X007775Y015584D01*
+X008000Y015820D02*
+X009600Y015820D01*
+X010100Y016300D02*
+X013548Y016300D01*
+X013360Y016538D02*
+X010240Y016538D01*
+X010240Y016777D02*
+X013360Y016777D01*
+X013523Y017015D02*
+X010077Y017015D01*
+X010194Y017492D02*
+X013406Y017492D01*
+X014194Y017492D02*
+X016193Y017492D01*
+X016301Y017600D02*
+X016020Y017319D01*
+X016020Y017120D01*
+X016500Y017120D01*
+X016980Y017120D01*
+X016980Y017319D01*
+X016869Y017430D01*
+X017182Y017430D01*
+X017440Y017688D01*
+X017440Y018052D01*
+X017182Y018310D01*
+X016818Y018310D01*
+X016560Y017969D02*
+X014173Y017969D01*
+X014240Y017731D02*
+X016560Y017731D01*
+X016500Y017600D02*
+X016301Y017600D01*
+X016500Y017600D02*
+X016500Y017120D01*
+X016500Y017120D01*
+X016500Y017120D01*
+X016980Y017120D01*
+X016980Y016921D01*
+X016699Y016640D01*
+X016500Y016640D01*
+X016500Y017120D01*
+X016500Y017120D01*
+X016500Y017120D01*
+X016500Y016640D01*
+X016301Y016640D01*
+X016020Y016921D01*
+X016020Y017120D01*
+X016500Y017120D01*
+X016500Y017015D02*
+X016500Y017015D01*
+X016500Y016777D02*
+X016500Y016777D01*
+X016835Y016777D02*
+X017221Y016777D01*
+X017060Y017015D02*
+X016980Y017015D01*
+X016980Y017254D02*
+X017060Y017254D01*
+X017244Y017492D02*
+X017250Y017492D01*
+X017440Y017731D02*
+X018686Y017731D01*
+X018448Y017492D02*
+X017750Y017492D01*
+X017940Y017254D02*
+X018209Y017254D01*
+X017971Y017015D02*
+X017940Y017015D01*
+X017440Y017969D02*
+X019029Y017969D01*
+X018910Y018208D02*
+X017285Y018208D01*
+X016500Y017492D02*
+X016500Y017492D01*
+X016500Y017254D02*
+X016500Y017254D01*
+X016020Y017254D02*
+X009270Y017254D01*
+X009270Y017492D02*
+X009404Y017492D01*
+X008366Y017731D02*
+X007434Y017731D01*
+X007490Y017492D02*
+X008310Y017492D01*
+X008310Y017254D02*
+X007490Y017254D01*
+X007490Y017015D02*
+X008310Y017015D01*
+X008322Y016777D02*
+X007478Y016777D01*
+X007327Y016538D02*
+X008473Y016538D01*
+X007900Y015920D02*
+X008000Y015820D01*
+X008517Y015346D02*
+X007283Y015346D01*
+X007282Y015347D02*
+X007105Y015420D01*
+X006915Y015420D01*
+X006738Y015347D01*
+X006603Y015212D01*
+X006530Y015035D01*
+X006530Y014245D01*
+X006603Y014068D01*
+X006738Y013933D01*
+X006915Y013860D01*
+X007105Y013860D01*
+X007282Y013933D01*
+X007417Y014068D01*
+X007490Y014245D01*
+X007490Y015035D01*
+X007417Y015212D01*
+X007282Y015347D01*
+X007460Y015107D02*
+X008340Y015107D01*
+X008310Y015035D02*
+X008310Y014245D01*
+X008383Y014068D01*
+X008518Y013933D01*
+X008695Y013860D01*
+X008885Y013860D01*
+X009062Y013933D01*
+X009197Y014068D01*
+X009270Y014245D01*
+X009270Y015035D01*
+X009197Y015212D01*
+X009062Y015347D01*
+X008885Y015420D01*
+X008695Y015420D01*
+X008518Y015347D01*
+X008383Y015212D01*
+X008310Y015035D01*
+X008310Y014869D02*
+X007490Y014869D01*
+X007490Y014630D02*
+X008310Y014630D01*
+X008310Y014392D02*
+X007490Y014392D01*
+X007452Y014153D02*
+X008348Y014153D01*
+X008563Y013915D02*
+X007237Y013915D01*
+X006783Y013915D02*
+X003120Y013915D01*
+X003120Y014153D02*
+X006568Y014153D01*
+X006530Y014392D02*
+X003120Y014392D01*
+X003120Y014630D02*
+X006530Y014630D01*
+X006530Y014869D02*
+X003120Y014869D01*
+X003120Y015107D02*
+X006560Y015107D01*
+X006737Y015346D02*
+X003120Y015346D01*
+X003120Y012245D02*
+X011446Y012245D01*
+X011451Y012240D02*
+X011170Y012521D01*
+X011170Y012720D01*
+X011650Y012720D01*
+X011650Y012240D01*
+X011451Y012240D01*
+X011650Y012245D02*
+X011650Y012245D01*
+X011854Y012245D02*
+X016001Y012245D01*
+X015796Y012484D02*
+X016239Y012484D01*
+X016400Y012722D02*
+X016000Y012722D01*
+X016000Y012961D02*
+X016400Y012961D01*
+X016400Y013199D02*
+X015985Y013199D01*
+X015400Y012722D02*
+X015400Y012722D01*
+X015400Y012484D02*
+X015400Y012484D01*
+X015004Y012484D02*
+X012092Y012484D01*
+X012130Y012722D02*
+X014800Y012722D01*
+X014800Y012961D02*
+X012088Y012961D01*
+X011650Y012961D02*
+X011650Y012961D01*
+X011650Y012722D02*
+X011650Y012722D01*
+X011650Y012484D02*
+X011650Y012484D01*
+X011208Y012484D02*
+X008036Y012484D01*
+X008090Y012722D02*
+X011170Y012722D01*
+X011212Y012961D02*
+X008032Y012961D01*
+X008024Y011768D02*
+X011276Y011768D01*
+X011210Y011530D02*
+X008090Y011530D01*
+X008043Y011291D02*
+X011257Y011291D01*
+X011650Y011520D02*
+X015700Y011520D01*
+X016134Y011530D02*
+X016764Y011530D01*
+X016927Y011768D02*
+X016372Y011768D01*
+X015762Y012007D02*
+X003120Y012007D01*
+X003120Y010337D02*
+X004073Y010337D01*
+X004014Y010278D02*
+X004142Y010406D01*
+X004309Y010476D01*
+X004491Y010476D01*
+X004658Y010406D01*
+X004786Y010278D01*
+X004856Y010111D01*
+X004856Y009929D01*
+X004786Y009762D01*
+X004658Y009634D01*
+X004491Y009564D01*
+X004309Y009564D01*
+X004142Y009634D01*
+X004014Y009762D01*
+X003944Y009929D01*
+X003944Y010111D01*
+X004014Y010278D01*
+X003944Y010099D02*
+X003120Y010099D01*
+X003120Y009860D02*
+X003973Y009860D01*
+X004172Y009622D02*
+X003120Y009622D01*
+X003120Y009383D02*
+X007291Y009383D01*
+X007210Y009145D02*
+X003120Y009145D01*
+X003120Y008429D02*
+X020960Y008429D01*
+X020960Y008191D02*
+X003120Y008191D01*
+X003120Y007952D02*
+X020960Y007952D01*
+X020960Y007714D02*
+X003120Y007714D01*
+X003120Y007475D02*
+X004483Y007475D01*
+X004360Y007352D02*
+X004360Y006988D01*
+X004618Y006730D01*
+X004982Y006730D01*
+X005240Y006988D01*
+X005240Y007352D01*
+X004982Y007610D01*
+X004618Y007610D01*
+X004360Y007352D01*
+X004360Y007237D02*
+X003120Y007237D01*
+X003120Y006998D02*
+X004360Y006998D01*
+X004588Y006760D02*
+X003120Y006760D01*
+X003120Y006521D02*
+X008014Y006521D01*
+X007956Y006283D02*
+X003120Y006283D01*
+X003120Y006044D02*
+X008003Y006044D01*
+X008188Y005806D02*
+X003120Y005806D01*
+X003120Y005567D02*
+X004575Y005567D01*
+X004360Y005329D02*
+X003120Y005329D01*
+X003120Y005090D02*
+X004360Y005090D01*
+X004496Y004852D02*
+X003120Y004852D01*
+X005025Y005567D02*
+X008706Y005567D01*
+X008945Y005329D02*
+X005240Y005329D01*
+X005012Y006760D02*
+X008234Y006760D01*
+X008797Y006760D02*
+X009218Y006760D01*
+X009782Y006760D02*
+X010137Y006760D01*
+X010484Y006760D02*
+X010484Y006760D01*
+X010484Y006521D02*
+X010484Y006521D01*
+X010484Y006283D02*
+X010484Y006283D01*
+X010484Y006270D02*
+X011084Y006270D01*
+X011042Y006044D02*
+X011643Y006044D01*
+X011030Y006521D02*
+X020960Y006521D01*
+X020960Y006760D02*
+X010831Y006760D01*
+X010484Y006270D02*
+X010484Y006270D01*
+X008516Y006270D02*
+X008500Y006254D01*
+X008622Y004375D02*
+X010378Y004375D01*
+X010342Y004136D02*
+X008658Y004136D01*
+X008658Y003898D02*
+X010342Y003898D01*
+X010342Y003659D02*
+X008658Y003659D01*
+X008658Y003421D02*
+X010342Y003421D01*
+X010342Y003182D02*
+X008658Y003182D01*
+X008658Y002944D02*
+X010342Y002944D01*
+X010342Y002705D02*
+X008658Y002705D01*
+X006798Y002705D02*
+X005877Y002705D01*
+X005760Y002944D02*
+X006798Y002944D01*
+X005300Y001920D02*
+X005300Y001920D01*
+X005300Y001920D01*
+X004683Y001920D01*
+X004718Y001751D02*
+X003120Y001751D01*
+X003120Y001513D02*
+X004940Y001513D01*
+X004735Y001274D02*
+X003120Y001274D01*
+X003120Y001036D02*
+X004748Y001036D01*
+X005013Y000797D02*
+X003120Y000797D01*
+X005240Y006998D02*
+X020960Y006998D01*
+X020960Y007237D02*
+X005240Y007237D01*
+X005117Y007475D02*
+X020960Y007475D01*
+X024620Y012007D02*
+X027280Y012007D01*
+X027280Y012245D02*
+X024677Y012245D01*
+X024625Y012484D02*
+X027280Y012484D01*
+X027280Y012722D02*
+X024400Y012722D01*
+X024592Y013915D02*
+X027280Y013915D01*
+X027280Y014153D02*
+X024677Y014153D01*
+X024650Y014392D02*
+X027280Y014392D01*
+X027280Y014630D02*
+X024488Y014630D01*
+X024532Y015823D02*
+X027280Y015823D01*
+X027280Y016061D02*
+X024668Y016061D01*
+X024675Y016300D02*
+X027280Y016300D01*
+X027280Y016538D02*
+X024548Y016538D01*
+X020757Y019948D02*
+X020622Y019813D01*
+X020445Y019740D01*
+X020255Y019740D01*
+X020078Y019813D01*
+X019943Y019948D01*
+X019870Y020125D01*
+X019870Y020915D01*
+X019943Y021092D01*
+X020078Y021227D01*
+X020255Y021300D01*
+X020445Y021300D01*
+X020622Y021227D01*
+X020757Y021092D01*
+X020830Y020915D01*
+X020830Y020125D01*
+X020757Y019948D01*
+X020686Y019877D02*
+X021014Y019877D01*
+X020874Y020116D02*
+X020826Y020116D01*
+X020830Y020354D02*
+X020870Y020354D01*
+X020870Y020593D02*
+X020830Y020593D01*
+X020830Y020831D02*
+X020870Y020831D01*
+X020934Y021070D02*
+X020766Y021070D01*
+X019934Y021070D02*
+X019766Y021070D01*
+X019757Y021092D02*
+X019622Y021227D01*
+X019445Y021300D01*
+X019255Y021300D01*
+X019078Y021227D01*
+X018943Y021092D01*
+X018870Y020915D01*
+X018870Y020125D01*
+X018943Y019948D01*
+X019078Y019813D01*
+X019255Y019740D01*
+X019445Y019740D01*
+X019622Y019813D01*
+X019757Y019948D01*
+X019830Y020125D01*
+X019830Y020915D01*
+X019757Y021092D01*
+X019830Y020831D02*
+X019870Y020831D01*
+X019870Y020593D02*
+X019830Y020593D01*
+X019830Y020354D02*
+X019870Y020354D01*
+X019874Y020116D02*
+X019826Y020116D01*
+X019686Y019877D02*
+X020014Y019877D01*
+X019014Y019877D02*
+X018686Y019877D01*
+X018622Y019813D02*
+X018757Y019948D01*
+X018830Y020125D01*
+X018830Y020915D01*
+X018757Y021092D01*
+X018622Y021227D01*
+X018445Y021300D01*
+X018255Y021300D01*
+X018078Y021227D01*
+X017943Y021092D01*
+X017870Y020915D01*
+X017870Y020125D01*
+X017943Y019948D01*
+X018078Y019813D01*
+X018255Y019740D01*
+X018445Y019740D01*
+X018622Y019813D01*
+X018826Y020116D02*
+X018874Y020116D01*
+X018870Y020354D02*
+X018830Y020354D01*
+X018830Y020593D02*
+X018870Y020593D01*
+X018870Y020831D02*
+X018830Y020831D01*
+X018766Y021070D02*
+X018934Y021070D01*
+X017934Y021070D02*
+X017216Y021070D01*
+X017207Y021092D02*
+X017072Y021227D01*
+X016895Y021300D01*
+X016705Y021300D01*
+X016528Y021227D01*
+X016393Y021092D01*
+X016320Y020915D01*
+X016320Y020125D01*
+X016393Y019948D01*
+X016528Y019813D01*
+X016705Y019740D01*
+X016895Y019740D01*
+X017072Y019813D01*
+X017207Y019948D01*
+X017280Y020125D01*
+X017280Y020915D01*
+X017207Y021092D01*
+X017280Y020831D02*
+X017870Y020831D01*
+X017870Y020593D02*
+X017280Y020593D01*
+X017280Y020354D02*
+X017870Y020354D01*
+X017874Y020116D02*
+X017276Y020116D01*
+X017136Y019877D02*
+X018014Y019877D01*
+X016464Y019877D02*
+X016136Y019877D01*
+X016072Y019813D02*
+X016207Y019948D01*
+X016280Y020125D01*
+X016280Y020915D01*
+X016207Y021092D01*
+X016072Y021227D01*
+X015895Y021300D01*
+X015705Y021300D01*
+X015528Y021227D01*
+X015393Y021092D01*
+X015320Y020915D01*
+X015320Y020125D01*
+X015393Y019948D01*
+X015528Y019813D01*
+X015705Y019740D01*
+X015895Y019740D01*
+X016072Y019813D01*
+X016276Y020116D02*
+X016324Y020116D01*
+X016320Y020354D02*
+X016280Y020354D01*
+X016280Y020593D02*
+X016320Y020593D01*
+X016320Y020831D02*
+X016280Y020831D01*
+X016216Y021070D02*
+X016384Y021070D01*
+X015384Y021070D02*
+X015216Y021070D01*
+X015207Y021092D02*
+X015072Y021227D01*
+X014895Y021300D01*
+X014705Y021300D01*
+X014528Y021227D01*
+X014393Y021092D01*
+X014320Y020915D01*
+X014320Y020125D01*
+X014393Y019948D01*
+X014528Y019813D01*
+X014705Y019740D01*
+X014895Y019740D01*
+X015072Y019813D01*
+X015207Y019948D01*
+X015280Y020125D01*
+X015280Y020915D01*
+X015207Y021092D01*
+X015280Y020831D02*
+X015320Y020831D01*
+X015320Y020593D02*
+X015280Y020593D01*
+X015280Y020354D02*
+X015320Y020354D01*
+X015324Y020116D02*
+X015276Y020116D01*
+X015136Y019877D02*
+X015464Y019877D01*
+X014464Y019877D02*
+X014136Y019877D01*
+X014072Y019813D02*
+X014207Y019948D01*
+X014280Y020125D01*
+X014280Y020915D01*
+X014207Y021092D01*
+X014072Y021227D01*
+X013895Y021300D01*
+X013705Y021300D01*
+X013528Y021227D01*
+X013393Y021092D01*
+X013320Y020915D01*
+X013320Y020125D01*
+X013393Y019948D01*
+X013528Y019813D01*
+X013705Y019740D01*
+X013895Y019740D01*
+X014072Y019813D01*
+X014276Y020116D02*
+X014324Y020116D01*
+X014320Y020354D02*
+X014280Y020354D01*
+X014280Y020593D02*
+X014320Y020593D01*
+X014320Y020831D02*
+X014280Y020831D01*
+X014216Y021070D02*
+X014384Y021070D01*
+X013384Y021070D02*
+X013216Y021070D01*
+X013280Y020831D02*
+X013320Y020831D01*
+X013320Y020593D02*
+X013280Y020593D01*
+X013280Y020354D02*
+X013320Y020354D01*
+X013324Y020116D02*
+X013276Y020116D01*
+X013136Y019877D02*
+X013464Y019877D01*
+X014240Y018685D02*
+X019142Y018685D01*
+X018910Y018446D02*
+X014048Y018446D01*
+X014077Y017015D02*
+X016020Y017015D01*
+X016165Y016777D02*
+X014240Y016777D01*
+X015168Y015464D02*
+X014840Y015136D01*
+X014840Y014672D01*
+X015168Y014344D01*
+X015632Y014344D01*
+X015960Y014672D01*
+X015960Y015136D01*
+X015632Y015464D01*
+X015168Y015464D01*
+X015049Y015346D02*
+X009063Y015346D01*
+X009240Y015107D02*
+X014840Y015107D01*
+X014840Y014869D02*
+X009270Y014869D01*
+X009270Y014630D02*
+X014882Y014630D01*
+X015121Y014392D02*
+X009270Y014392D01*
+X009232Y014153D02*
+X016400Y014153D01*
+X016400Y013915D02*
+X009017Y013915D01*
+X007210Y010337D02*
+X005727Y010337D01*
+X005856Y010099D02*
+X007249Y010099D01*
+X005172Y009622D02*
+X004628Y009622D01*
+X004827Y009860D02*
+X004973Y009860D01*
+X004944Y010099D02*
+X004856Y010099D01*
+X004727Y010337D02*
+X005073Y010337D01*
+X015679Y014392D02*
+X016400Y014392D01*
+X016400Y014630D02*
+X015918Y014630D01*
+X015960Y014869D02*
+X016400Y014869D01*
+X016400Y015107D02*
+X015960Y015107D01*
+X015751Y015346D02*
+X016400Y015346D01*
+X021686Y019877D02*
+X021700Y019877D01*
+X021830Y020424D02*
+X021830Y020424D01*
+X021830Y020593D02*
+X021870Y020593D01*
+X021870Y020831D02*
+X021830Y020831D01*
+X021766Y021070D02*
+X021934Y021070D01*
+X010408Y019877D02*
+X010136Y019877D01*
+X010276Y020116D02*
+X010290Y020116D01*
+X010280Y020354D02*
+X010280Y020354D01*
+X010280Y020593D02*
+X010280Y020593D01*
+X010280Y020831D02*
+X010280Y020831D01*
+X010216Y021070D02*
+X010344Y021070D01*
+X009384Y021070D02*
+X007663Y021070D01*
+X007700Y020831D02*
+X009320Y020831D01*
+X009320Y020593D02*
+X009296Y020593D01*
+X009464Y019877D02*
+X008576Y019877D01*
+X008200Y019843D02*
+X008200Y020320D01*
+X008200Y020320D01*
+X008200Y020797D01*
+X008200Y020320D01*
+X008200Y020320D01*
+X008200Y020354D02*
+X008200Y020354D01*
+X008200Y020116D02*
+X008200Y020116D01*
+X008200Y020593D02*
+X008200Y020593D01*
+X007450Y020320D02*
+X007400Y020370D01*
+X007400Y020920D01*
+X007200Y021120D01*
+X007100Y020593D02*
+X007046Y020593D01*
+X006354Y020593D02*
+X006000Y020593D01*
+X006000Y020354D02*
+X006263Y020354D01*
+X006311Y020116D02*
+X006000Y020116D01*
+X017727Y002228D02*
+X018029Y002228D01*
+X017880Y001990D02*
+X017858Y001990D01*
+X017870Y001751D02*
+X017870Y001751D01*
+X017870Y001513D02*
+X017870Y001513D01*
+X017870Y001274D02*
+X017870Y001274D01*
+X017814Y001036D02*
+X017928Y001036D01*
+X018772Y001036D02*
+X019957Y001036D01*
+X019920Y001274D02*
+X018830Y001274D01*
+X018830Y001513D02*
+X019920Y001513D01*
+X019920Y001751D02*
+X018830Y001751D01*
+X018820Y001990D02*
+X019951Y001990D01*
+X020131Y002228D02*
+X018671Y002228D01*
+D23*
+X017400Y001620D02*
+X017350Y001570D01*
+D24*
+X016900Y003820D03*
+X023100Y003820D03*
+X026000Y004720D03*
+D25*
+X026061Y004659D01*
+D26*
+X013000Y005120D03*
+X007900Y015920D03*
+D27*
+X008500Y006254D02*
+X009234Y005520D01*
+X011600Y005520D01*
+X011900Y005820D01*
+X015400Y005820D01*
+X015350Y005770D01*
+X015400Y005820D02*
+X021300Y005820D01*
+X021300Y011320D01*
+X021250Y011370D02*
+X022200Y012320D01*
+X022200Y014720D01*
+X021250Y015670D01*
+X026000Y008320D02*
+X026000Y006820D01*
+X025000Y005820D01*
+X021300Y005820D01*
+M02*
diff --git a/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.stc b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.stc
new file mode 100644
index 0000000..3d079b6
--- /dev/null
+++ b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.stc
@@ -0,0 +1,158 @@
+G75*
+%MOIN*%
+%OFA0B0*%
+%FSLAX24Y24*%
+%IPPOS*%
+%LPD*%
+%AMOC8*
+5,1,8,0,0,1.08239X$1,22.5*
+%
+%ADD10C,0.0640*%
+%ADD11OC8,0.0560*%
+%ADD12C,0.0555*%
+%ADD13R,0.0555X0.0555*%
+%ADD14C,0.0800*%
+%ADD15R,0.1540X0.1540*%
+%ADD16C,0.0437*%
+%ADD17C,0.0700*%
+%ADD18C,0.0591*%
+%ADD19C,0.0745*%
+%ADD20OC8,0.0800*%
+%ADD21C,0.0600*%
+D10*
+X013350Y001270D02*
+X013350Y001870D01*
+X014350Y001870D02*
+X014350Y001270D01*
+X015350Y001270D02*
+X015350Y001870D01*
+X016350Y001870D02*
+X016350Y001270D01*
+X017350Y001270D02*
+X017350Y001870D01*
+X018350Y001870D02*
+X018350Y001270D01*
+X020400Y001220D02*
+X020400Y001820D01*
+X021400Y001820D02*
+X021400Y001220D01*
+X022400Y001220D02*
+X022400Y001820D01*
+X023400Y001820D02*
+X023400Y001220D01*
+X024400Y001220D02*
+X024400Y001820D01*
+X025400Y001820D02*
+X025400Y001220D01*
+X008790Y014340D02*
+X008790Y014940D01*
+X007010Y014940D02*
+X007010Y014340D01*
+X007010Y016900D02*
+X007010Y017500D01*
+X008790Y017500D02*
+X008790Y016900D01*
+X009800Y020220D02*
+X009800Y020820D01*
+X010800Y020820D02*
+X010800Y020220D01*
+X011800Y020220D02*
+X011800Y020820D01*
+X012800Y020820D02*
+X012800Y020220D01*
+X013800Y020220D02*
+X013800Y020820D01*
+X014800Y020820D02*
+X014800Y020220D01*
+X015800Y020220D02*
+X015800Y020820D01*
+X016800Y020820D02*
+X016800Y020220D01*
+X018350Y020220D02*
+X018350Y020820D01*
+X019350Y020820D02*
+X019350Y020220D01*
+X020350Y020220D02*
+X020350Y020820D01*
+X021350Y020820D02*
+X021350Y020220D01*
+X022350Y020220D02*
+X022350Y020820D01*
+X023350Y020820D02*
+X023350Y020220D01*
+X024350Y020220D02*
+X024350Y020820D01*
+X025350Y020820D02*
+X025350Y020220D01*
+D11*
+X023350Y018270D03*
+X019350Y018270D03*
+X017500Y017120D03*
+X017000Y017870D03*
+X016500Y017120D03*
+X013800Y016670D03*
+X013800Y017720D03*
+X013800Y018820D03*
+X009800Y018820D03*
+X009800Y017720D03*
+X009800Y016670D03*
+X011650Y012720D03*
+X011650Y011520D03*
+X011650Y010320D03*
+X011650Y009120D03*
+X007650Y009120D03*
+X007650Y010320D03*
+X007650Y011520D03*
+X007650Y012720D03*
+X004800Y007170D03*
+X004800Y005170D03*
+D12*
+X006700Y020320D03*
+X007450Y020320D03*
+X008950Y020320D03*
+D13*
+X008200Y020320D03*
+D14*
+X008516Y006270D03*
+X009500Y006270D03*
+X010484Y006270D03*
+D15*
+X011272Y003514D03*
+X007728Y003514D03*
+D16*
+X005498Y001170D02*
+X005102Y001170D01*
+X005102Y001920D02*
+X005498Y001920D01*
+X005498Y002670D02*
+X005102Y002670D01*
+D17*
+X017250Y011370D03*
+X019250Y012670D03*
+X021250Y012670D03*
+X021250Y011370D03*
+X021250Y015670D03*
+X021250Y016670D03*
+X019250Y016670D03*
+X019250Y015670D03*
+D18*
+X005400Y010020D03*
+X004400Y010020D03*
+D19*
+X023440Y012251D02*
+X024145Y012251D01*
+X024145Y014220D02*
+X023440Y014220D01*
+X023440Y016189D02*
+X024145Y016189D01*
+D20*
+X015400Y014904D03*
+X015400Y012936D03*
+D21*
+X025720Y010320D02*
+X026280Y010320D01*
+X026280Y009320D02*
+X025720Y009320D01*
+X025720Y008320D02*
+X026280Y008320D01*
+M02*
diff --git a/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.sts b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.sts
new file mode 100644
index 0000000..3d079b6
--- /dev/null
+++ b/scilab-arduino/tools/shield/gerber-V1.2/shield-V1.2.sts
@@ -0,0 +1,158 @@
+G75*
+%MOIN*%
+%OFA0B0*%
+%FSLAX24Y24*%
+%IPPOS*%
+%LPD*%
+%AMOC8*
+5,1,8,0,0,1.08239X$1,22.5*
+%
+%ADD10C,0.0640*%
+%ADD11OC8,0.0560*%
+%ADD12C,0.0555*%
+%ADD13R,0.0555X0.0555*%
+%ADD14C,0.0800*%
+%ADD15R,0.1540X0.1540*%
+%ADD16C,0.0437*%
+%ADD17C,0.0700*%
+%ADD18C,0.0591*%
+%ADD19C,0.0745*%
+%ADD20OC8,0.0800*%
+%ADD21C,0.0600*%
+D10*
+X013350Y001270D02*
+X013350Y001870D01*
+X014350Y001870D02*
+X014350Y001270D01*
+X015350Y001270D02*
+X015350Y001870D01*
+X016350Y001870D02*
+X016350Y001270D01*
+X017350Y001270D02*
+X017350Y001870D01*
+X018350Y001870D02*
+X018350Y001270D01*
+X020400Y001220D02*
+X020400Y001820D01*
+X021400Y001820D02*
+X021400Y001220D01*
+X022400Y001220D02*
+X022400Y001820D01*
+X023400Y001820D02*
+X023400Y001220D01*
+X024400Y001220D02*
+X024400Y001820D01*
+X025400Y001820D02*
+X025400Y001220D01*
+X008790Y014340D02*
+X008790Y014940D01*
+X007010Y014940D02*
+X007010Y014340D01*
+X007010Y016900D02*
+X007010Y017500D01*
+X008790Y017500D02*
+X008790Y016900D01*
+X009800Y020220D02*
+X009800Y020820D01*
+X010800Y020820D02*
+X010800Y020220D01*
+X011800Y020220D02*
+X011800Y020820D01*
+X012800Y020820D02*
+X012800Y020220D01*
+X013800Y020220D02*
+X013800Y020820D01*
+X014800Y020820D02*
+X014800Y020220D01*
+X015800Y020220D02*
+X015800Y020820D01*
+X016800Y020820D02*
+X016800Y020220D01*
+X018350Y020220D02*
+X018350Y020820D01*
+X019350Y020820D02*
+X019350Y020220D01*
+X020350Y020220D02*
+X020350Y020820D01*
+X021350Y020820D02*
+X021350Y020220D01*
+X022350Y020220D02*
+X022350Y020820D01*
+X023350Y020820D02*
+X023350Y020220D01*
+X024350Y020220D02*
+X024350Y020820D01*
+X025350Y020820D02*
+X025350Y020220D01*
+D11*
+X023350Y018270D03*
+X019350Y018270D03*
+X017500Y017120D03*
+X017000Y017870D03*
+X016500Y017120D03*
+X013800Y016670D03*
+X013800Y017720D03*
+X013800Y018820D03*
+X009800Y018820D03*
+X009800Y017720D03*
+X009800Y016670D03*
+X011650Y012720D03*
+X011650Y011520D03*
+X011650Y010320D03*
+X011650Y009120D03*
+X007650Y009120D03*
+X007650Y010320D03*
+X007650Y011520D03*
+X007650Y012720D03*
+X004800Y007170D03*
+X004800Y005170D03*
+D12*
+X006700Y020320D03*
+X007450Y020320D03*
+X008950Y020320D03*
+D13*
+X008200Y020320D03*
+D14*
+X008516Y006270D03*
+X009500Y006270D03*
+X010484Y006270D03*
+D15*
+X011272Y003514D03*
+X007728Y003514D03*
+D16*
+X005498Y001170D02*
+X005102Y001170D01*
+X005102Y001920D02*
+X005498Y001920D01*
+X005498Y002670D02*
+X005102Y002670D01*
+D17*
+X017250Y011370D03*
+X019250Y012670D03*
+X021250Y012670D03*
+X021250Y011370D03*
+X021250Y015670D03*
+X021250Y016670D03*
+X019250Y016670D03*
+X019250Y015670D03*
+D18*
+X005400Y010020D03*
+X004400Y010020D03*
+D19*
+X023440Y012251D02*
+X024145Y012251D01*
+X024145Y014220D02*
+X023440Y014220D01*
+X023440Y016189D02*
+X024145Y016189D01*
+D20*
+X015400Y014904D03*
+X015400Y012936D03*
+D21*
+X025720Y010320D02*
+X026280Y010320D01*
+X026280Y009320D02*
+X025720Y009320D01*
+X025720Y008320D02*
+X026280Y008320D01*
+M02*
diff --git a/scilab-arduino/tools/shield/pcb_board_V1p2.png b/scilab-arduino/tools/shield/pcb_board_V1p2.png
new file mode 100644
index 0000000..065746f
--- /dev/null
+++ b/scilab-arduino/tools/shield/pcb_board_V1p2.png
Binary files differ
diff --git a/scilab-arduino/tools/shield/shield-V1p2.brd b/scilab-arduino/tools/shield/shield-V1p2.brd
new file mode 100644
index 0000000..9b4a0ae
--- /dev/null
+++ b/scilab-arduino/tools/shield/shield-V1p2.brd
@@ -0,0 +1,1329 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="6.5.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="10" unitdist="mil" unit="mil" style="dots" multiple="1" display="yes" altdistance="10" altunitdist="mil" altunit="mil"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="2" name="Route2" color="1" fill="3" visible="no" active="no"/>
+<layer number="3" name="Route3" color="4" fill="3" visible="no" active="no"/>
+<layer number="4" name="Route4" color="1" fill="4" visible="no" active="no"/>
+<layer number="5" name="Route5" color="4" fill="4" visible="no" active="no"/>
+<layer number="6" name="Route6" color="1" fill="8" visible="no" active="no"/>
+<layer number="7" name="Route7" color="4" fill="8" visible="no" active="no"/>
+<layer number="8" name="Route8" color="1" fill="2" visible="no" active="no"/>
+<layer number="9" name="Route9" color="4" fill="2" visible="no" active="no"/>
+<layer number="10" name="Route10" color="1" fill="7" visible="no" active="no"/>
+<layer number="11" name="Route11" color="4" fill="7" visible="no" active="no"/>
+<layer number="12" name="Route12" color="1" fill="5" visible="no" active="no"/>
+<layer number="13" name="Route13" color="4" fill="5" visible="no" active="no"/>
+<layer number="14" name="Route14" color="1" fill="6" visible="no" active="no"/>
+<layer number="15" name="Route15" color="4" fill="6" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="yes"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="yes"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="yes"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="yes"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="yes"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="yes"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="yes"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="yes"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="yes"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="yes"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="yes"/>
+<layer number="50" name="dxf" color="7" fill="1" visible="no" active="yes"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="yes"/>
+<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
+<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
+<layer number="56" name="wert" color="7" fill="1" visible="no" active="yes"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
+<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
+<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
+<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
+<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
+<layer number="101" name="Patch_Top" color="12" fill="4" visible="no" active="yes"/>
+<layer number="102" name="Vscore" color="7" fill="1" visible="no" active="yes"/>
+<layer number="103" name="tMap" color="7" fill="1" visible="no" active="yes"/>
+<layer number="104" name="Name" color="7" fill="1" visible="no" active="yes"/>
+<layer number="105" name="tPlate" color="7" fill="1" visible="no" active="yes"/>
+<layer number="106" name="bPlate" color="7" fill="1" visible="no" active="yes"/>
+<layer number="107" name="Crop" color="7" fill="1" visible="no" active="yes"/>
+<layer number="116" name="Patch_BOT" color="9" fill="4" visible="no" active="yes"/>
+<layer number="121" name="_tsilk" color="7" fill="1" visible="no" active="yes"/>
+<layer number="122" name="_bsilk" color="7" fill="1" visible="no" active="yes"/>
+<layer number="144" name="DrillLegend" color="7" fill="1" visible="no" active="yes"/>
+<layer number="151" name="HeatSink" color="7" fill="1" visible="no" active="yes"/>
+<layer number="200" name="200bmp" color="1" fill="10" visible="no" active="yes"/>
+<layer number="201" name="201bmp" color="2" fill="10" visible="no" active="yes"/>
+<layer number="202" name="202bmp" color="3" fill="10" visible="no" active="yes"/>
+<layer number="203" name="203bmp" color="4" fill="10" visible="no" active="yes"/>
+<layer number="204" name="204bmp" color="5" fill="10" visible="no" active="yes"/>
+<layer number="205" name="205bmp" color="6" fill="10" visible="no" active="yes"/>
+<layer number="206" name="206bmp" color="7" fill="10" visible="no" active="yes"/>
+<layer number="207" name="207bmp" color="8" fill="10" visible="no" active="yes"/>
+<layer number="208" name="208bmp" color="9" fill="10" visible="no" active="yes"/>
+<layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="211" name="211bmp" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="212" name="212bmp" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="213" name="213bmp" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="214" name="214bmp" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="215" name="215bmp" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="216" name="216bmp" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
+<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
+<layer number="254" name="cooling" color="7" fill="1" visible="no" active="yes"/>
+</layers>
+<board>
+<plain>
+<wire x1="0" y1="0" x2="62.484" y2="-0.254" width="0" layer="20"/>
+<wire x1="-0.508" y1="54.864" x2="-2.794" y2="54.864" width="0.254" layer="49"/>
+<wire x1="67.31" y1="55.118" x2="67.31" y2="58.674" width="0.254" layer="49"/>
+<wire x1="69.85" y1="39.878" x2="69.85" y2="43.688" width="0.254" layer="49"/>
+<circle x="53.213" y="25.9588" radius="0.5679" width="0.3048" layer="25"/>
+<text x="27.6961" y="1.2243" size="1.016" layer="21" font="vector" rot="R180">RST</text>
+<text x="30.0177" y="1.2801" size="1.016" layer="21" font="vector" rot="R180">3v</text>
+<text x="32.5577" y="1.2801" size="1.016" layer="21" font="vector" rot="R180">5v</text>
+<text x="36.9469" y="1.3157" size="1.016" layer="21" font="vector" rot="R180">Gnd</text>
+<text x="40.5587" y="1.2801" size="1.016" layer="21" font="vector" rot="R180">Vin</text>
+<text x="45.0749" y="1.1887" size="1.016" layer="21" font="vector" rot="R180">0</text>
+<text x="47.6149" y="1.1887" size="1.016" layer="21" font="vector" rot="R180">1</text>
+<text x="50.1549" y="1.1887" size="1.016" layer="21" font="vector" rot="R180">2</text>
+<text x="52.6949" y="1.1887" size="1.016" layer="21" font="vector" rot="R180">3</text>
+<text x="55.2349" y="1.1887" size="1.016" layer="21" font="vector" rot="R180">4</text>
+<text x="57.6479" y="1.1887" size="1.016" layer="21" font="vector" rot="R180">5</text>
+<text x="39.9237" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">7</text>
+<text x="42.3367" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">6</text>
+<text x="45.0037" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">5</text>
+<text x="47.3913" y="54.0867" size="1.016" layer="21" font="vector" rot="R180">4</text>
+<text x="49.8043" y="54.0613" size="1.016" layer="21" font="vector" rot="R180">3</text>
+<text x="52.5475" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">2</text>
+<text x="55.1637" y="54.1375" size="1.016" layer="21" font="vector" rot="R180">1</text>
+<text x="57.6529" y="54.1375" size="1.016" layer="21" font="vector" rot="R180">0</text>
+<text x="59.944" y="33.02" size="1.27" layer="25" ratio="10" rot="R90">COM</text>
+<text x="59.944" y="28.702" size="1.27" layer="25" ratio="10" rot="R90">NO</text>
+<text x="59.436" y="39.116" size="1.27" layer="25" ratio="10" rot="R90">NC</text>
+<text x="18.4251" y="54.1833" size="1.016" layer="21" font="vector" rot="R180">ARef</text>
+<text x="21.5087" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">gnd</text>
+<text x="23.5915" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">13</text>
+<text x="26.0807" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">12</text>
+<text x="28.7985" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">11</text>
+<text x="31.2623" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">10</text>
+<text x="33.3451" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">9</text>
+<text x="35.8597" y="54.1121" size="1.016" layer="21" font="vector" rot="R180">8</text>
+<text x="-6.604" y="54.864" size="1.27" layer="49">2.16"</text>
+<text x="67.31" y="59.436" size="1.27" layer="49">2.65"</text>
+<text x="69.85" y="44.45" size="1.27" layer="49">2.75"</text>
+<text x="24.384" y="20.574" size="1.524" layer="25" ratio="12">Sensor Shield V-1.2</text>
+<wire x1="62.484" y1="-0.254" x2="62.484" y2="54.61" width="0" layer="20"/>
+<wire x1="0" y1="54.864" x2="62.484" y2="54.61" width="0" layer="20"/>
+<wire x1="0" y1="0" x2="0" y2="54.864" width="0" layer="20"/>
+<text x="16.51" y="17.78" size="1.778" layer="25">Integrated Development Lab</text>
+<text x="33.274" y="14.986" size="1.778" layer="25">IIT Bombay</text>
+<dimension x1="0" y1="54.864" x2="62.484" y2="54.61" x3="31.2420125" y3="54.740096875" textsize="1.778" layer="1"/>
+<dimension x1="0" y1="54.864" x2="0" y2="0" x3="0" y3="27.432" textsize="1.778" layer="1"/>
+</plain>
+<libraries>
+<library name="pinhead">
+<packages>
+<package name="1X08">
+<description>&lt;b&gt;PIN HEADER&lt;/b&gt;</description>
+<wire x1="5.715" y1="1.27" x2="6.985" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="1.27" x2="7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="0.635" x2="7.62" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="-0.635" x2="6.985" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0.635" x2="3.175" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="1.27" x2="4.445" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="4.445" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="0.635" x2="5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="-0.635" x2="4.445" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="4.445" y1="-1.27" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="-1.27" x2="2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="5.715" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="-0.635" x2="5.715" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="-1.27" x2="5.715" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.905" y1="1.27" x2="-0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="0.635" x2="0" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0" y1="0.635" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.905" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="1.905" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0.635" x2="2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="-0.635" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="1.905" y1="-1.27" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="0" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="0.635" x2="-4.445" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-4.445" y1="1.27" x2="-3.175" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-3.175" y1="1.27" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="0.635" x2="-2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="-0.635" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-3.175" y1="-1.27" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-4.445" y1="-1.27" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-1.905" y1="1.27" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="-0.635" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="-1.27" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-9.525" y1="1.27" x2="-8.255" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-8.255" y1="1.27" x2="-7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="0.635" x2="-7.62" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="-0.635" x2="-8.255" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="0.635" x2="-6.985" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-6.985" y1="1.27" x2="-5.715" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-5.715" y1="1.27" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="0.635" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="-0.635" x2="-5.715" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-5.715" y1="-1.27" x2="-6.985" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-6.985" y1="-1.27" x2="-7.62" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-10.16" y1="0.635" x2="-10.16" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-9.525" y1="1.27" x2="-10.16" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-10.16" y1="-0.635" x2="-9.525" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-8.255" y1="-1.27" x2="-9.525" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="8.255" y1="1.27" x2="9.525" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="9.525" y1="1.27" x2="10.16" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="10.16" y1="0.635" x2="10.16" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="10.16" y1="-0.635" x2="9.525" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="8.255" y1="1.27" x2="7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="-0.635" x2="8.255" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="9.525" y1="-1.27" x2="8.255" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="-8.89" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="2" x="-6.35" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="3" x="-3.81" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="4" x="-1.27" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="5" x="1.27" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="6" x="3.81" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="7" x="6.35" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="8" x="8.89" y="0" drill="1.016" shape="long" rot="R90"/>
+<text x="-10.2362" y="1.8288" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-10.16" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="6.096" y1="-0.254" x2="6.604" y2="0.254" layer="51"/>
+<rectangle x1="3.556" y1="-0.254" x2="4.064" y2="0.254" layer="51"/>
+<rectangle x1="1.016" y1="-0.254" x2="1.524" y2="0.254" layer="51"/>
+<rectangle x1="-1.524" y1="-0.254" x2="-1.016" y2="0.254" layer="51"/>
+<rectangle x1="-4.064" y1="-0.254" x2="-3.556" y2="0.254" layer="51"/>
+<rectangle x1="-6.604" y1="-0.254" x2="-6.096" y2="0.254" layer="51"/>
+<rectangle x1="-9.144" y1="-0.254" x2="-8.636" y2="0.254" layer="51"/>
+<rectangle x1="8.636" y1="-0.254" x2="9.144" y2="0.254" layer="51"/>
+</package>
+<package name="1X06">
+<description>&lt;b&gt;PIN HEADER&lt;/b&gt;</description>
+<wire x1="0.635" y1="1.27" x2="1.905" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="1.905" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0.635" x2="2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="-0.635" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0.635" x2="3.175" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="1.27" x2="4.445" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="4.445" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="0.635" x2="5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="-0.635" x2="4.445" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="4.445" y1="-1.27" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="-1.27" x2="2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="0.635" x2="-1.905" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-1.905" y1="1.27" x2="-0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="0.635" x2="0" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="-1.27" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.905" y1="-1.27" x2="-2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="1.905" y1="-1.27" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-6.985" y1="1.27" x2="-5.715" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-5.715" y1="1.27" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="0.635" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="-0.635" x2="-5.715" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="0.635" x2="-4.445" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-4.445" y1="1.27" x2="-3.175" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-3.175" y1="1.27" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="0.635" x2="-2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="-0.635" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-3.175" y1="-1.27" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-4.445" y1="-1.27" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="0.635" x2="-7.62" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-6.985" y1="1.27" x2="-7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="-0.635" x2="-6.985" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-5.715" y1="-1.27" x2="-6.985" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="5.715" y1="1.27" x2="6.985" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="1.27" x2="7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="0.635" x2="7.62" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="-0.635" x2="6.985" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="5.715" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="-0.635" x2="5.715" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="-1.27" x2="5.715" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="-6.35" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="2" x="-3.81" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="3" x="-1.27" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="4" x="1.27" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="5" x="3.81" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="6" x="6.35" y="0" drill="1.016" shape="long" rot="R90"/>
+<text x="-7.6962" y="1.8288" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-7.62" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="3.556" y1="-0.254" x2="4.064" y2="0.254" layer="51"/>
+<rectangle x1="1.016" y1="-0.254" x2="1.524" y2="0.254" layer="51"/>
+<rectangle x1="-1.524" y1="-0.254" x2="-1.016" y2="0.254" layer="51"/>
+<rectangle x1="-4.064" y1="-0.254" x2="-3.556" y2="0.254" layer="51"/>
+<rectangle x1="-6.604" y1="-0.254" x2="-6.096" y2="0.254" layer="51"/>
+<rectangle x1="6.096" y1="-0.254" x2="6.604" y2="0.254" layer="51"/>
+</package>
+</packages>
+</library>
+<library name="switch-omron">
+<packages>
+<package name="B3F-10XX">
+<description>&lt;b&gt;OMRON SWITCH&lt;/b&gt;</description>
+<wire x1="3.302" y1="-0.762" x2="3.048" y2="-0.762" width="0.1524" layer="21"/>
+<wire x1="3.302" y1="-0.762" x2="3.302" y2="0.762" width="0.1524" layer="21"/>
+<wire x1="3.048" y1="0.762" x2="3.302" y2="0.762" width="0.1524" layer="21"/>
+<wire x1="3.048" y1="1.016" x2="3.048" y2="2.54" width="0.1524" layer="51"/>
+<wire x1="-3.302" y1="0.762" x2="-3.048" y2="0.762" width="0.1524" layer="21"/>
+<wire x1="-3.302" y1="0.762" x2="-3.302" y2="-0.762" width="0.1524" layer="21"/>
+<wire x1="-3.048" y1="-0.762" x2="-3.302" y2="-0.762" width="0.1524" layer="21"/>
+<wire x1="3.048" y1="2.54" x2="2.54" y2="3.048" width="0.1524" layer="51"/>
+<wire x1="2.54" y1="-3.048" x2="3.048" y2="-2.54" width="0.1524" layer="51"/>
+<wire x1="3.048" y1="-2.54" x2="3.048" y2="-1.016" width="0.1524" layer="51"/>
+<wire x1="-2.54" y1="3.048" x2="-3.048" y2="2.54" width="0.1524" layer="51"/>
+<wire x1="-3.048" y1="2.54" x2="-3.048" y2="1.016" width="0.1524" layer="51"/>
+<wire x1="-2.54" y1="-3.048" x2="-3.048" y2="-2.54" width="0.1524" layer="51"/>
+<wire x1="-3.048" y1="-2.54" x2="-3.048" y2="-1.016" width="0.1524" layer="51"/>
+<wire x1="-1.27" y1="1.27" x2="-1.27" y2="-1.27" width="0.0508" layer="51"/>
+<wire x1="1.27" y1="-1.27" x2="-1.27" y2="-1.27" width="0.0508" layer="51"/>
+<wire x1="1.27" y1="-1.27" x2="1.27" y2="1.27" width="0.0508" layer="51"/>
+<wire x1="-1.27" y1="1.27" x2="1.27" y2="1.27" width="0.0508" layer="51"/>
+<wire x1="-1.27" y1="3.048" x2="-1.27" y2="2.794" width="0.0508" layer="21"/>
+<wire x1="1.27" y1="2.794" x2="-1.27" y2="2.794" width="0.0508" layer="21"/>
+<wire x1="1.27" y1="2.794" x2="1.27" y2="3.048" width="0.0508" layer="21"/>
+<wire x1="1.143" y1="-2.794" x2="-1.27" y2="-2.794" width="0.0508" layer="21"/>
+<wire x1="1.143" y1="-2.794" x2="1.143" y2="-3.048" width="0.0508" layer="21"/>
+<wire x1="-1.27" y1="-2.794" x2="-1.27" y2="-3.048" width="0.0508" layer="21"/>
+<wire x1="2.54" y1="-3.048" x2="2.159" y2="-3.048" width="0.1524" layer="51"/>
+<wire x1="-2.54" y1="-3.048" x2="-2.159" y2="-3.048" width="0.1524" layer="51"/>
+<wire x1="-2.159" y1="-3.048" x2="-1.27" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="3.048" x2="-2.159" y2="3.048" width="0.1524" layer="51"/>
+<wire x1="2.54" y1="3.048" x2="2.159" y2="3.048" width="0.1524" layer="51"/>
+<wire x1="2.159" y1="3.048" x2="1.27" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="3.048" x2="-1.27" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="3.048" x2="-2.159" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-3.048" x2="1.143" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="1.143" y1="-3.048" x2="2.159" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="3.048" y1="-0.762" x2="3.048" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="3.048" y1="0.762" x2="3.048" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="-3.048" y1="-0.762" x2="-3.048" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="-3.048" y1="0.762" x2="-3.048" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-2.159" x2="1.27" y2="-2.159" width="0.1524" layer="51"/>
+<wire x1="1.27" y1="2.286" x2="-1.27" y2="2.286" width="0.1524" layer="51"/>
+<wire x1="-2.413" y1="1.27" x2="-2.413" y2="0.508" width="0.1524" layer="51"/>
+<wire x1="-2.413" y1="-0.508" x2="-2.413" y2="-1.27" width="0.1524" layer="51"/>
+<wire x1="-2.413" y1="0.508" x2="-2.159" y2="-0.381" width="0.1524" layer="51"/>
+<circle x="0" y="0" radius="1.778" width="0.1524" layer="21"/>
+<circle x="-2.159" y="-2.159" radius="0.508" width="0.1524" layer="51"/>
+<circle x="2.159" y="-2.032" radius="0.508" width="0.1524" layer="51"/>
+<circle x="2.159" y="2.159" radius="0.508" width="0.1524" layer="51"/>
+<circle x="-2.159" y="2.159" radius="0.508" width="0.1524" layer="51"/>
+<circle x="0" y="0" radius="0.635" width="0.0508" layer="51"/>
+<circle x="0" y="0" radius="0.254" width="0.1524" layer="21"/>
+<pad name="1" x="-3.2512" y="2.2606" drill="1.016" shape="long"/>
+<pad name="3" x="-3.2512" y="-2.2606" drill="1.016" shape="long"/>
+<pad name="2" x="3.2512" y="2.2606" drill="1.016" shape="long"/>
+<pad name="4" x="3.2512" y="-2.2606" drill="1.016" shape="long"/>
+<text x="-3.048" y="3.683" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.048" y="-5.08" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-4.318" y="1.651" size="1.27" layer="51" ratio="10">1</text>
+<text x="3.556" y="1.524" size="1.27" layer="51" ratio="10">2</text>
+<text x="-4.572" y="-2.794" size="1.27" layer="51" ratio="10">3</text>
+<text x="3.556" y="-2.794" size="1.27" layer="51" ratio="10">4</text>
+</package>
+</packages>
+</library>
+<library name="rcl">
+<packages>
+<package name="0207/10">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0207, grid 10 mm</description>
+<wire x1="5.08" y1="0" x2="4.064" y2="0" width="0.6096" layer="51"/>
+<wire x1="-5.08" y1="0" x2="-4.064" y2="0" width="0.6096" layer="51"/>
+<wire x1="-3.175" y1="0.889" x2="-2.921" y2="1.143" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-3.175" y1="-0.889" x2="-2.921" y2="-1.143" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.921" y1="-1.143" x2="3.175" y2="-0.889" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.921" y1="1.143" x2="3.175" y2="0.889" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-3.175" y1="-0.889" x2="-3.175" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="-2.921" y1="1.143" x2="-2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="-2.413" y1="1.016" x2="-2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="-2.921" y1="-1.143" x2="-2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="-2.413" y1="-1.016" x2="-2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="1.016" x2="2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="1.016" x2="-2.413" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="-1.016" x2="2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="-1.016" x2="-2.413" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="2.921" y1="1.143" x2="2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="2.921" y1="-1.143" x2="2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="-0.889" x2="3.175" y2="0.889" width="0.1524" layer="21"/>
+<pad name="1" x="-5.08" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="5.08" y="0" drill="0.8128" shape="octagon"/>
+<text x="-3.048" y="1.524" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.2606" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="3.175" y1="-0.3048" x2="4.0386" y2="0.3048" layer="21"/>
+<rectangle x1="-4.0386" y1="-0.3048" x2="-3.175" y2="0.3048" layer="21"/>
+</package>
+</packages>
+</library>
+<library name="RGB LED">
+<packages>
+<package name="RGB_VERTICAL">
+<wire x1="3.175" y1="-1.27" x2="3.175" y2="1.27" width="0.4064" layer="21" curve="-306.869898" cap="flat"/>
+<wire x1="3.175" y1="1.27" x2="3.175" y2="-1.27" width="0.4064" layer="21"/>
+<wire x1="2.54" y1="-1.27" x2="2.54" y2="1.27" width="0.127" layer="21" curve="-292.619865" cap="flat"/>
+<pad name="3" x="0" y="0" drill="0.8" rot="R90"/>
+<pad name="2" x="1.905" y="0" drill="0.8" shape="square" rot="R90"/>
+<pad name="1" x="3.81" y="0" drill="0.8" rot="R90"/>
+<pad name="4" x="-1.905" y="0" drill="0.8" rot="R90"/>
+<text x="3.175" y="2.54" size="1.27" layer="25">&gt;NAME</text>
+<text x="3.175" y="-3.81" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="CodeShield Parts">
+<packages>
+<package name="VERT_POT">
+<wire x1="-4.8" y1="12.5" x2="4.8" y2="12.5" width="0.4064" layer="21"/>
+<wire x1="4.8" y1="12.5" x2="4.8" y2="1" width="0.4064" layer="21"/>
+<wire x1="4.8" y1="1" x2="-4.8" y2="1" width="0.4064" layer="21"/>
+<wire x1="-4.8" y1="1" x2="-4.8" y2="12.5" width="0.4064" layer="21"/>
+<circle x="0" y="7" radius="2.5" width="0.4064" layer="21"/>
+<pad name="2" x="0" y="0" drill="1.1" diameter="1.9304"/>
+<pad name="3" x="2.5" y="0" drill="1.1" diameter="1.9304"/>
+<pad name="1" x="-2.5" y="0" drill="1.1" diameter="1.9304"/>
+<pad name="P$4" x="-4.5" y="7" drill="2" diameter="3.81" shape="square"/>
+<pad name="P$5" x="4.5" y="7" drill="2" diameter="3.81" shape="square"/>
+<text x="-3.5" y="-3.5" size="1.4224" layer="25">&gt;NAME</text>
+</package>
+<package name="TSC_RELAY">
+<wire x1="-6.35" y1="3.81" x2="6.35" y2="3.81" width="0.127" layer="21"/>
+<wire x1="6.35" y1="3.81" x2="6.35" y2="-3.81" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-3.81" x2="-6.35" y2="-3.81" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-3.81" x2="-6.35" y2="3.81" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="2.54" drill="0.8" diameter="1.6764"/>
+<pad name="6" x="-5.08" y="-2.54" drill="0.8" diameter="1.6764"/>
+<pad name="5" x="-2.54" y="-2.54" drill="0.8" diameter="1.6764"/>
+<pad name="2" x="-2.54" y="2.54" drill="0.8" diameter="1.6764"/>
+<pad name="4" x="5.08" y="-2.54" drill="0.8" diameter="1.6764"/>
+<pad name="3" x="5.08" y="2.54" drill="0.8" diameter="1.6764"/>
+<text x="0" y="-6.35" size="1.27" layer="25">&gt;NAME</text>
+</package>
+<package name="TO_92_SHORT">
+<wire x1="-2.54" y1="1.27" x2="2.54" y2="1.27" width="0.127" layer="21"/>
+<wire x1="2.54" y1="1.27" x2="2.54" y2="0" width="0.127" layer="21"/>
+<wire x1="2.54" y1="0" x2="1.27" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="1.27" y1="-1.27" x2="-1.27" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-1.27" y1="-1.27" x2="-2.54" y2="0" width="0.127" layer="21"/>
+<wire x1="-2.54" y1="0" x2="-2.54" y2="1.27" width="0.127" layer="21"/>
+<pad name="V-" x="0" y="0" drill="0.5" shape="long" rot="R90"/>
+<pad name="OUT" x="1.905" y="0" drill="0.5" shape="long" rot="R90"/>
+<pad name="V+" x="-1.905" y="0" drill="0.5" shape="long" rot="R90"/>
+<text x="-2.54" y="-3.81" size="1.27" layer="25">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="varistor">
+<packages>
+<package name="R-5">
+<description>&lt;b&gt;VARISTOR&lt;/b&gt;</description>
+<wire x1="-1.27" y1="0.635" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0" x2="1.778" y2="0" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="0" width="0.1524" layer="21"/>
+<wire x1="-1.778" y1="0" x2="-1.27" y2="0" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="0" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<pad name="1" x="-2.54" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="2.54" y="0" drill="0.8128" shape="octagon"/>
+<text x="-2.54" y="-2.286" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-1.27" y="1.016" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="photo-elements">
+<packages>
+<package name="TO46-VT200">
+<description>&lt;b&gt;Photoconductive Cell&lt;/b&gt; VT200 Series&lt;p&gt;
+Source: http://optoelectronics.perkinelmer.com/content/Datasheets/DTS_vt200seriesdatasheet.pdf</description>
+<wire x1="-0.5" y1="2" x2="-0.5" y2="1.5" width="0.1016" layer="21" curve="180"/>
+<wire x1="-0.5" y1="1.5" x2="1" y2="1.5" width="0.1016" layer="21"/>
+<wire x1="1" y1="1.5" x2="1" y2="1" width="0.1016" layer="21" curve="-180"/>
+<wire x1="1" y1="1" x2="-0.5" y2="1" width="0.1016" layer="21"/>
+<wire x1="-0.5" y1="1" x2="-0.5" y2="0.5" width="0.1016" layer="21" curve="180"/>
+<wire x1="-0.5" y1="0.5" x2="0.25" y2="0.5" width="0.1016" layer="21"/>
+<wire x1="0.25" y1="0.5" x2="0.25" y2="0" width="0.1016" layer="21" curve="-180"/>
+<wire x1="0.25" y1="0" x2="-0.25" y2="0" width="0.1016" layer="21"/>
+<wire x1="-0.25" y1="0" x2="-0.25" y2="-0.5" width="0.1016" layer="21" curve="180"/>
+<wire x1="-0.25" y1="-0.5" x2="0.25" y2="-0.5" width="0.1016" layer="21"/>
+<wire x1="0.25" y1="-0.5" x2="0.25" y2="-1" width="0.1016" layer="21" curve="-180"/>
+<wire x1="0.25" y1="-1" x2="-1" y2="-1" width="0.1016" layer="21"/>
+<wire x1="-1" y1="-1" x2="-1" y2="-1.5" width="0.1016" layer="21" curve="180"/>
+<wire x1="-1" y1="-1.5" x2="0.75" y2="-1.5" width="0.1016" layer="21"/>
+<wire x1="0.75" y1="-1.5" x2="0.75" y2="-2" width="0.1016" layer="21" curve="-180"/>
+<wire x1="0.75" y1="-2" x2="-0.5" y2="-2" width="0.1016" layer="21"/>
+<wire x1="-0.5" y1="-2" x2="-0.75" y2="-2.25" width="0.1016" layer="21" curve="90"/>
+<wire x1="-0.5" y1="2" x2="0.5" y2="2" width="0.1016" layer="21"/>
+<wire x1="0.5" y1="2" x2="0.75" y2="2.25" width="0.1016" layer="21" curve="90"/>
+<circle x="0" y="0" radius="2.8" width="0.2032" layer="21"/>
+<circle x="0" y="0" radius="2.35" width="0.2032" layer="21"/>
+<pad name="1" x="-1.27" y="0" drill="0.8" diameter="1.4"/>
+<pad name="2" x="1.27" y="0" drill="0.8" diameter="1.4"/>
+<text x="-2.25" y="-4.25" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.75" y="3" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+</packages>
+</library>
+<library name="transistor">
+<packages>
+<package name="TO92">
+<description>&lt;b&gt;TO 92&lt;/b&gt;</description>
+<wire x1="-2.0946" y1="-1.651" x2="-2.6549" y2="-0.254" width="0.127" layer="21" curve="-32.78104"/>
+<wire x1="-2.6549" y1="-0.254" x2="-0.7863" y2="2.5485" width="0.127" layer="21" curve="-78.318477"/>
+<wire x1="0.7863" y1="2.5484" x2="2.0945" y2="-1.651" width="0.127" layer="21" curve="-111.09954"/>
+<wire x1="-2.0945" y1="-1.651" x2="2.0945" y2="-1.651" width="0.127" layer="21"/>
+<wire x1="-2.2537" y1="-0.254" x2="-0.2863" y2="-0.254" width="0.127" layer="51"/>
+<wire x1="-2.6549" y1="-0.254" x2="-2.2537" y2="-0.254" width="0.127" layer="21"/>
+<wire x1="-0.2863" y1="-0.254" x2="0.2863" y2="-0.254" width="0.127" layer="21"/>
+<wire x1="2.2537" y1="-0.254" x2="2.6549" y2="-0.254" width="0.127" layer="21"/>
+<wire x1="0.2863" y1="-0.254" x2="2.2537" y2="-0.254" width="0.127" layer="51"/>
+<wire x1="-0.7863" y1="2.5485" x2="0.7863" y2="2.5485" width="0.127" layer="51" curve="-34.293591"/>
+<pad name="1" x="1.27" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="0" y="1.905" drill="0.8128" shape="octagon"/>
+<pad name="3" x="-1.27" y="0" drill="0.8128" shape="octagon"/>
+<text x="3.175" y="0.635" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="3.175" y="-1.27" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-0.635" y="0.635" size="1.27" layer="51" ratio="10">2</text>
+<text x="-2.159" y="0" size="1.27" layer="51" ratio="10">3</text>
+<text x="1.143" y="0" size="1.27" layer="51" ratio="10">1</text>
+</package>
+</packages>
+</library>
+<library name="diode">
+<packages>
+<package name="DO41-10">
+<description>&lt;B&gt;DIODE&lt;/B&gt;&lt;p&gt;
+diameter 2.54 mm, horizontal, grid 10.16 mm</description>
+<wire x1="2.032" y1="-1.27" x2="-2.032" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="2.032" y1="-1.27" x2="2.032" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-2.032" y1="1.27" x2="2.032" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-2.032" y1="1.27" x2="-2.032" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="0" x2="4.064" y2="0" width="0.762" layer="51"/>
+<wire x1="-5.08" y1="0" x2="-4.064" y2="0" width="0.762" layer="51"/>
+<wire x1="-0.635" y1="0" x2="0" y2="0" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="0.635" x2="1.016" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="-0.635" x2="0" y2="0" width="0.1524" layer="21"/>
+<wire x1="0" y1="0" x2="1.524" y2="0" width="0.1524" layer="21"/>
+<wire x1="0" y1="0" x2="1.016" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="0.635" x2="0" y2="0" width="0.1524" layer="21"/>
+<wire x1="0" y1="0" x2="0" y2="-0.635" width="0.1524" layer="21"/>
+<pad name="A" x="5.08" y="0" drill="1.1176"/>
+<pad name="C" x="-5.08" y="0" drill="1.1176"/>
+<text x="-2.032" y="1.651" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.032" y="-2.794" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-1.651" y1="-1.27" x2="-1.143" y2="1.27" layer="21"/>
+<rectangle x1="2.032" y1="-0.381" x2="3.937" y2="0.381" layer="21"/>
+<rectangle x1="-3.937" y1="-0.381" x2="-2.032" y2="0.381" layer="21"/>
+</package>
+</packages>
+</library>
+<library name="con-wago-500">
+<packages>
+<package name="W237-103">
+<description>&lt;b&gt;WAGO SCREW CLAMP&lt;/b&gt;</description>
+<wire x1="4.093" y1="-2.255" x2="5.897" y2="-0.299" width="0.254" layer="51"/>
+<wire x1="-0.911" y1="-2.331" x2="0.994" y2="-0.299" width="0.254" layer="51"/>
+<wire x1="-5.991" y1="-2.306" x2="-3.984" y2="-0.299" width="0.254" layer="51"/>
+<wire x1="-7.489" y1="-5.481" x2="7.497" y2="-5.481" width="0.1524" layer="21"/>
+<wire x1="7.497" y1="3.714" x2="7.497" y2="3.511" width="0.1524" layer="21"/>
+<wire x1="7.497" y1="3.714" x2="-7.489" y2="3.714" width="0.1524" layer="21"/>
+<wire x1="-7.489" y1="-5.481" x2="-7.489" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="-7.489" y1="-3.093" x2="-5.889" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="-5.889" y1="-3.093" x2="-4.111" y2="-3.093" width="0.1524" layer="51"/>
+<wire x1="-4.111" y1="-3.093" x2="-0.885" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="0.893" y1="-3.093" x2="4.119" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="5.897" y1="-3.093" x2="7.497" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="-7.489" y1="-3.093" x2="-7.489" y2="3.511" width="0.1524" layer="21"/>
+<wire x1="7.497" y1="-3.093" x2="7.497" y2="-5.481" width="0.1524" layer="21"/>
+<wire x1="7.497" y1="3.511" x2="-7.489" y2="3.511" width="0.1524" layer="21"/>
+<wire x1="7.497" y1="3.511" x2="7.497" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="-7.489" y1="3.511" x2="-7.489" y2="3.714" width="0.1524" layer="21"/>
+<wire x1="-0.885" y1="-3.093" x2="0.893" y2="-3.093" width="0.1524" layer="51"/>
+<wire x1="4.119" y1="-3.093" x2="5.897" y2="-3.093" width="0.1524" layer="51"/>
+<circle x="-5" y="-1.29" radius="1.4986" width="0.1524" layer="51"/>
+<circle x="5.0076" y="-1.29" radius="1.4986" width="0.1524" layer="51"/>
+<circle x="-5" y="2.1898" radius="0.508" width="0.1524" layer="21"/>
+<circle x="5.0076" y="2.1898" radius="0.508" width="0.1524" layer="21"/>
+<circle x="0.0038" y="-1.29" radius="1.4986" width="0.1524" layer="51"/>
+<circle x="0.0038" y="2.1898" radius="0.508" width="0.1524" layer="21"/>
+<pad name="1" x="-5" y="-1.29" drill="1.1938" shape="long" rot="R90"/>
+<pad name="2" x="0" y="-1.29" drill="1.1938" shape="long" rot="R90"/>
+<pad name="3" x="5" y="-1.29" drill="1.1938" shape="long" rot="R90"/>
+<text x="-6.905" y="0.615" size="1.27" layer="51" ratio="10">1</text>
+<text x="-1.8504" y="0.5642" size="1.27" layer="51" ratio="10">2</text>
+<text x="3.1534" y="0.615" size="1.27" layer="51" ratio="10">3</text>
+<text x="-5.3048" y="-4.9476" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-5.6858" y="-7.4622" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="ohw-logo">
+<packages>
+<package name="OSHW_FILLX150_NOTEXT">
+<wire x1="1.8288" y1="1.0668" x2="1.4478" y2="0.2032" width="0.1524" layer="21"/>
+<wire x1="1.4478" y1="0.2032" x2="1.27" y2="0.3048" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.3048" x2="0.8128" y2="0" width="0.1524" layer="21"/>
+<wire x1="0.8128" y1="0" x2="0.4572" y2="0.3556" width="0.1524" layer="21"/>
+<wire x1="0.4572" y1="0.3556" x2="0.762" y2="0.8128" width="0.1524" layer="21"/>
+<wire x1="0.5588" y1="1.3208" x2="0" y2="1.4224" width="0.1524" layer="21"/>
+<wire x1="0" y1="1.4224" x2="0" y2="1.9304" width="0.1524" layer="21"/>
+<wire x1="0" y1="1.9304" x2="0.5842" y2="2.032" width="0.1524" layer="21"/>
+<wire x1="0.7874" y1="2.5146" x2="0.4572" y2="2.9972" width="0.1524" layer="21"/>
+<wire x1="0.4572" y1="2.9972" x2="0.8128" y2="3.3528" width="0.1524" layer="21"/>
+<wire x1="0.8128" y1="3.3528" x2="1.2954" y2="3.0226" width="0.1524" layer="21"/>
+<wire x1="1.7526" y1="3.2004" x2="1.8796" y2="3.81" width="0.1524" layer="21"/>
+<wire x1="1.8796" y1="3.81" x2="2.3622" y2="3.81" width="0.1524" layer="21"/>
+<wire x1="2.3622" y1="3.81" x2="2.4892" y2="3.2004" width="0.1524" layer="21"/>
+<wire x1="2.9464" y1="3.0226" x2="3.4544" y2="3.3528" width="0.1524" layer="21"/>
+<wire x1="3.4544" y1="3.3528" x2="3.81" y2="2.9972" width="0.1524" layer="21"/>
+<wire x1="3.81" y1="2.9972" x2="3.4544" y2="2.5146" width="0.1524" layer="21"/>
+<wire x1="3.683" y1="2.032" x2="4.2418" y2="1.9304" width="0.1524" layer="21"/>
+<wire x1="4.2418" y1="1.9304" x2="4.2418" y2="1.4224" width="0.1524" layer="21"/>
+<wire x1="4.2418" y1="1.4224" x2="3.683" y2="1.3208" width="0.1524" layer="21"/>
+<wire x1="3.4798" y1="0.8128" x2="3.81" y2="0.3556" width="0.1524" layer="21"/>
+<wire x1="3.81" y1="0.3556" x2="3.4544" y2="0" width="0.1524" layer="21"/>
+<wire x1="3.4544" y1="0" x2="2.9972" y2="0.3048" width="0.1524" layer="21"/>
+<wire x1="2.9972" y1="0.3048" x2="2.794" y2="0.2032" width="0.1524" layer="21"/>
+<wire x1="2.794" y1="0.2032" x2="2.4384" y2="1.0668" width="0.1524" layer="21"/>
+<wire x1="1.8288" y1="1.0668" x2="2.4384" y2="1.0668" width="0.1524" layer="21" curve="-307.809152"/>
+<wire x1="0.7681" y1="0.825" x2="0.5654" y2="1.2802" width="0.1524" layer="21" curve="-18.384503"/>
+<wire x1="0.5796" y1="2.0376" x2="0.7859" y2="2.5141" width="0.1524" layer="21" curve="-18.74246"/>
+<wire x1="1.3015" y1="3.0119" x2="1.7496" y2="3.1933" width="0.1524" layer="21" curve="-17.515118"/>
+<wire x1="2.4892" y1="3.204" x2="2.9444" y2="3.0226" width="0.1524" layer="21" curve="-17.788236"/>
+<wire x1="3.4671" y1="2.5105" x2="3.6876" y2="2.034" width="0.1524" layer="21" curve="-19.769635"/>
+<wire x1="3.6805" y1="1.3228" x2="3.4778" y2="0.8179" width="0.1524" layer="21" curve="-19.717465"/>
+<polygon width="0.1524" layer="21">
+<vertex x="1.397" y="0.381"/>
+<vertex x="1.27" y="0.381"/>
+<vertex x="0.889" y="0.127"/>
+<vertex x="0.635" y="0.381"/>
+<vertex x="0.889" y="0.762"/>
+<vertex x="0.635" y="1.397"/>
+<vertex x="0.127" y="1.524"/>
+<vertex x="0.127" y="1.905"/>
+<vertex x="0.635" y="1.905"/>
+<vertex x="0.889" y="2.54"/>
+<vertex x="0.508" y="3.048"/>
+<vertex x="0.889" y="3.302"/>
+<vertex x="1.27" y="2.921"/>
+<vertex x="1.778" y="3.175"/>
+<vertex x="1.905" y="3.683"/>
+<vertex x="2.286" y="3.683"/>
+<vertex x="2.413" y="3.175"/>
+<vertex x="2.921" y="2.921"/>
+<vertex x="3.429" y="3.302"/>
+<vertex x="3.683" y="3.048"/>
+<vertex x="3.429" y="2.54"/>
+<vertex x="3.683" y="1.905"/>
+<vertex x="4.191" y="1.905"/>
+<vertex x="4.191" y="1.524"/>
+<vertex x="3.556" y="1.397"/>
+<vertex x="3.429" y="0.762"/>
+<vertex x="3.683" y="0.381"/>
+<vertex x="3.429" y="0.127"/>
+<vertex x="3.048" y="0.381"/>
+<vertex x="2.794" y="0.254"/>
+<vertex x="2.54" y="1.016"/>
+<vertex x="2.921" y="1.524"/>
+<vertex x="2.794" y="2.159"/>
+<vertex x="2.286" y="2.413"/>
+<vertex x="1.778" y="2.413"/>
+<vertex x="1.397" y="2.032"/>
+<vertex x="1.397" y="1.27"/>
+<vertex x="1.778" y="1.016"/>
+</polygon>
+</package>
+</packages>
+</library>
+<library name="buzzer">
+<packages>
+<package name="PS1240P02BT">
+<circle x="0" y="0" radius="6.1" width="0.4064" layer="21"/>
+<circle x="0" y="0" radius="0.8" width="0.4064" layer="21"/>
+<pad name="1" x="-2.5" y="0" drill="0.8" diameter="1.9304" shape="octagon"/>
+<pad name="2" x="2.5" y="0" drill="0.8" diameter="1.9304" shape="octagon"/>
+<text x="4.5" y="-6.5" size="1.27" layer="25">&gt;NAME</text>
+</package>
+</packages>
+</library>
+<library name="jumper">
+<description>&lt;b&gt;Jumpers&lt;/b&gt;&lt;p&gt;
+&lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;</description>
+<packages>
+<package name="JP2">
+<description>&lt;b&gt;JUMPER&lt;/b&gt;</description>
+<wire x1="-3.81" y1="-1.016" x2="-3.81" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="3.556" y1="1.27" x2="1.524" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="1.016" x2="1.524" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="3.556" y1="-1.27" x2="1.524" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-1.016" x2="1.524" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="3.556" y1="-1.27" x2="3.81" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="3.556" y1="1.27" x2="3.81" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="3.81" y1="1.016" x2="3.81" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="1.27" x2="1.27" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="1.27" x2="-1.016" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="1.016" x2="-1.016" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-1.524" y1="1.27" x2="-1.27" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="-3.81" y1="1.016" x2="-3.556" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-1.524" y1="1.27" x2="-3.556" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="-1.27" x2="1.27" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-1.016" x2="-1.016" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.524" y1="-1.27" x2="-1.27" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="-3.81" y1="-1.016" x2="-3.556" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="-1.27" x2="-1.016" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.524" y1="-1.27" x2="-3.556" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="-2.54" y="0" drill="0.9144" shape="long" rot="R90"/>
+<pad name="2" x="0" y="0" drill="0.9144" shape="long" rot="R90"/>
+<pad name="3" x="2.54" y="0" drill="0.9144" shape="long" rot="R90"/>
+<text x="-3.556" y="1.651" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.54" y="-2.667" size="0.9906" layer="21" ratio="12">1</text>
+<text x="0" y="-2.667" size="0.9906" layer="21" ratio="12">2</text>
+<text x="2.54" y="-2.667" size="0.9906" layer="21" ratio="12">3</text>
+<text x="-3.556" y="-4.318" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-2.8448" y1="-0.3048" x2="-2.2352" y2="0.3048" layer="51"/>
+<rectangle x1="-0.3048" y1="-0.3048" x2="0.3048" y2="0.3048" layer="51"/>
+<rectangle x1="2.2352" y1="-0.3048" x2="2.8448" y2="0.3048" layer="51"/>
+</package>
+</packages>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<designrules name="default">
+<description language="de">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+Die Standard-Design-Rules sind so gewählt, dass sie für
+die meisten Anwendungen passen. Sollte ihre Platine
+besondere Anforderungen haben, treffen Sie die erforderlichen
+Einstellungen hier und speichern die Design Rules unter
+einem neuen Namen ab.</description>
+<description language="en">&lt;b&gt;EAGLE Design Rules&lt;/b&gt;
+&lt;p&gt;
+The default Design Rules have been set to cover
+a wide range of applications. Your particular design
+may have different requirements, so please make the
+necessary adjustments and save your customized
+design rules under a new name.</description>
+<description language="zh">&lt;b&gt;Seeed Studio EAGLE Design Rules&lt;/b&gt;
+</description>
+<param name="layerSetup" value="(1*16)"/>
+<param name="mtCopper" value="0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm"/>
+<param name="mtIsolate" value="1.5mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm"/>
+<param name="mdWireWire" value="6mil"/>
+<param name="mdWirePad" value="6mil"/>
+<param name="mdWireVia" value="6mil"/>
+<param name="mdPadPad" value="6mil"/>
+<param name="mdPadVia" value="6mil"/>
+<param name="mdViaVia" value="6mil"/>
+<param name="mdSmdPad" value="0mil"/>
+<param name="mdSmdVia" value="0mil"/>
+<param name="mdSmdSmd" value="0mil"/>
+<param name="mdViaViaSameLayer" value="8mil"/>
+<param name="mnLayersViaInSmd" value="2"/>
+<param name="mdCopperDimension" value="10mil"/>
+<param name="mdDrill" value="10mil"/>
+<param name="mdSmdStop" value="0mil"/>
+<param name="msWidth" value="6mil"/>
+<param name="msDrill" value="12mil"/>
+<param name="msMicroVia" value="12mil"/>
+<param name="msBlindViaRatio" value="0.5"/>
+<param name="rvPadTop" value="0.25"/>
+<param name="rvPadInner" value="0.25"/>
+<param name="rvPadBottom" value="0.25"/>
+<param name="rvViaOuter" value="0.25"/>
+<param name="rvViaInner" value="0.25"/>
+<param name="rvMicroViaOuter" value="0.25"/>
+<param name="rvMicroViaInner" value="0.25"/>
+<param name="rlMinPadTop" value="10mil"/>
+<param name="rlMaxPadTop" value="20mil"/>
+<param name="rlMinPadInner" value="10mil"/>
+<param name="rlMaxPadInner" value="20mil"/>
+<param name="rlMinPadBottom" value="10mil"/>
+<param name="rlMaxPadBottom" value="20mil"/>
+<param name="rlMinViaOuter" value="6mil"/>
+<param name="rlMaxViaOuter" value="20mil"/>
+<param name="rlMinViaInner" value="6mil"/>
+<param name="rlMaxViaInner" value="20mil"/>
+<param name="rlMinMicroViaOuter" value="4mil"/>
+<param name="rlMaxMicroViaOuter" value="20mil"/>
+<param name="rlMinMicroViaInner" value="4mil"/>
+<param name="rlMaxMicroViaInner" value="20mil"/>
+<param name="psTop" value="-1"/>
+<param name="psBottom" value="-1"/>
+<param name="psFirst" value="0"/>
+<param name="psElongationLong" value="100"/>
+<param name="psElongationOffset" value="100"/>
+<param name="mvStopFrame" value="1"/>
+<param name="mvCreamFrame" value="0"/>
+<param name="mlMinStopFrame" value="2mil"/>
+<param name="mlMaxStopFrame" value="2mil"/>
+<param name="mlMinCreamFrame" value="0mil"/>
+<param name="mlMaxCreamFrame" value="0mil"/>
+<param name="mlViaStopLimit" value="100mil"/>
+<param name="srRoundness" value="0"/>
+<param name="srMinRoundness" value="0mil"/>
+<param name="srMaxRoundness" value="0mil"/>
+<param name="slThermalIsolate" value="10mil"/>
+<param name="slThermalsForVias" value="0"/>
+<param name="dpMaxLengthDifference" value="10mm"/>
+<param name="dpGapFactor" value="2.5"/>
+<param name="checkGrid" value="0"/>
+<param name="checkAngle" value="0"/>
+<param name="checkFont" value="1"/>
+<param name="checkRestrict" value="0"/>
+<param name="useDiameter" value="13"/>
+<param name="maxErrors" value="50"/>
+</designrules>
+<autorouter>
+<pass name="Default">
+<param name="RoutingGrid" value="50mil"/>
+<param name="tpViaShape" value="round"/>
+<param name="PrefDir.1" value="|"/>
+<param name="PrefDir.2" value="0"/>
+<param name="PrefDir.3" value="0"/>
+<param name="PrefDir.4" value="0"/>
+<param name="PrefDir.5" value="0"/>
+<param name="PrefDir.6" value="0"/>
+<param name="PrefDir.7" value="0"/>
+<param name="PrefDir.8" value="0"/>
+<param name="PrefDir.9" value="0"/>
+<param name="PrefDir.10" value="0"/>
+<param name="PrefDir.11" value="0"/>
+<param name="PrefDir.12" value="0"/>
+<param name="PrefDir.13" value="0"/>
+<param name="PrefDir.14" value="0"/>
+<param name="PrefDir.15" value="0"/>
+<param name="PrefDir.16" value="-"/>
+<param name="cfVia" value="8"/>
+<param name="cfNonPref" value="5"/>
+<param name="cfChangeDir" value="2"/>
+<param name="cfOrthStep" value="2"/>
+<param name="cfDiagStep" value="3"/>
+<param name="cfExtdStep" value="0"/>
+<param name="cfBonusStep" value="1"/>
+<param name="cfMalusStep" value="1"/>
+<param name="cfPadImpact" value="4"/>
+<param name="cfSmdImpact" value="4"/>
+<param name="cfBusImpact" value="0"/>
+<param name="cfHugging" value="3"/>
+<param name="cfAvoid" value="4"/>
+<param name="cfPolygon" value="10"/>
+<param name="cfBase.1" value="0"/>
+<param name="cfBase.2" value="1"/>
+<param name="cfBase.3" value="1"/>
+<param name="cfBase.4" value="1"/>
+<param name="cfBase.5" value="1"/>
+<param name="cfBase.6" value="1"/>
+<param name="cfBase.7" value="1"/>
+<param name="cfBase.8" value="1"/>
+<param name="cfBase.9" value="1"/>
+<param name="cfBase.10" value="1"/>
+<param name="cfBase.11" value="1"/>
+<param name="cfBase.12" value="1"/>
+<param name="cfBase.13" value="1"/>
+<param name="cfBase.14" value="1"/>
+<param name="cfBase.15" value="1"/>
+<param name="cfBase.16" value="0"/>
+<param name="mnVias" value="20"/>
+<param name="mnSegments" value="9999"/>
+<param name="mnExtdSteps" value="9999"/>
+<param name="mnRipupLevel" value="10"/>
+<param name="mnRipupSteps" value="100"/>
+<param name="mnRipupTotal" value="100"/>
+</pass>
+<pass name="Follow-me" refer="Default" active="yes">
+</pass>
+<pass name="Busses" refer="Default" active="yes">
+<param name="cfNonPref" value="4"/>
+<param name="cfBusImpact" value="4"/>
+<param name="cfHugging" value="0"/>
+<param name="mnVias" value="0"/>
+</pass>
+<pass name="Route" refer="Default" active="yes">
+</pass>
+</autorouter>
+<elements>
+<element name="JP1" library="pinhead" package="1X08" value="" x="26.416" y="51.308" smashed="yes" rot="R180">
+<attribute name="VALUE" x="36.576" y="54.483" size="1.27" layer="27" rot="R180"/>
+</element>
+<element name="JP2" library="pinhead" package="1X08" value="" x="48.133" y="51.308" smashed="yes" rot="R180">
+<attribute name="VALUE" x="58.293" y="54.483" size="1.27" layer="27" rot="R180"/>
+</element>
+<element name="JP3" library="pinhead" package="1X06" value="" x="32.893" y="3.175" smashed="yes" rot="R180">
+<attribute name="VALUE" x="40.513" y="6.35" size="1.27" layer="27" rot="R180"/>
+</element>
+<element name="JP4" library="pinhead" package="1X06" value="" x="50.8" y="3.048" smashed="yes" rot="R180">
+<attribute name="VALUE" x="58.42" y="6.223" size="1.27" layer="27" rot="R180"/>
+</element>
+<element name="BUTTON" library="switch-omron" package="B3F-10XX" value="" x="12.7" y="39.624" smashed="yes" rot="R270">
+<attribute name="NAME" x="8.255" y="36.322" size="1.27" layer="25" ratio="10" rot="R90"/>
+<attribute name="VALUE" x="7.62" y="42.672" size="1.27" layer="27" ratio="10" rot="R270"/>
+</element>
+<element name="R6" library="rcl" package="0207/10" value="" x="17.145" y="31.496" smashed="yes" rot="R180">
+<attribute name="NAME" x="8.763" y="30.734" size="1.27" layer="25" ratio="10"/>
+<attribute name="VALUE" x="19.4056" y="32.131" size="1.27" layer="27" ratio="10" rot="R180"/>
+</element>
+<element name="RGB" library="RGB LED" package="RGB_VERTICAL" value="RGB LED" x="11.557" y="50.8" smashed="yes">
+<attribute name="NAME" x="7.874" y="48.514" size="1.27" layer="25" ratio="10" rot="R90"/>
+<attribute name="VALUE" x="14.732" y="46.99" size="1.27" layer="27"/>
+</element>
+<element name="R1" library="rcl" package="0207/10" value="" x="22.606" y="46.99" smashed="yes">
+<attribute name="NAME" x="28.702" y="46.736" size="1.27" layer="25" ratio="10"/>
+<attribute name="VALUE" x="20.3454" y="46.355" size="1.27" layer="27" ratio="10"/>
+</element>
+<element name="R2" library="rcl" package="0207/10" value="" x="22.606" y="44.196" smashed="yes">
+<attribute name="NAME" x="28.702" y="43.942" size="1.27" layer="25" ratio="10"/>
+<attribute name="VALUE" x="20.3454" y="43.561" size="1.27" layer="27" ratio="10"/>
+</element>
+<element name="R3" library="rcl" package="0207/10" value="" x="22.606" y="41.529" smashed="yes">
+<attribute name="NAME" x="28.702" y="41.275" size="1.27" layer="25" ratio="10"/>
+<attribute name="VALUE" x="20.3454" y="40.894" size="1.27" layer="27" ratio="10"/>
+</element>
+<element name="POT" library="CodeShield Parts" package="VERT_POT" value="EVU_POTENTIOMETER" x="16.764" y="15.113" smashed="yes" rot="R180">
+<attribute name="NAME" x="9.708" y="14.661" size="1.27" layer="25" ratio="10"/>
+</element>
+<element name="HALL" library="CodeShield Parts" package="TO_92_SHORT" value="SS49E" x="6.096" y="4.064" smashed="yes" rot="R90">
+<attribute name="NAME" x="3.048" y="6.096" size="1.27" layer="25" rot="R270"/>
+</element>
+<element name="RELAY" library="CodeShield Parts" package="TSC_RELAY" value="TSC_1FORMC" x="44.069" y="36.449" smashed="yes" rot="R270">
+<attribute name="NAME" x="38.735" y="39.243" size="1.27" layer="25" ratio="10" rot="R270"/>
+</element>
+<element name="THERM" library="varistor" package="R-5" value="Thermistor" x="4.826" y="14.859" smashed="yes" rot="R90">
+<attribute name="NAME" x="7.366" y="11.811" size="1.27" layer="25" ratio="10" rot="R90"/>
+<attribute name="VALUE" x="7.112" y="12.319" size="1.27" layer="27" ratio="10" rot="R90"/>
+</element>
+<element name="R7" library="rcl" package="0207/10" value="" x="17.145" y="22.352" smashed="yes">
+<attribute name="NAME" x="9.017" y="21.844" size="1.27" layer="25" ratio="10"/>
+<attribute name="VALUE" x="14.8844" y="21.717" size="1.27" layer="27" ratio="10"/>
+</element>
+<element name="PHOTO" library="photo-elements" package="TO46-VT200" value="CdS Photocell" x="5.08" y="24.638" smashed="yes">
+<attribute name="NAME" x="0.576" y="27.904" size="1.27" layer="25" ratio="10" rot="R270"/>
+<attribute name="VALUE" x="2.33" y="27.638" size="1.27" layer="27"/>
+</element>
+<element name="R8" library="rcl" package="0207/10" value="" x="17.145" y="25.4" smashed="yes">
+<attribute name="NAME" x="9.017" y="24.892" size="1.27" layer="25" ratio="10"/>
+<attribute name="VALUE" x="14.8844" y="24.765" size="1.27" layer="27" ratio="10"/>
+</element>
+<element name="T1" library="transistor" package="TO92" value="2N3904" x="35.814" y="42.672" smashed="yes">
+<attribute name="NAME" x="36.195" y="39.497" size="1.27" layer="25" ratio="10"/>
+<attribute name="VALUE" x="38.989" y="41.402" size="1.27" layer="27" ratio="10"/>
+</element>
+<element name="D1" library="diode" package="DO41-10" value="1N4004" x="41.529" y="28.067" smashed="yes" rot="R180">
+<attribute name="NAME" x="38.989" y="30.48" size="1.27" layer="25" ratio="10" rot="R180"/>
+<attribute name="VALUE" x="43.561" y="30.861" size="1.27" layer="27" ratio="10" rot="R180"/>
+</element>
+<element name="X1" library="con-wago-500" package="W237-103" value="" x="54.356" y="35.306" smashed="yes" rot="R270">
+<attribute name="NAME" x="55.7822" y="43.0838" size="1.27" layer="25" ratio="10"/>
+<attribute name="VALUE" x="49.4084" y="40.6108" size="1.27" layer="27" ratio="10" rot="R270"/>
+</element>
+<element name="R9" library="rcl" package="0207/10" value="" x="46.863" y="45.593" smashed="yes" rot="R180">
+<attribute name="NAME" x="40.767" y="46.101" size="1.27" layer="25" ratio="10" rot="R180"/>
+<attribute name="VALUE" x="49.1236" y="46.228" size="1.27" layer="27" ratio="10" rot="R180"/>
+</element>
+<element name="R10" library="rcl" package="0207/10" value="" x="17.145" y="28.448" smashed="yes">
+<attribute name="NAME" x="8.001" y="27.94" size="1.27" layer="25" ratio="10"/>
+<attribute name="VALUE" x="14.8844" y="27.813" size="1.27" layer="27" ratio="10"/>
+</element>
+<element name="U$1" library="ohw-logo" package="OSHW_FILLX150_NOTEXT" value="" x="49.022" y="21.844"/>
+<element name="PIEZO" library="buzzer" package="PS1240P02BT" value="PS1240P02BT" x="31.75" y="34.544" smashed="yes" rot="R270">
+<attribute name="NAME" x="29.138" y="38.204" size="1.27" layer="25" font="fixed" ratio="10"/>
+</element>
+<element name="SERVO" library="jumper" package="JP2" value="" x="58.674" y="22.86" rot="R90"/>
+</elements>
+<signals>
+<signal name="BUTTON">
+<contactref element="JP1" pad="5"/>
+<contactref element="BUTTON" pad="2"/>
+<contactref element="R6" pad="2"/>
+<contactref element="BUTTON" pad="1"/>
+<wire x1="24.13" y1="47.752" x2="25.146" y2="48.768" width="0.6096" layer="1"/>
+<wire x1="25.146" y1="48.768" x2="25.146" y2="51.308" width="0.6096" layer="1"/>
+<wire x1="12.065" y1="31.496" x2="15.24" y2="31.496" width="0.6096" layer="1"/>
+<wire x1="15.24" y1="31.496" x2="20.701" y2="36.957" width="0.6096" layer="1"/>
+<wire x1="20.701" y1="36.957" x2="24.13" y2="40.386" width="0.6096" layer="1"/>
+<wire x1="24.13" y1="40.386" x2="24.13" y2="47.752" width="0.6096" layer="1"/>
+<wire x1="14.9606" y1="42.8752" x2="14.9606" y2="36.3728" width="0.6096" layer="1"/>
+<wire x1="14.9606" y1="36.3728" x2="15.5448" y2="36.957" width="0.6096" layer="1"/>
+<wire x1="15.5448" y1="36.957" x2="20.701" y2="36.957" width="0.6096" layer="1"/>
+</signal>
+<signal name="RED">
+<contactref element="JP1" pad="4"/>
+<contactref element="R1" pad="2"/>
+<wire x1="27.686" y1="51.308" x2="27.686" y2="46.99" width="0.6096" layer="1"/>
+</signal>
+<signal name="BLUE">
+<contactref element="JP1" pad="3"/>
+<contactref element="R2" pad="2"/>
+<wire x1="27.686" y1="44.196" x2="30.226" y2="46.736" width="0.6096" layer="1"/>
+<wire x1="30.226" y1="46.736" x2="30.226" y2="51.308" width="0.6096" layer="1"/>
+</signal>
+<signal name="GREEN">
+<contactref element="JP1" pad="2"/>
+<contactref element="R3" pad="2"/>
+<wire x1="27.686" y1="41.529" x2="32.766" y2="46.609" width="0.6096" layer="1"/>
+<wire x1="32.766" y1="46.609" x2="32.766" y2="51.308" width="0.6096" layer="1"/>
+</signal>
+<signal name="IR1.2">
+<contactref element="JP1" pad="1"/>
+</signal>
+<signal name="SERVO">
+<contactref element="JP2" pad="6"/>
+<contactref element="SERVO" pad="2"/>
+<wire x1="44.323" y1="51.308" x2="44.45" y2="51.181" width="0.4064" layer="1"/>
+<wire x1="44.45" y1="51.181" x2="44.45" y2="45.72" width="0.6096" layer="1"/>
+<wire x1="44.45" y1="45.72" x2="46.228" y2="43.942" width="0.6096" layer="1"/>
+<wire x1="46.228" y1="43.942" x2="56.896" y2="43.942" width="0.6096" layer="1"/>
+<wire x1="56.896" y1="43.942" x2="60.706" y2="40.132" width="0.6096" layer="1"/>
+<wire x1="60.706" y1="40.132" x2="60.706" y2="23.622" width="0.6096" layer="1"/>
+<wire x1="60.706" y1="23.622" x2="59.944" y2="22.86" width="0.6096" layer="1"/>
+<wire x1="59.944" y1="22.86" x2="58.674" y2="22.86" width="0.6096" layer="1"/>
+</signal>
+<signal name="UNUSED3">
+<contactref element="JP2" pad="5"/>
+</signal>
+<signal name="PIEZO">
+<contactref element="JP2" pad="4"/>
+<contactref element="R10" pad="2"/>
+<wire x1="22.225" y1="28.448" x2="32.512" y2="28.448" width="0.6096" layer="16"/>
+<wire x1="32.512" y1="28.448" x2="35.052" y2="30.988" width="0.6096" layer="16"/>
+<wire x1="35.052" y1="30.988" x2="35.052" y2="38.1" width="0.6096" layer="16"/>
+<wire x1="35.052" y1="38.1" x2="40.64" y2="43.688" width="0.6096" layer="16"/>
+<wire x1="40.64" y1="43.688" x2="46.736" y2="43.688" width="0.6096" layer="16"/>
+<wire x1="49.403" y1="51.308" x2="48.514" y2="50.419" width="0.6096" layer="16"/>
+<wire x1="48.514" y1="50.419" x2="48.514" y2="45.466" width="0.6096" layer="16"/>
+<wire x1="48.514" y1="45.466" x2="46.736" y2="43.688" width="0.6096" layer="16"/>
+</signal>
+<signal name="RELAY">
+<contactref element="JP2" pad="3"/>
+<contactref element="R9" pad="1"/>
+<wire x1="51.943" y1="45.593" x2="51.943" y2="51.308" width="0.6096" layer="1"/>
+</signal>
+<signal name="UNUSED4">
+<contactref element="JP2" pad="2"/>
+</signal>
+<signal name="UNUSED5">
+<contactref element="JP2" pad="1"/>
+</signal>
+<signal name="GND">
+<contactref element="JP3" pad="3"/>
+<contactref element="JP3" pad="2"/>
+<contactref element="JP1" pad="7"/>
+<contactref element="R6" pad="1"/>
+<contactref element="RGB" pad="2"/>
+<contactref element="POT" pad="1"/>
+<contactref element="HALL" pad="V-"/>
+<contactref element="R7" pad="2"/>
+<contactref element="R8" pad="2"/>
+<contactref element="T1" pad="3"/>
+<contactref element="PIEZO" pad="2"/>
+<polygon width="0.6096" layer="16">
+<vertex x="0" y="54.864"/>
+<vertex x="62.357" y="54.61"/>
+<vertex x="62.357" y="-0.254"/>
+<vertex x="0" y="0"/>
+</polygon>
+<wire x1="31.75" y1="32.044" x2="31.202" y2="31.496" width="0.6096" layer="16"/>
+<wire x1="31.202" y1="31.496" x2="22.225" y2="31.496" width="0.6096" layer="16"/>
+<wire x1="34.544" y1="42.672" x2="34.798" y2="42.418" width="0.6096" layer="1"/>
+<wire x1="34.798" y1="42.418" x2="34.798" y2="33.02" width="0.6096" layer="1"/>
+<wire x1="34.798" y1="33.02" x2="33.822" y2="32.044" width="0.6096" layer="1"/>
+<wire x1="33.822" y1="32.044" x2="31.75" y2="32.044" width="0.6096" layer="1"/>
+<wire x1="34.163" y1="3.175" x2="36.703" y2="3.175" width="0.6096" layer="16"/>
+<wire x1="36.703" y1="3.175" x2="36.83" y2="3.302" width="0.254" layer="16"/>
+<wire x1="36.83" y1="3.302" x2="36.83" y2="5.334" width="0.6096" layer="16"/>
+<wire x1="36.83" y1="5.334" x2="37.846" y2="6.35" width="0.6096" layer="16"/>
+<wire x1="37.846" y1="6.35" x2="57.658" y2="6.35" width="0.6096" layer="16"/>
+<wire x1="57.658" y1="6.35" x2="58.828" y2="7.52" width="0.6096" layer="16"/>
+<wire x1="34.544" y1="42.672" x2="34.798" y2="42.418" width="0.6096" layer="16"/>
+<wire x1="34.798" y1="42.418" x2="34.798" y2="40.132" width="0.6096" layer="16"/>
+<wire x1="34.798" y1="40.132" x2="33.782" y2="39.116" width="0.6096" layer="16"/>
+<wire x1="33.782" y1="39.116" x2="22.352" y2="39.116" width="0.6096" layer="16"/>
+<wire x1="22.352" y1="39.116" x2="20.066" y2="41.402" width="0.6096" layer="16"/>
+<wire x1="20.066" y1="41.402" x2="20.066" y2="48.768" width="0.6096" layer="16"/>
+<wire x1="20.066" y1="48.768" x2="20.066" y2="51.308" width="0.6096" layer="16"/>
+<wire x1="22.225" y1="31.496" x2="22.098" y2="31.496" width="0.6096" layer="16"/>
+<wire x1="22.098" y1="31.496" x2="21.844" y2="31.242" width="0.6096" layer="16"/>
+<wire x1="21.844" y1="31.242" x2="18.288" y2="31.242" width="0.6096" layer="16"/>
+<wire x1="18.288" y1="31.242" x2="17.78" y2="30.734" width="0.6096" layer="16"/>
+<wire x1="17.78" y1="30.734" x2="17.78" y2="25.908" width="0.6096" layer="16"/>
+<wire x1="17.78" y1="25.908" x2="18.288" y2="25.4" width="0.6096" layer="16"/>
+<wire x1="18.288" y1="25.4" x2="22.225" y2="25.4" width="0.6096" layer="16"/>
+<wire x1="13.462" y1="50.8" x2="15.494" y2="48.768" width="0.6096" layer="16"/>
+<wire x1="15.494" y1="48.768" x2="20.066" y2="48.768" width="0.6096" layer="16"/>
+<wire x1="19.264" y1="15.113" x2="21.677" y2="17.526" width="0.6096" layer="1"/>
+<wire x1="21.677" y1="17.526" x2="25.4" y2="17.526" width="0.6096" layer="1"/>
+<wire x1="25.4" y1="17.526" x2="33.782" y2="17.526" width="0.6096" layer="1"/>
+<wire x1="33.782" y1="17.526" x2="38.1" y2="13.208" width="0.6096" layer="1"/>
+<wire x1="38.1" y1="13.208" x2="38.1" y2="6.35" width="0.6096" layer="1"/>
+<wire x1="38.1" y1="6.35" x2="36.703" y2="4.953" width="0.6096" layer="1"/>
+<wire x1="36.703" y1="4.953" x2="36.703" y2="3.175" width="0.6096" layer="1"/>
+<contactref element="SERVO" pad="3"/>
+<wire x1="58.674" y1="25.4" x2="55.372" y2="25.4" width="0.6096" layer="1"/>
+<wire x1="55.372" y1="25.4" x2="54.864" y2="24.892" width="0.6096" layer="1"/>
+<wire x1="54.864" y1="24.892" x2="54.864" y2="17.78" width="0.6096" layer="1"/>
+<wire x1="54.864" y1="17.78" x2="58.674" y2="13.97" width="0.6096" layer="1"/>
+<wire x1="58.674" y1="13.97" x2="58.674" y2="11.176" width="0.6096" layer="1"/>
+<via x="58.674" y="11.176" extent="1-16" drill="0.8"/>
+<wire x1="58.674" y1="11.176" x2="58.828" y2="11.022" width="0.4064" layer="16"/>
+<wire x1="58.828" y1="11.022" x2="58.828" y2="7.52" width="0.6096" layer="16"/>
+<wire x1="22.225" y1="25.4" x2="22.225" y2="22.352" width="0.6096" layer="16"/>
+<wire x1="22.225" y1="22.352" x2="22.352" y2="22.225" width="0.6096" layer="16"/>
+<wire x1="22.352" y1="22.225" x2="22.352" y2="18.034" width="0.6096" layer="16"/>
+<wire x1="22.352" y1="18.034" x2="19.431" y2="15.113" width="0.6096" layer="16"/>
+<wire x1="19.431" y1="15.113" x2="19.264" y2="15.113" width="0.6096" layer="16"/>
+<wire x1="6.096" y1="4.064" x2="22.606" y2="4.064" width="0.6096" layer="16"/>
+<wire x1="22.606" y1="4.064" x2="25.654" y2="7.112" width="0.6096" layer="16"/>
+<wire x1="25.654" y1="7.112" x2="25.654" y2="12.192" width="0.6096" layer="16"/>
+<via x="25.654" y="12.192" extent="1-16" drill="0.6"/>
+<wire x1="25.654" y1="12.192" x2="25.4" y2="12.446" width="0.6096" layer="1"/>
+<wire x1="25.4" y1="12.446" x2="25.4" y2="17.526" width="0.6096" layer="1"/>
+</signal>
+<signal name="POTENTIOMETER">
+<contactref element="JP4" pad="4"/>
+<contactref element="POT" pad="2"/>
+<wire x1="16.764" y1="17.78" x2="17.78" y2="18.796" width="0.6096" layer="1"/>
+<wire x1="17.78" y1="18.796" x2="39.37" y2="18.796" width="0.6096" layer="1"/>
+<wire x1="39.37" y1="18.796" x2="49.53" y2="8.636" width="0.6096" layer="1"/>
+<wire x1="49.53" y1="8.636" x2="49.53" y2="3.048" width="0.6096" layer="1"/>
+<wire x1="16.764" y1="17.78" x2="16.764" y2="15.113" width="0.6096" layer="1"/>
+</signal>
+<signal name="HALL_SENSOR">
+<contactref element="JP4" pad="3"/>
+<contactref element="HALL" pad="OUT"/>
+<wire x1="6.096" y1="5.969" x2="6.223" y2="5.842" width="0.6096" layer="1"/>
+<wire x1="6.223" y1="5.842" x2="8.382" y2="5.842" width="0.6096" layer="1"/>
+<wire x1="8.382" y1="5.842" x2="10.16" y2="4.064" width="0.6096" layer="1"/>
+<wire x1="10.16" y1="4.064" x2="22.86" y2="4.064" width="0.6096" layer="1"/>
+<wire x1="22.86" y1="4.064" x2="27.686" y2="8.89" width="0.6096" layer="1"/>
+<wire x1="27.686" y1="8.89" x2="35.56" y2="8.89" width="0.6096" layer="1"/>
+<via x="35.56" y="8.89" extent="1-16" drill="0.8"/>
+<wire x1="35.56" y1="8.89" x2="51.308" y2="8.89" width="0.6096" layer="16"/>
+<via x="51.308" y="8.89" extent="1-16" drill="0.8"/>
+<wire x1="51.308" y1="8.89" x2="52.07" y2="8.128" width="0.6096" layer="1"/>
+<wire x1="52.07" y1="8.128" x2="52.07" y2="3.048" width="0.6096" layer="1"/>
+</signal>
+<signal name="THERMISTOR">
+<contactref element="JP4" pad="2"/>
+<contactref element="THERM" pad="2"/>
+<contactref element="R7" pad="1"/>
+<wire x1="54.61" y1="8.89" x2="54.61" y2="3.048" width="0.6096" layer="1"/>
+<wire x1="39.624" y1="23.876" x2="54.61" y2="8.89" width="0.6096" layer="1"/>
+<wire x1="13.716" y1="23.876" x2="39.624" y2="23.876" width="0.6096" layer="1"/>
+<wire x1="12.065" y1="22.352" x2="13.716" y2="23.876" width="0.6096" layer="1"/>
+<wire x1="12.065" y1="22.352" x2="11.684" y2="21.971" width="0.6096" layer="1"/>
+<wire x1="11.684" y1="21.971" x2="11.684" y2="18.796" width="0.6096" layer="1"/>
+<wire x1="11.684" y1="18.796" x2="10.287" y2="17.399" width="0.6096" layer="1"/>
+<wire x1="10.287" y1="17.399" x2="4.826" y2="17.399" width="0.6096" layer="1"/>
+</signal>
+<signal name="PHOTOCELL">
+<contactref element="JP4" pad="1"/>
+<contactref element="PHOTO" pad="2"/>
+<contactref element="R8" pad="1"/>
+<wire x1="12.065" y1="25.4" x2="13.589" y2="26.924" width="0.6096" layer="1"/>
+<wire x1="13.589" y1="26.924" x2="23.368" y2="26.924" width="0.6096" layer="1"/>
+<wire x1="23.368" y1="26.924" x2="25.146" y2="25.146" width="0.6096" layer="1"/>
+<wire x1="25.146" y1="25.146" x2="40.894" y2="25.146" width="0.6096" layer="1"/>
+<wire x1="57.15" y1="8.89" x2="57.15" y2="3.048" width="0.6096" layer="1"/>
+<wire x1="11.938" y1="25.4" x2="12.065" y2="25.4" width="0.6096" layer="1"/>
+<wire x1="40.894" y1="25.146" x2="57.15" y2="8.89" width="0.6096" layer="1"/>
+<wire x1="11.938" y1="25.4" x2="11.176" y2="24.638" width="0.6096" layer="1"/>
+<wire x1="11.176" y1="24.638" x2="6.35" y2="24.638" width="0.6096" layer="1"/>
+</signal>
+<signal name="+5V">
+<contactref element="BUTTON" pad="4"/>
+<contactref element="BUTTON" pad="3"/>
+<contactref element="JP3" pad="4"/>
+<contactref element="POT" pad="3"/>
+<contactref element="HALL" pad="V+"/>
+<contactref element="THERM" pad="1"/>
+<contactref element="PHOTO" pad="1"/>
+<contactref element="RELAY" pad="2"/>
+<contactref element="D1" pad="C"/>
+<wire x1="46.609" y1="28.067" x2="49.022" y2="30.48" width="0.8128" layer="16"/>
+<wire x1="49.022" y1="30.48" x2="49.022" y2="36.576" width="0.8128" layer="16"/>
+<wire x1="49.022" y1="36.576" x2="46.609" y2="38.989" width="0.8128" layer="16"/>
+<wire x1="46.736" y1="13.97" x2="56.134" y2="13.97" width="0.8128" layer="16"/>
+<wire x1="46.736" y1="27.94" x2="46.609" y2="28.067" width="0.6096" layer="16"/>
+<wire x1="46.736" y1="13.97" x2="46.736" y2="27.94" width="0.8128" layer="16"/>
+<wire x1="14.264" y1="15.113" x2="14.224" y2="15.073" width="0.6096" layer="16"/>
+<wire x1="22.86" y1="13.97" x2="31.75" y2="13.97" width="0.8128" layer="16"/>
+<wire x1="31.75" y1="13.97" x2="46.736" y2="13.97" width="0.8128" layer="16"/>
+<wire x1="31.623" y1="13.843" x2="31.623" y2="3.175" width="0.6096" layer="16"/>
+<wire x1="31.75" y1="13.97" x2="31.623" y2="13.843" width="0.8128" layer="16"/>
+<wire x1="10.4394" y1="36.3728" x2="10.4394" y2="42.8752" width="0.6096" layer="1"/>
+<wire x1="14.224" y1="15.073" x2="16.089" y2="13.208" width="0.8128" layer="16"/>
+<wire x1="16.089" y1="13.208" x2="22.098" y2="13.208" width="0.8128" layer="16"/>
+<wire x1="22.098" y1="13.208" x2="22.86" y2="13.97" width="0.8128" layer="16"/>
+<contactref element="SERVO" pad="1"/>
+<wire x1="56.134" y1="13.97" x2="58.674" y2="16.51" width="0.8128" layer="16"/>
+<wire x1="58.674" y1="16.51" x2="58.674" y2="20.32" width="0.8128" layer="16"/>
+<wire x1="10.4394" y1="36.3728" x2="10.2362" y2="36.576" width="0.6096" layer="1"/>
+<wire x1="10.2362" y1="36.576" x2="4.826" y2="36.576" width="0.6096" layer="1"/>
+<wire x1="4.826" y1="36.576" x2="3.81" y2="35.56" width="0.6096" layer="1"/>
+<wire x1="3.81" y1="35.56" x2="3.81" y2="24.638" width="0.6096" layer="1"/>
+<wire x1="3.81" y1="24.638" x2="3.048" y2="23.876" width="0.6096" layer="1"/>
+<wire x1="3.048" y1="23.876" x2="3.048" y2="12.7" width="0.6096" layer="1"/>
+<wire x1="3.048" y1="12.7" x2="3.429" y2="12.319" width="0.6096" layer="1"/>
+<wire x1="3.429" y1="12.319" x2="4.826" y2="12.319" width="0.6096" layer="1"/>
+<wire x1="4.826" y1="12.319" x2="7.747" y2="15.24" width="0.6096" layer="1"/>
+<wire x1="7.747" y1="15.24" x2="13.716" y2="15.24" width="0.6096" layer="1"/>
+<wire x1="13.716" y1="15.24" x2="13.843" y2="15.113" width="0.6096" layer="1"/>
+<wire x1="13.843" y1="15.113" x2="14.264" y2="15.113" width="0.6096" layer="1"/>
+<wire x1="4.826" y1="12.319" x2="3.81" y2="11.303" width="0.6096" layer="1"/>
+<wire x1="3.81" y1="11.303" x2="3.81" y2="3.302" width="0.6096" layer="1"/>
+<wire x1="3.81" y1="3.302" x2="4.953" y2="2.159" width="0.6096" layer="1"/>
+<wire x1="4.953" y1="2.159" x2="6.096" y2="2.159" width="0.6096" layer="1"/>
+</signal>
+<signal name="N$1">
+<contactref element="RGB" pad="1"/>
+<contactref element="R1" pad="1"/>
+<wire x1="15.367" y1="50.8" x2="15.748" y2="50.419" width="0.6096" layer="1"/>
+<wire x1="15.748" y1="50.419" x2="15.748" y2="48.006" width="0.6096" layer="1"/>
+<wire x1="15.748" y1="48.006" x2="16.764" y2="46.99" width="0.6096" layer="1"/>
+<wire x1="16.764" y1="46.99" x2="17.526" y2="46.99" width="0.6096" layer="1"/>
+</signal>
+<signal name="N$2">
+<contactref element="RGB" pad="3"/>
+<contactref element="R2" pad="1"/>
+<wire x1="11.557" y1="50.8" x2="11.43" y2="50.927" width="0.6096" layer="16"/>
+<wire x1="11.43" y1="50.927" x2="11.43" y2="52.324" width="0.6096" layer="16"/>
+<wire x1="11.43" y1="52.324" x2="10.922" y2="52.832" width="0.6096" layer="16"/>
+<wire x1="10.922" y1="52.832" x2="7.366" y2="52.832" width="0.6096" layer="16"/>
+<wire x1="7.366" y1="52.832" x2="7.112" y2="52.578" width="0.6096" layer="16"/>
+<wire x1="7.112" y1="52.578" x2="7.112" y2="46.736" width="0.6096" layer="16"/>
+<wire x1="7.112" y1="46.736" x2="8.128" y2="45.72" width="0.6096" layer="16"/>
+<wire x1="8.128" y1="45.72" x2="15.494" y2="45.72" width="0.6096" layer="16"/>
+<wire x1="15.494" y1="45.72" x2="17.018" y2="44.196" width="0.6096" layer="16"/>
+<wire x1="17.018" y1="44.196" x2="17.526" y2="44.196" width="0.6096" layer="16"/>
+</signal>
+<signal name="N$3">
+<contactref element="RGB" pad="4"/>
+<contactref element="R3" pad="1"/>
+<wire x1="9.652" y1="50.8" x2="12.7" y2="47.752" width="0.6096" layer="1"/>
+<wire x1="12.7" y1="47.752" x2="12.7" y2="39.624" width="0.6096" layer="1"/>
+<via x="12.7" y="39.624" extent="1-16" drill="0.6"/>
+<wire x1="12.7" y1="39.624" x2="12.954" y2="39.37" width="0.6096" layer="16"/>
+<wire x1="12.954" y1="39.37" x2="17.018" y2="39.37" width="0.6096" layer="16"/>
+<wire x1="17.018" y1="39.37" x2="17.526" y2="39.878" width="0.6096" layer="16"/>
+<wire x1="17.526" y1="39.878" x2="17.526" y2="41.529" width="0.6096" layer="16"/>
+</signal>
+<signal name="+3V3">
+<contactref element="JP3" pad="5"/>
+</signal>
+<signal name="V+">
+<contactref element="JP3" pad="1"/>
+</signal>
+<signal name="N$6">
+<contactref element="RELAY" pad="5"/>
+<contactref element="T1" pad="1"/>
+<contactref element="D1" pad="A"/>
+<wire x1="37.084" y1="38.989" x2="37.084" y2="42.672" width="0.6096" layer="1"/>
+<wire x1="36.449" y1="38.354" x2="37.084" y2="38.989" width="0.6096" layer="1"/>
+<wire x1="36.449" y1="28.067" x2="36.449" y2="38.354" width="0.6096" layer="1"/>
+<wire x1="37.084" y1="38.989" x2="41.529" y2="38.989" width="0.6096" layer="1"/>
+</signal>
+<signal name="N$9">
+<contactref element="RELAY" pad="1"/>
+<contactref element="X1" pad="3"/>
+<wire x1="47.752" y1="42.672" x2="46.609" y2="41.529" width="0.8128" layer="1"/>
+<wire x1="54.356" y1="42.672" x2="47.752" y2="42.672" width="0.8128" layer="1"/>
+<wire x1="56.642" y1="40.386" x2="54.356" y2="42.672" width="0.8128" layer="1"/>
+<wire x1="56.642" y1="31.496" x2="56.642" y2="40.386" width="0.8128" layer="1"/>
+<wire x1="55.452" y1="30.306" x2="56.642" y2="31.496" width="0.8128" layer="1"/>
+<wire x1="53.066" y1="30.306" x2="55.452" y2="30.306" width="0.8128" layer="1"/>
+</signal>
+<signal name="N$10">
+<contactref element="X1" pad="2"/>
+<contactref element="RELAY" pad="3"/>
+<contactref element="RELAY" pad="4"/>
+<wire x1="41.529" y1="31.369" x2="46.609" y2="31.369" width="0.8128" layer="1"/>
+<wire x1="46.609" y1="31.369" x2="49.1744" y2="31.4452" width="0.8128" layer="1"/>
+<wire x1="49.1744" y1="31.4452" x2="53.066" y2="35.306" width="0.8128" layer="1"/>
+</signal>
+<signal name="N$12">
+<contactref element="X1" pad="1"/>
+<contactref element="RELAY" pad="6"/>
+<wire x1="43.053" y1="41.529" x2="41.529" y2="41.529" width="0.8128" layer="1"/>
+<wire x1="43.942" y1="40.64" x2="43.053" y2="41.529" width="0.8128" layer="1"/>
+<wire x1="43.942" y1="37.846" x2="43.942" y2="40.64" width="0.8128" layer="1"/>
+<wire x1="45.212" y1="36.576" x2="43.942" y2="37.846" width="0.8128" layer="1"/>
+<wire x1="45.212" y1="36.576" x2="49.336" y2="36.576" width="0.8128" layer="1"/>
+<wire x1="49.336" y1="36.576" x2="53.066" y2="40.306" width="0.8128" layer="1"/>
+</signal>
+<signal name="N$13">
+<contactref element="T1" pad="2"/>
+<contactref element="R9" pad="2"/>
+<wire x1="36.957" y1="45.593" x2="41.783" y2="45.593" width="0.6096" layer="1"/>
+<wire x1="35.814" y1="44.577" x2="36.957" y2="45.593" width="0.6096" layer="1"/>
+</signal>
+<signal name="N$5">
+<contactref element="JP1" pad="8"/>
+</signal>
+<signal name="N$4">
+<contactref element="R10" pad="1"/>
+<contactref element="PIEZO" pad="1"/>
+<wire x1="31.71" y1="37.044" x2="31.75" y2="37.044" width="0.6096" layer="1"/>
+<wire x1="24.638" y1="29.972" x2="31.71" y2="37.044" width="0.6096" layer="1"/>
+<wire x1="13.589" y1="29.972" x2="24.638" y2="29.972" width="0.6096" layer="1"/>
+<wire x1="12.065" y1="28.448" x2="13.589" y2="29.972" width="0.6096" layer="1"/>
+</signal>
+<signal name="IR2.1">
+<contactref element="JP2" pad="8"/>
+</signal>
+<signal name="IR2.2">
+<contactref element="JP2" pad="7"/>
+</signal>
+<signal name="IR1.1">
+<contactref element="JP1" pad="6"/>
+</signal>
+</signals>
+</board>
+</drawing>
+</eagle>
diff --git a/scilab-arduino/tools/shield/shield-V1p2.jpg b/scilab-arduino/tools/shield/shield-V1p2.jpg
new file mode 100644
index 0000000..1065b10
--- /dev/null
+++ b/scilab-arduino/tools/shield/shield-V1p2.jpg
Binary files differ
diff --git a/scilab-arduino/tools/shield/shield-V1p2.png b/scilab-arduino/tools/shield/shield-V1p2.png
new file mode 100644
index 0000000..3937524
--- /dev/null
+++ b/scilab-arduino/tools/shield/shield-V1p2.png
Binary files differ
diff --git a/scilab-arduino/tools/shield/shield-V1p2.sch b/scilab-arduino/tools/shield/shield-V1p2.sch
new file mode 100644
index 0000000..bec47a7
--- /dev/null
+++ b/scilab-arduino/tools/shield/shield-V1p2.sch
@@ -0,0 +1,4316 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE eagle SYSTEM "eagle.dtd">
+<eagle version="6.5.0">
+<drawing>
+<settings>
+<setting alwaysvectorfont="no"/>
+<setting verticaltext="up"/>
+</settings>
+<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
+<layers>
+<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
+<layer number="2" name="Route2" color="1" fill="3" visible="no" active="no"/>
+<layer number="3" name="Route3" color="4" fill="3" visible="no" active="no"/>
+<layer number="4" name="Route4" color="1" fill="4" visible="no" active="no"/>
+<layer number="5" name="Route5" color="4" fill="4" visible="no" active="no"/>
+<layer number="6" name="Route6" color="1" fill="8" visible="no" active="no"/>
+<layer number="7" name="Route7" color="4" fill="8" visible="no" active="no"/>
+<layer number="8" name="Route8" color="1" fill="2" visible="no" active="no"/>
+<layer number="9" name="Route9" color="4" fill="2" visible="no" active="no"/>
+<layer number="10" name="Route10" color="1" fill="7" visible="no" active="no"/>
+<layer number="11" name="Route11" color="4" fill="7" visible="no" active="no"/>
+<layer number="12" name="Route12" color="1" fill="5" visible="no" active="no"/>
+<layer number="13" name="Route13" color="4" fill="5" visible="no" active="no"/>
+<layer number="14" name="Route14" color="1" fill="6" visible="no" active="no"/>
+<layer number="15" name="Route15" color="4" fill="6" visible="no" active="no"/>
+<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
+<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
+<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
+<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
+<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
+<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
+<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
+<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
+<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
+<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
+<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
+<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
+<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
+<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
+<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
+<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
+<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
+<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
+<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
+<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
+<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
+<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
+<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
+<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
+<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
+<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
+<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
+<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
+<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
+<layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
+<layer number="51" name="tDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="52" name="bDocu" color="7" fill="1" visible="no" active="no"/>
+<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
+<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
+<layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
+<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
+<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
+<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
+<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
+<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
+<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
+<layer number="101" name="Patch_Top" color="12" fill="4" visible="yes" active="yes"/>
+<layer number="102" name="Vscore" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="104" name="Name" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
+<layer number="121" name="_tsilk" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="122" name="_bsilk" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="151" name="HeatSink" color="7" fill="1" visible="yes" active="yes"/>
+<layer number="200" name="200bmp" color="1" fill="10" visible="yes" active="yes"/>
+<layer number="201" name="201bmp" color="2" fill="10" visible="yes" active="yes"/>
+<layer number="202" name="202bmp" color="3" fill="10" visible="yes" active="yes"/>
+<layer number="203" name="203bmp" color="4" fill="10" visible="yes" active="yes"/>
+<layer number="204" name="204bmp" color="5" fill="10" visible="yes" active="yes"/>
+<layer number="205" name="205bmp" color="6" fill="10" visible="yes" active="yes"/>
+<layer number="206" name="206bmp" color="7" fill="10" visible="yes" active="yes"/>
+<layer number="207" name="207bmp" color="8" fill="10" visible="yes" active="yes"/>
+<layer number="208" name="208bmp" color="9" fill="10" visible="yes" active="yes"/>
+<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
+<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
+<layer number="254" name="cooling" color="7" fill="1" visible="yes" active="yes"/>
+</layers>
+<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
+<libraries>
+<library name="pinhead">
+<packages>
+<package name="1X08">
+<description>&lt;b&gt;PIN HEADER&lt;/b&gt;</description>
+<wire x1="5.715" y1="1.27" x2="6.985" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="1.27" x2="7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="0.635" x2="7.62" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="-0.635" x2="6.985" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0.635" x2="3.175" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="1.27" x2="4.445" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="4.445" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="0.635" x2="5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="-0.635" x2="4.445" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="4.445" y1="-1.27" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="-1.27" x2="2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="5.715" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="-0.635" x2="5.715" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="-1.27" x2="5.715" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.905" y1="1.27" x2="-0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="0.635" x2="0" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0" y1="0.635" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="1.905" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="1.905" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0.635" x2="2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="-0.635" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="1.905" y1="-1.27" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="-1.27" x2="0" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="0.635" x2="-4.445" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-4.445" y1="1.27" x2="-3.175" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-3.175" y1="1.27" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="0.635" x2="-2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="-0.635" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-3.175" y1="-1.27" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-4.445" y1="-1.27" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-1.905" y1="1.27" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="-0.635" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="-1.27" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-9.525" y1="1.27" x2="-8.255" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-8.255" y1="1.27" x2="-7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="0.635" x2="-7.62" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="-0.635" x2="-8.255" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="0.635" x2="-6.985" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-6.985" y1="1.27" x2="-5.715" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-5.715" y1="1.27" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="0.635" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="-0.635" x2="-5.715" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-5.715" y1="-1.27" x2="-6.985" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-6.985" y1="-1.27" x2="-7.62" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-10.16" y1="0.635" x2="-10.16" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-9.525" y1="1.27" x2="-10.16" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-10.16" y1="-0.635" x2="-9.525" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-8.255" y1="-1.27" x2="-9.525" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="8.255" y1="1.27" x2="9.525" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="9.525" y1="1.27" x2="10.16" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="10.16" y1="0.635" x2="10.16" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="10.16" y1="-0.635" x2="9.525" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="8.255" y1="1.27" x2="7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="-0.635" x2="8.255" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="9.525" y1="-1.27" x2="8.255" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="-8.89" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="2" x="-6.35" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="3" x="-3.81" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="4" x="-1.27" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="5" x="1.27" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="6" x="3.81" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="7" x="6.35" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="8" x="8.89" y="0" drill="1.016" shape="long" rot="R90"/>
+<text x="-10.2362" y="1.8288" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-10.16" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="6.096" y1="-0.254" x2="6.604" y2="0.254" layer="51"/>
+<rectangle x1="3.556" y1="-0.254" x2="4.064" y2="0.254" layer="51"/>
+<rectangle x1="1.016" y1="-0.254" x2="1.524" y2="0.254" layer="51"/>
+<rectangle x1="-1.524" y1="-0.254" x2="-1.016" y2="0.254" layer="51"/>
+<rectangle x1="-4.064" y1="-0.254" x2="-3.556" y2="0.254" layer="51"/>
+<rectangle x1="-6.604" y1="-0.254" x2="-6.096" y2="0.254" layer="51"/>
+<rectangle x1="-9.144" y1="-0.254" x2="-8.636" y2="0.254" layer="51"/>
+<rectangle x1="8.636" y1="-0.254" x2="9.144" y2="0.254" layer="51"/>
+</package>
+<package name="1X08/90">
+<description>&lt;b&gt;PIN HEADER&lt;/b&gt;</description>
+<wire x1="-10.16" y1="-1.905" x2="-7.62" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="-1.905" x2="-7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="0.635" x2="-10.16" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-10.16" y1="0.635" x2="-10.16" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="-8.89" y1="6.985" x2="-8.89" y2="1.27" width="0.762" layer="21"/>
+<wire x1="-7.62" y1="-1.905" x2="-5.08" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="-1.905" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="0.635" x2="-7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-6.35" y1="6.985" x2="-6.35" y2="1.27" width="0.762" layer="21"/>
+<wire x1="-5.08" y1="-1.905" x2="-2.54" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="-1.905" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="0.635" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-3.81" y1="6.985" x2="-3.81" y2="1.27" width="0.762" layer="21"/>
+<wire x1="-2.54" y1="-1.905" x2="0" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="0" y1="-1.905" x2="0" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="0.635" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="6.985" x2="-1.27" y2="1.27" width="0.762" layer="21"/>
+<wire x1="0" y1="-1.905" x2="2.54" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="-1.905" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0.635" x2="0" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="6.985" x2="1.27" y2="1.27" width="0.762" layer="21"/>
+<wire x1="2.54" y1="-1.905" x2="5.08" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="-1.905" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="0.635" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="3.81" y1="6.985" x2="3.81" y2="1.27" width="0.762" layer="21"/>
+<wire x1="5.08" y1="-1.905" x2="7.62" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="-1.905" x2="7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="0.635" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="6.35" y1="6.985" x2="6.35" y2="1.27" width="0.762" layer="21"/>
+<wire x1="7.62" y1="-1.905" x2="10.16" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="10.16" y1="-1.905" x2="10.16" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="10.16" y1="0.635" x2="7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="8.89" y1="6.985" x2="8.89" y2="1.27" width="0.762" layer="21"/>
+<pad name="1" x="-8.89" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="2" x="-6.35" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="3" x="-3.81" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="4" x="-1.27" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="5" x="1.27" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="6" x="3.81" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="7" x="6.35" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="8" x="8.89" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<text x="-10.795" y="-3.81" size="1.27" layer="25" ratio="10" rot="R90">&gt;NAME</text>
+<text x="12.065" y="-3.81" size="1.27" layer="27" rot="R90">&gt;VALUE</text>
+<rectangle x1="-9.271" y1="0.635" x2="-8.509" y2="1.143" layer="21"/>
+<rectangle x1="-6.731" y1="0.635" x2="-5.969" y2="1.143" layer="21"/>
+<rectangle x1="-4.191" y1="0.635" x2="-3.429" y2="1.143" layer="21"/>
+<rectangle x1="-1.651" y1="0.635" x2="-0.889" y2="1.143" layer="21"/>
+<rectangle x1="0.889" y1="0.635" x2="1.651" y2="1.143" layer="21"/>
+<rectangle x1="3.429" y1="0.635" x2="4.191" y2="1.143" layer="21"/>
+<rectangle x1="5.969" y1="0.635" x2="6.731" y2="1.143" layer="21"/>
+<rectangle x1="8.509" y1="0.635" x2="9.271" y2="1.143" layer="21"/>
+<rectangle x1="-9.271" y1="-2.921" x2="-8.509" y2="-1.905" layer="21"/>
+<rectangle x1="-6.731" y1="-2.921" x2="-5.969" y2="-1.905" layer="21"/>
+<rectangle x1="-4.191" y1="-2.921" x2="-3.429" y2="-1.905" layer="21"/>
+<rectangle x1="-1.651" y1="-2.921" x2="-0.889" y2="-1.905" layer="21"/>
+<rectangle x1="0.889" y1="-2.921" x2="1.651" y2="-1.905" layer="21"/>
+<rectangle x1="3.429" y1="-2.921" x2="4.191" y2="-1.905" layer="21"/>
+<rectangle x1="5.969" y1="-2.921" x2="6.731" y2="-1.905" layer="21"/>
+<rectangle x1="8.509" y1="-2.921" x2="9.271" y2="-1.905" layer="21"/>
+</package>
+<package name="1X06">
+<description>&lt;b&gt;PIN HEADER&lt;/b&gt;</description>
+<wire x1="0.635" y1="1.27" x2="1.905" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="1.905" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0.635" x2="2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="-0.635" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0.635" x2="3.175" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="1.27" x2="4.445" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="4.445" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="0.635" x2="5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="-0.635" x2="4.445" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="4.445" y1="-1.27" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="-1.27" x2="2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="0.635" x2="-1.905" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-1.905" y1="1.27" x2="-0.635" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="0.635" x2="0" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-0.635" y1="-1.27" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.905" y1="-1.27" x2="-2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="0.635" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="-0.635" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="1.905" y1="-1.27" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-6.985" y1="1.27" x2="-5.715" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-5.715" y1="1.27" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="0.635" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="-0.635" x2="-5.715" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="0.635" x2="-4.445" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-4.445" y1="1.27" x2="-3.175" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-3.175" y1="1.27" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="0.635" x2="-2.54" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="-0.635" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-3.175" y1="-1.27" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-4.445" y1="-1.27" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="0.635" x2="-7.62" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-6.985" y1="1.27" x2="-7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="-0.635" x2="-6.985" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-5.715" y1="-1.27" x2="-6.985" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="5.715" y1="1.27" x2="6.985" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="1.27" x2="7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="0.635" x2="7.62" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="-0.635" x2="6.985" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="5.715" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="-0.635" x2="5.715" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="-1.27" x2="5.715" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="-6.35" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="2" x="-3.81" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="3" x="-1.27" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="4" x="1.27" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="5" x="3.81" y="0" drill="1.016" shape="long" rot="R90"/>
+<pad name="6" x="6.35" y="0" drill="1.016" shape="long" rot="R90"/>
+<text x="-7.6962" y="1.8288" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-7.62" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="3.556" y1="-0.254" x2="4.064" y2="0.254" layer="51"/>
+<rectangle x1="1.016" y1="-0.254" x2="1.524" y2="0.254" layer="51"/>
+<rectangle x1="-1.524" y1="-0.254" x2="-1.016" y2="0.254" layer="51"/>
+<rectangle x1="-4.064" y1="-0.254" x2="-3.556" y2="0.254" layer="51"/>
+<rectangle x1="-6.604" y1="-0.254" x2="-6.096" y2="0.254" layer="51"/>
+<rectangle x1="6.096" y1="-0.254" x2="6.604" y2="0.254" layer="51"/>
+</package>
+<package name="1X06/90">
+<description>&lt;b&gt;PIN HEADER&lt;/b&gt;</description>
+<wire x1="-7.62" y1="-1.905" x2="-5.08" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="-1.905" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="0.635" x2="-7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="0.635" x2="-7.62" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="-6.35" y1="6.985" x2="-6.35" y2="1.27" width="0.762" layer="21"/>
+<wire x1="-5.08" y1="-1.905" x2="-2.54" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="-1.905" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="0.635" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-3.81" y1="6.985" x2="-3.81" y2="1.27" width="0.762" layer="21"/>
+<wire x1="-2.54" y1="-1.905" x2="0" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="0" y1="-1.905" x2="0" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="0.635" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="6.985" x2="-1.27" y2="1.27" width="0.762" layer="21"/>
+<wire x1="0" y1="-1.905" x2="2.54" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="-1.905" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0.635" x2="0" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="6.985" x2="1.27" y2="1.27" width="0.762" layer="21"/>
+<wire x1="2.54" y1="-1.905" x2="5.08" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="-1.905" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="0.635" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="3.81" y1="6.985" x2="3.81" y2="1.27" width="0.762" layer="21"/>
+<wire x1="5.08" y1="-1.905" x2="7.62" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="-1.905" x2="7.62" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="7.62" y1="0.635" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="6.35" y1="6.985" x2="6.35" y2="1.27" width="0.762" layer="21"/>
+<pad name="1" x="-6.35" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="2" x="-3.81" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="3" x="-1.27" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="4" x="1.27" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="5" x="3.81" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<pad name="6" x="6.35" y="-3.81" drill="1.016" shape="long" rot="R90"/>
+<text x="-8.255" y="-3.81" size="1.27" layer="25" ratio="10" rot="R90">&gt;NAME</text>
+<text x="9.525" y="-3.81" size="1.27" layer="27" rot="R90">&gt;VALUE</text>
+<rectangle x1="-6.731" y1="0.635" x2="-5.969" y2="1.143" layer="21"/>
+<rectangle x1="-4.191" y1="0.635" x2="-3.429" y2="1.143" layer="21"/>
+<rectangle x1="-1.651" y1="0.635" x2="-0.889" y2="1.143" layer="21"/>
+<rectangle x1="0.889" y1="0.635" x2="1.651" y2="1.143" layer="21"/>
+<rectangle x1="3.429" y1="0.635" x2="4.191" y2="1.143" layer="21"/>
+<rectangle x1="5.969" y1="0.635" x2="6.731" y2="1.143" layer="21"/>
+<rectangle x1="-6.731" y1="-2.921" x2="-5.969" y2="-1.905" layer="21"/>
+<rectangle x1="-4.191" y1="-2.921" x2="-3.429" y2="-1.905" layer="21"/>
+<rectangle x1="-1.651" y1="-2.921" x2="-0.889" y2="-1.905" layer="21"/>
+<rectangle x1="0.889" y1="-2.921" x2="1.651" y2="-1.905" layer="21"/>
+<rectangle x1="3.429" y1="-2.921" x2="4.191" y2="-1.905" layer="21"/>
+<rectangle x1="5.969" y1="-2.921" x2="6.731" y2="-1.905" layer="21"/>
+</package>
+</packages>
+<symbols>
+<symbol name="PINHD8">
+<wire x1="-6.35" y1="-10.16" x2="1.27" y2="-10.16" width="0.4064" layer="94"/>
+<wire x1="1.27" y1="-10.16" x2="1.27" y2="12.7" width="0.4064" layer="94"/>
+<wire x1="1.27" y1="12.7" x2="-6.35" y2="12.7" width="0.4064" layer="94"/>
+<wire x1="-6.35" y1="12.7" x2="-6.35" y2="-10.16" width="0.4064" layer="94"/>
+<text x="-6.35" y="13.335" size="1.778" layer="95">&gt;NAME</text>
+<text x="-6.35" y="-12.7" size="1.778" layer="96">&gt;VALUE</text>
+<pin name="1" x="-2.54" y="10.16" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="2" x="-2.54" y="7.62" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="3" x="-2.54" y="5.08" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="4" x="-2.54" y="2.54" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="5" x="-2.54" y="0" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="6" x="-2.54" y="-2.54" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="7" x="-2.54" y="-5.08" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="8" x="-2.54" y="-7.62" visible="pad" length="short" direction="pas" function="dot"/>
+</symbol>
+<symbol name="PINHD6">
+<wire x1="-6.35" y1="-7.62" x2="1.27" y2="-7.62" width="0.4064" layer="94"/>
+<wire x1="1.27" y1="-7.62" x2="1.27" y2="10.16" width="0.4064" layer="94"/>
+<wire x1="1.27" y1="10.16" x2="-6.35" y2="10.16" width="0.4064" layer="94"/>
+<wire x1="-6.35" y1="10.16" x2="-6.35" y2="-7.62" width="0.4064" layer="94"/>
+<text x="-6.35" y="10.795" size="1.778" layer="95">&gt;NAME</text>
+<text x="-6.35" y="-10.16" size="1.778" layer="96">&gt;VALUE</text>
+<pin name="1" x="-2.54" y="7.62" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="2" x="-2.54" y="5.08" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="3" x="-2.54" y="2.54" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="4" x="-2.54" y="0" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="5" x="-2.54" y="-2.54" visible="pad" length="short" direction="pas" function="dot"/>
+<pin name="6" x="-2.54" y="-5.08" visible="pad" length="short" direction="pas" function="dot"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="PINHD-1X8" prefix="JP" uservalue="yes">
+<description>&lt;b&gt;PIN HEADER&lt;/b&gt;</description>
+<gates>
+<gate name="A" symbol="PINHD8" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="1X08">
+<connects>
+<connect gate="A" pin="1" pad="1"/>
+<connect gate="A" pin="2" pad="2"/>
+<connect gate="A" pin="3" pad="3"/>
+<connect gate="A" pin="4" pad="4"/>
+<connect gate="A" pin="5" pad="5"/>
+<connect gate="A" pin="6" pad="6"/>
+<connect gate="A" pin="7" pad="7"/>
+<connect gate="A" pin="8" pad="8"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="/90" package="1X08/90">
+<connects>
+<connect gate="A" pin="1" pad="1"/>
+<connect gate="A" pin="2" pad="2"/>
+<connect gate="A" pin="3" pad="3"/>
+<connect gate="A" pin="4" pad="4"/>
+<connect gate="A" pin="5" pad="5"/>
+<connect gate="A" pin="6" pad="6"/>
+<connect gate="A" pin="7" pad="7"/>
+<connect gate="A" pin="8" pad="8"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="PINHD-1X6" prefix="JP" uservalue="yes">
+<description>&lt;b&gt;PIN HEADER&lt;/b&gt;</description>
+<gates>
+<gate name="A" symbol="PINHD6" x="0" y="-2.54"/>
+</gates>
+<devices>
+<device name="" package="1X06">
+<connects>
+<connect gate="A" pin="1" pad="1"/>
+<connect gate="A" pin="2" pad="2"/>
+<connect gate="A" pin="3" pad="3"/>
+<connect gate="A" pin="4" pad="4"/>
+<connect gate="A" pin="5" pad="5"/>
+<connect gate="A" pin="6" pad="6"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="/90" package="1X06/90">
+<connects>
+<connect gate="A" pin="1" pad="1"/>
+<connect gate="A" pin="2" pad="2"/>
+<connect gate="A" pin="3" pad="3"/>
+<connect gate="A" pin="4" pad="4"/>
+<connect gate="A" pin="5" pad="5"/>
+<connect gate="A" pin="6" pad="6"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="switch-omron">
+<packages>
+<package name="B3F-10XX">
+<description>&lt;b&gt;OMRON SWITCH&lt;/b&gt;</description>
+<wire x1="3.302" y1="-0.762" x2="3.048" y2="-0.762" width="0.1524" layer="21"/>
+<wire x1="3.302" y1="-0.762" x2="3.302" y2="0.762" width="0.1524" layer="21"/>
+<wire x1="3.048" y1="0.762" x2="3.302" y2="0.762" width="0.1524" layer="21"/>
+<wire x1="3.048" y1="1.016" x2="3.048" y2="2.54" width="0.1524" layer="51"/>
+<wire x1="-3.302" y1="0.762" x2="-3.048" y2="0.762" width="0.1524" layer="21"/>
+<wire x1="-3.302" y1="0.762" x2="-3.302" y2="-0.762" width="0.1524" layer="21"/>
+<wire x1="-3.048" y1="-0.762" x2="-3.302" y2="-0.762" width="0.1524" layer="21"/>
+<wire x1="3.048" y1="2.54" x2="2.54" y2="3.048" width="0.1524" layer="51"/>
+<wire x1="2.54" y1="-3.048" x2="3.048" y2="-2.54" width="0.1524" layer="51"/>
+<wire x1="3.048" y1="-2.54" x2="3.048" y2="-1.016" width="0.1524" layer="51"/>
+<wire x1="-2.54" y1="3.048" x2="-3.048" y2="2.54" width="0.1524" layer="51"/>
+<wire x1="-3.048" y1="2.54" x2="-3.048" y2="1.016" width="0.1524" layer="51"/>
+<wire x1="-2.54" y1="-3.048" x2="-3.048" y2="-2.54" width="0.1524" layer="51"/>
+<wire x1="-3.048" y1="-2.54" x2="-3.048" y2="-1.016" width="0.1524" layer="51"/>
+<wire x1="-1.27" y1="1.27" x2="-1.27" y2="-1.27" width="0.0508" layer="51"/>
+<wire x1="1.27" y1="-1.27" x2="-1.27" y2="-1.27" width="0.0508" layer="51"/>
+<wire x1="1.27" y1="-1.27" x2="1.27" y2="1.27" width="0.0508" layer="51"/>
+<wire x1="-1.27" y1="1.27" x2="1.27" y2="1.27" width="0.0508" layer="51"/>
+<wire x1="-1.27" y1="3.048" x2="-1.27" y2="2.794" width="0.0508" layer="21"/>
+<wire x1="1.27" y1="2.794" x2="-1.27" y2="2.794" width="0.0508" layer="21"/>
+<wire x1="1.27" y1="2.794" x2="1.27" y2="3.048" width="0.0508" layer="21"/>
+<wire x1="1.143" y1="-2.794" x2="-1.27" y2="-2.794" width="0.0508" layer="21"/>
+<wire x1="1.143" y1="-2.794" x2="1.143" y2="-3.048" width="0.0508" layer="21"/>
+<wire x1="-1.27" y1="-2.794" x2="-1.27" y2="-3.048" width="0.0508" layer="21"/>
+<wire x1="2.54" y1="-3.048" x2="2.159" y2="-3.048" width="0.1524" layer="51"/>
+<wire x1="-2.54" y1="-3.048" x2="-2.159" y2="-3.048" width="0.1524" layer="51"/>
+<wire x1="-2.159" y1="-3.048" x2="-1.27" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="3.048" x2="-2.159" y2="3.048" width="0.1524" layer="51"/>
+<wire x1="2.54" y1="3.048" x2="2.159" y2="3.048" width="0.1524" layer="51"/>
+<wire x1="2.159" y1="3.048" x2="1.27" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="3.048" x2="-1.27" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="3.048" x2="-2.159" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-3.048" x2="1.143" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="1.143" y1="-3.048" x2="2.159" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="3.048" y1="-0.762" x2="3.048" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="3.048" y1="0.762" x2="3.048" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="-3.048" y1="-0.762" x2="-3.048" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="-3.048" y1="0.762" x2="-3.048" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-2.159" x2="1.27" y2="-2.159" width="0.1524" layer="51"/>
+<wire x1="1.27" y1="2.286" x2="-1.27" y2="2.286" width="0.1524" layer="51"/>
+<wire x1="-2.413" y1="1.27" x2="-2.413" y2="0.508" width="0.1524" layer="51"/>
+<wire x1="-2.413" y1="-0.508" x2="-2.413" y2="-1.27" width="0.1524" layer="51"/>
+<wire x1="-2.413" y1="0.508" x2="-2.159" y2="-0.381" width="0.1524" layer="51"/>
+<circle x="0" y="0" radius="1.778" width="0.1524" layer="21"/>
+<circle x="-2.159" y="-2.159" radius="0.508" width="0.1524" layer="51"/>
+<circle x="2.159" y="-2.032" radius="0.508" width="0.1524" layer="51"/>
+<circle x="2.159" y="2.159" radius="0.508" width="0.1524" layer="51"/>
+<circle x="-2.159" y="2.159" radius="0.508" width="0.1524" layer="51"/>
+<circle x="0" y="0" radius="0.635" width="0.0508" layer="51"/>
+<circle x="0" y="0" radius="0.254" width="0.1524" layer="21"/>
+<pad name="1" x="-3.2512" y="2.2606" drill="1.016" shape="long"/>
+<pad name="3" x="-3.2512" y="-2.2606" drill="1.016" shape="long"/>
+<pad name="2" x="3.2512" y="2.2606" drill="1.016" shape="long"/>
+<pad name="4" x="3.2512" y="-2.2606" drill="1.016" shape="long"/>
+<text x="-3.048" y="3.683" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.048" y="-5.08" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-4.318" y="1.651" size="1.27" layer="51" ratio="10">1</text>
+<text x="3.556" y="1.524" size="1.27" layer="51" ratio="10">2</text>
+<text x="-4.572" y="-2.794" size="1.27" layer="51" ratio="10">3</text>
+<text x="3.556" y="-2.794" size="1.27" layer="51" ratio="10">4</text>
+</package>
+</packages>
+<symbols>
+<symbol name="TS2">
+<wire x1="0" y1="1.905" x2="0" y2="2.54" width="0.254" layer="94"/>
+<wire x1="-4.445" y1="1.905" x2="-3.175" y2="1.905" width="0.254" layer="94"/>
+<wire x1="-4.445" y1="-1.905" x2="-3.175" y2="-1.905" width="0.254" layer="94"/>
+<wire x1="-4.445" y1="1.905" x2="-4.445" y2="0" width="0.254" layer="94"/>
+<wire x1="-4.445" y1="0" x2="-4.445" y2="-1.905" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="0" x2="-1.905" y2="0" width="0.1524" layer="94"/>
+<wire x1="-1.27" y1="0" x2="-0.635" y2="0" width="0.1524" layer="94"/>
+<wire x1="-4.445" y1="0" x2="-3.175" y2="0" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="2.54" x2="0" y2="2.54" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="-2.54" x2="0" y2="-2.54" width="0.1524" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.27" y2="1.905" width="0.254" layer="94"/>
+<circle x="0" y="-2.54" radius="0.127" width="0.4064" layer="94"/>
+<circle x="0" y="2.54" radius="0.127" width="0.4064" layer="94"/>
+<text x="-6.35" y="-2.54" size="1.778" layer="95" rot="R90">&gt;NAME</text>
+<text x="-3.81" y="3.175" size="1.778" layer="96" rot="R90">&gt;VALUE</text>
+<pin name="P" x="0" y="-5.08" visible="pad" length="short" direction="pas" swaplevel="2" rot="R90"/>
+<pin name="S" x="0" y="5.08" visible="pad" length="short" direction="pas" swaplevel="1" rot="R270"/>
+<pin name="S1" x="2.54" y="5.08" visible="pad" length="short" direction="pas" swaplevel="1" rot="R270"/>
+<pin name="P1" x="2.54" y="-5.08" visible="pad" length="short" direction="pas" swaplevel="2" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="10-XX" prefix="S" uservalue="yes">
+<description>&lt;b&gt;OMRON SWITCH&lt;/b&gt;</description>
+<gates>
+<gate name="1" symbol="TS2" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="B3F-10XX">
+<connects>
+<connect gate="1" pin="P" pad="3"/>
+<connect gate="1" pin="P1" pad="4"/>
+<connect gate="1" pin="S" pad="1"/>
+<connect gate="1" pin="S1" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="supply1">
+<packages>
+</packages>
+<symbols>
+<symbol name="+3V3">
+<wire x1="1.27" y1="-1.905" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="-1.905" width="0.254" layer="94"/>
+<text x="-2.54" y="-5.08" size="1.778" layer="96" rot="R90">&gt;VALUE</text>
+<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="+5V">
+<wire x1="1.27" y1="-1.905" x2="0" y2="0" width="0.254" layer="94"/>
+<wire x1="0" y1="0" x2="-1.27" y2="-1.905" width="0.254" layer="94"/>
+<text x="-2.54" y="-5.08" size="1.778" layer="96" rot="R90">&gt;VALUE</text>
+<pin name="+5V" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+<symbol name="GND">
+<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
+<text x="-2.54" y="-2.54" size="1.778" layer="96">&gt;VALUE</text>
+<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
+</symbol>
+<symbol name="V+">
+<wire x1="0.889" y1="-1.27" x2="0" y2="0.127" width="0.254" layer="94"/>
+<wire x1="0" y1="0.127" x2="-0.889" y2="-1.27" width="0.254" layer="94"/>
+<wire x1="-0.889" y1="-1.27" x2="0.889" y2="-1.27" width="0.254" layer="94"/>
+<text x="-2.54" y="-2.54" size="1.778" layer="96" rot="R90">&gt;VALUE</text>
+<pin name="V+" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="+3V3" prefix="+3V3">
+<description>&lt;b&gt;SUPPLY SYMBOL&lt;/b&gt;</description>
+<gates>
+<gate name="G$1" symbol="+3V3" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="+5V" prefix="P+">
+<description>&lt;b&gt;SUPPLY SYMBOL&lt;/b&gt;</description>
+<gates>
+<gate name="1" symbol="+5V" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="GND" prefix="GND">
+<description>&lt;b&gt;SUPPLY SYMBOL&lt;/b&gt;</description>
+<gates>
+<gate name="1" symbol="GND" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="V+" prefix="P+">
+<description>&lt;b&gt;SUPPLY SYMBOL&lt;/b&gt;</description>
+<gates>
+<gate name="1" symbol="V+" x="0" y="0"/>
+</gates>
+<devices>
+<device name="">
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="rcl">
+<packages>
+<package name="R0402">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="-0.245" y1="0.224" x2="0.245" y2="0.224" width="0.1524" layer="51"/>
+<wire x1="0.245" y1="-0.224" x2="-0.245" y2="-0.224" width="0.1524" layer="51"/>
+<wire x1="-1.473" y1="0.483" x2="1.473" y2="0.483" width="0.0508" layer="39"/>
+<wire x1="1.473" y1="0.483" x2="1.473" y2="-0.483" width="0.0508" layer="39"/>
+<wire x1="1.473" y1="-0.483" x2="-1.473" y2="-0.483" width="0.0508" layer="39"/>
+<wire x1="-1.473" y1="-0.483" x2="-1.473" y2="0.483" width="0.0508" layer="39"/>
+<smd name="1" x="-0.65" y="0" dx="0.7" dy="0.9" layer="1"/>
+<smd name="2" x="0.65" y="0" dx="0.7" dy="0.9" layer="1"/>
+<text x="-0.635" y="0.635" size="1.27" layer="25">&gt;NAME</text>
+<text x="-0.635" y="-1.905" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-0.554" y1="-0.3048" x2="-0.254" y2="0.2951" layer="51"/>
+<rectangle x1="0.2588" y1="-0.3048" x2="0.5588" y2="0.2951" layer="51"/>
+<rectangle x1="-0.1999" y1="-0.4001" x2="0.1999" y2="0.4001" layer="35"/>
+</package>
+<package name="R0603">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="-0.432" y1="-0.356" x2="0.432" y2="-0.356" width="0.1524" layer="51"/>
+<wire x1="0.432" y1="0.356" x2="-0.432" y2="0.356" width="0.1524" layer="51"/>
+<wire x1="-1.473" y1="0.983" x2="1.473" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="1.473" y1="0.983" x2="1.473" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="1.473" y1="-0.983" x2="-1.473" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-1.473" y1="-0.983" x2="-1.473" y2="0.983" width="0.0508" layer="39"/>
+<smd name="1" x="-0.85" y="0" dx="1" dy="1.1" layer="1"/>
+<smd name="2" x="0.85" y="0" dx="1" dy="1.1" layer="1"/>
+<text x="-0.635" y="0.635" size="1.27" layer="25">&gt;NAME</text>
+<text x="-0.635" y="-1.905" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="0.4318" y1="-0.4318" x2="0.8382" y2="0.4318" layer="51"/>
+<rectangle x1="-0.8382" y1="-0.4318" x2="-0.4318" y2="0.4318" layer="51"/>
+<rectangle x1="-0.1999" y1="-0.4001" x2="0.1999" y2="0.4001" layer="35"/>
+</package>
+<package name="R0805">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;</description>
+<wire x1="-0.41" y1="0.635" x2="0.41" y2="0.635" width="0.1524" layer="51"/>
+<wire x1="-0.41" y1="-0.635" x2="0.41" y2="-0.635" width="0.1524" layer="51"/>
+<wire x1="-1.973" y1="0.983" x2="1.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="0.983" x2="1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="-0.983" x2="-1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-1.973" y1="-0.983" x2="-1.973" y2="0.983" width="0.0508" layer="39"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="-0.635" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-0.635" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="0.4064" y1="-0.6985" x2="1.0564" y2="0.7015" layer="51"/>
+<rectangle x1="-1.0668" y1="-0.6985" x2="-0.4168" y2="0.7015" layer="51"/>
+<rectangle x1="-0.1999" y1="-0.5001" x2="0.1999" y2="0.5001" layer="35"/>
+</package>
+<package name="R0805W">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt; wave soldering&lt;p&gt;</description>
+<wire x1="-0.41" y1="0.635" x2="0.41" y2="0.635" width="0.1524" layer="51"/>
+<wire x1="-0.41" y1="-0.635" x2="0.41" y2="-0.635" width="0.1524" layer="51"/>
+<wire x1="-1.973" y1="0.983" x2="1.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="0.983" x2="1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="-0.983" x2="-1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-1.973" y1="-0.983" x2="-1.973" y2="0.983" width="0.0508" layer="39"/>
+<smd name="1" x="-1.0525" y="0" dx="1.5" dy="1" layer="1"/>
+<smd name="2" x="1.0525" y="0" dx="1.5" dy="1" layer="1"/>
+<text x="-0.635" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-0.635" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="0.4064" y1="-0.6985" x2="1.0564" y2="0.7015" layer="51"/>
+<rectangle x1="-1.0668" y1="-0.6985" x2="-0.4168" y2="0.7015" layer="51"/>
+<rectangle x1="-0.1999" y1="-0.5001" x2="0.1999" y2="0.5001" layer="35"/>
+</package>
+<package name="R1005">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="-0.245" y1="0.224" x2="0.245" y2="0.224" width="0.1524" layer="51"/>
+<wire x1="0.245" y1="-0.224" x2="-0.245" y2="-0.224" width="0.1524" layer="51"/>
+<wire x1="-1.473" y1="0.483" x2="1.473" y2="0.483" width="0.0508" layer="39"/>
+<wire x1="1.473" y1="0.483" x2="1.473" y2="-0.483" width="0.0508" layer="39"/>
+<wire x1="1.473" y1="-0.483" x2="-1.473" y2="-0.483" width="0.0508" layer="39"/>
+<wire x1="-1.473" y1="-0.483" x2="-1.473" y2="0.483" width="0.0508" layer="39"/>
+<smd name="1" x="-0.65" y="0" dx="0.7" dy="0.9" layer="1"/>
+<smd name="2" x="0.65" y="0" dx="0.7" dy="0.9" layer="1"/>
+<text x="-0.635" y="0.635" size="1.27" layer="25">&gt;NAME</text>
+<text x="-0.635" y="-1.905" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-0.554" y1="-0.3048" x2="-0.254" y2="0.2951" layer="51"/>
+<rectangle x1="0.2588" y1="-0.3048" x2="0.5588" y2="0.2951" layer="51"/>
+<rectangle x1="-0.1999" y1="-0.3" x2="0.1999" y2="0.3" layer="35"/>
+</package>
+<package name="R1206">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="0.9525" y1="-0.8128" x2="-0.9652" y2="-0.8128" width="0.1524" layer="51"/>
+<wire x1="0.9525" y1="0.8128" x2="-0.9652" y2="0.8128" width="0.1524" layer="51"/>
+<wire x1="-2.473" y1="0.983" x2="2.473" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="0.983" x2="2.473" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="-0.983" x2="-2.473" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-2.473" y1="-0.983" x2="-2.473" y2="0.983" width="0.0508" layer="39"/>
+<smd name="2" x="1.422" y="0" dx="1.6" dy="1.803" layer="1"/>
+<smd name="1" x="-1.422" y="0" dx="1.6" dy="1.803" layer="1"/>
+<text x="-1.27" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.6891" y1="-0.8763" x2="-0.9525" y2="0.8763" layer="51"/>
+<rectangle x1="0.9525" y1="-0.8763" x2="1.6891" y2="0.8763" layer="51"/>
+<rectangle x1="-0.3" y1="-0.7" x2="0.3" y2="0.7" layer="35"/>
+</package>
+<package name="R1206W">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+wave soldering</description>
+<wire x1="-0.913" y1="0.8" x2="0.888" y2="0.8" width="0.1524" layer="51"/>
+<wire x1="-0.913" y1="-0.8" x2="0.888" y2="-0.8" width="0.1524" layer="51"/>
+<wire x1="-2.473" y1="0.983" x2="2.473" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="0.983" x2="2.473" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="-0.983" x2="-2.473" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-2.473" y1="-0.983" x2="-2.473" y2="0.983" width="0.0508" layer="39"/>
+<smd name="1" x="-1.499" y="0" dx="1.8" dy="1.2" layer="1"/>
+<smd name="2" x="1.499" y="0" dx="1.8" dy="1.2" layer="1"/>
+<text x="-1.905" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.905" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.651" y1="-0.8763" x2="-0.9009" y2="0.8738" layer="51"/>
+<rectangle x1="0.889" y1="-0.8763" x2="1.6391" y2="0.8738" layer="51"/>
+<rectangle x1="-0.3" y1="-0.7" x2="0.3" y2="0.7" layer="35"/>
+</package>
+<package name="R1210">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="-0.913" y1="1.219" x2="0.939" y2="1.219" width="0.1524" layer="51"/>
+<wire x1="-0.913" y1="-1.219" x2="0.939" y2="-1.219" width="0.1524" layer="51"/>
+<wire x1="-2.473" y1="1.483" x2="2.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="1.483" x2="2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="-1.483" x2="-2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-2.473" y1="-1.483" x2="-2.473" y2="1.483" width="0.0508" layer="39"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2.7" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2.7" layer="1"/>
+<text x="-2.54" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.651" y1="-1.3081" x2="-0.9009" y2="1.2918" layer="51"/>
+<rectangle x1="0.9144" y1="-1.3081" x2="1.6645" y2="1.2918" layer="51"/>
+<rectangle x1="-0.3" y1="-0.8999" x2="0.3" y2="0.8999" layer="35"/>
+</package>
+<package name="R1210W">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+wave soldering</description>
+<wire x1="-0.913" y1="1.219" x2="0.939" y2="1.219" width="0.1524" layer="51"/>
+<wire x1="-0.913" y1="-1.219" x2="0.939" y2="-1.219" width="0.1524" layer="51"/>
+<wire x1="-2.473" y1="1.483" x2="2.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="1.483" x2="2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="-1.483" x2="-2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-2.473" y1="-1.483" x2="-2.473" y2="1.483" width="0.0508" layer="39"/>
+<smd name="1" x="-1.499" y="0" dx="1.8" dy="1.8" layer="1"/>
+<smd name="2" x="1.499" y="0" dx="1.8" dy="1.8" layer="1"/>
+<text x="-2.54" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.651" y1="-1.3081" x2="-0.9009" y2="1.2918" layer="51"/>
+<rectangle x1="0.9144" y1="-1.3081" x2="1.6645" y2="1.2918" layer="51"/>
+<rectangle x1="-0.3" y1="-0.8001" x2="0.3" y2="0.8001" layer="35"/>
+</package>
+<package name="R2010">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="-1.662" y1="1.245" x2="1.662" y2="1.245" width="0.1524" layer="51"/>
+<wire x1="-1.637" y1="-1.245" x2="1.687" y2="-1.245" width="0.1524" layer="51"/>
+<wire x1="-3.473" y1="1.483" x2="3.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="3.473" y1="1.483" x2="3.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="3.473" y1="-1.483" x2="-3.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-3.473" y1="-1.483" x2="-3.473" y2="1.483" width="0.0508" layer="39"/>
+<smd name="1" x="-2.2" y="0" dx="1.8" dy="2.7" layer="1"/>
+<smd name="2" x="2.2" y="0" dx="1.8" dy="2.7" layer="1"/>
+<text x="-3.175" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-3.175" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-2.4892" y1="-1.3208" x2="-1.6393" y2="1.3292" layer="51"/>
+<rectangle x1="1.651" y1="-1.3208" x2="2.5009" y2="1.3292" layer="51"/>
+</package>
+<package name="R2010W">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+wave soldering</description>
+<wire x1="-1.662" y1="1.245" x2="1.662" y2="1.245" width="0.1524" layer="51"/>
+<wire x1="-1.637" y1="-1.245" x2="1.687" y2="-1.245" width="0.1524" layer="51"/>
+<wire x1="-3.473" y1="1.483" x2="3.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="3.473" y1="1.483" x2="3.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="3.473" y1="-1.483" x2="-3.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-3.473" y1="-1.483" x2="-3.473" y2="1.483" width="0.0508" layer="39"/>
+<smd name="1" x="-2.311" y="0" dx="2" dy="1.8" layer="1"/>
+<smd name="2" x="2.311" y="0" dx="2" dy="1.8" layer="1"/>
+<text x="-2.54" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-2.4892" y1="-1.3208" x2="-1.6393" y2="1.3292" layer="51"/>
+<rectangle x1="1.651" y1="-1.3208" x2="2.5009" y2="1.3292" layer="51"/>
+</package>
+<package name="R2012">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="-0.41" y1="0.635" x2="0.41" y2="0.635" width="0.1524" layer="51"/>
+<wire x1="-0.41" y1="-0.635" x2="0.41" y2="-0.635" width="0.1524" layer="51"/>
+<wire x1="-1.973" y1="0.983" x2="1.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="0.983" x2="1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="-0.983" x2="-1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-1.973" y1="-0.983" x2="-1.973" y2="0.983" width="0.0508" layer="39"/>
+<smd name="1" x="-0.85" y="0" dx="1.3" dy="1.5" layer="1"/>
+<smd name="2" x="0.85" y="0" dx="1.3" dy="1.5" layer="1"/>
+<text x="-0.635" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-0.635" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="0.4064" y1="-0.6985" x2="1.0564" y2="0.7015" layer="51"/>
+<rectangle x1="-1.0668" y1="-0.6985" x2="-0.4168" y2="0.7015" layer="51"/>
+<rectangle x1="-0.1001" y1="-0.5999" x2="0.1001" y2="0.5999" layer="35"/>
+</package>
+<package name="R2012W">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+wave soldering</description>
+<wire x1="-0.41" y1="0.635" x2="0.41" y2="0.635" width="0.1524" layer="51"/>
+<wire x1="-0.41" y1="-0.635" x2="0.41" y2="-0.635" width="0.1524" layer="51"/>
+<wire x1="-1.973" y1="0.983" x2="1.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="0.983" x2="1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="-0.983" x2="-1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-1.973" y1="-0.983" x2="-1.973" y2="0.983" width="0.0508" layer="39"/>
+<smd name="1" x="-0.94" y="0" dx="1.5" dy="1" layer="1"/>
+<smd name="2" x="0.94" y="0" dx="1.5" dy="1" layer="1"/>
+<text x="-0.635" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-0.635" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="0.4064" y1="-0.6985" x2="1.0564" y2="0.7015" layer="51"/>
+<rectangle x1="-1.0668" y1="-0.6985" x2="-0.4168" y2="0.7015" layer="51"/>
+<rectangle x1="-0.1001" y1="-0.5999" x2="0.1001" y2="0.5999" layer="35"/>
+</package>
+<package name="R2512">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="-2.362" y1="1.473" x2="2.387" y2="1.473" width="0.1524" layer="51"/>
+<wire x1="-2.362" y1="-1.473" x2="2.387" y2="-1.473" width="0.1524" layer="51"/>
+<wire x1="-3.973" y1="1.983" x2="3.973" y2="1.983" width="0.0508" layer="39"/>
+<wire x1="3.973" y1="1.983" x2="3.973" y2="-1.983" width="0.0508" layer="39"/>
+<wire x1="3.973" y1="-1.983" x2="-3.973" y2="-1.983" width="0.0508" layer="39"/>
+<wire x1="-3.973" y1="-1.983" x2="-3.973" y2="1.983" width="0.0508" layer="39"/>
+<smd name="1" x="-2.8" y="0" dx="1.8" dy="3.2" layer="1"/>
+<smd name="2" x="2.8" y="0" dx="1.8" dy="3.2" layer="1"/>
+<text x="-2.54" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-3.2004" y1="-1.5494" x2="-2.3505" y2="1.5507" layer="51"/>
+<rectangle x1="2.3622" y1="-1.5494" x2="3.2121" y2="1.5507" layer="51"/>
+<rectangle x1="-0.5001" y1="-1" x2="0.5001" y2="1" layer="35"/>
+</package>
+<package name="R2512W">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+wave soldering</description>
+<wire x1="-2.362" y1="1.473" x2="2.387" y2="1.473" width="0.1524" layer="51"/>
+<wire x1="-2.362" y1="-1.473" x2="2.387" y2="-1.473" width="0.1524" layer="51"/>
+<wire x1="-3.973" y1="1.983" x2="3.973" y2="1.983" width="0.0508" layer="39"/>
+<wire x1="3.973" y1="1.983" x2="3.973" y2="-1.983" width="0.0508" layer="39"/>
+<wire x1="3.973" y1="-1.983" x2="-3.973" y2="-1.983" width="0.0508" layer="39"/>
+<wire x1="-3.973" y1="-1.983" x2="-3.973" y2="1.983" width="0.0508" layer="39"/>
+<smd name="1" x="-2.896" y="0" dx="2" dy="2.1" layer="1"/>
+<smd name="2" x="2.896" y="0" dx="2" dy="2.1" layer="1"/>
+<text x="-1.905" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.905" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-3.2004" y1="-1.5494" x2="-2.3505" y2="1.5507" layer="51"/>
+<rectangle x1="2.3622" y1="-1.5494" x2="3.2121" y2="1.5507" layer="51"/>
+<rectangle x1="-0.5001" y1="-1" x2="0.5001" y2="1" layer="35"/>
+</package>
+<package name="R3216">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="-0.913" y1="0.8" x2="0.888" y2="0.8" width="0.1524" layer="51"/>
+<wire x1="-0.913" y1="-0.8" x2="0.888" y2="-0.8" width="0.1524" layer="51"/>
+<wire x1="-2.473" y1="0.983" x2="2.473" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="0.983" x2="2.473" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="-0.983" x2="-2.473" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-2.473" y1="-0.983" x2="-2.473" y2="0.983" width="0.0508" layer="39"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
+<text x="-1.905" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.905" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.651" y1="-0.8763" x2="-0.9009" y2="0.8738" layer="51"/>
+<rectangle x1="0.889" y1="-0.8763" x2="1.6391" y2="0.8738" layer="51"/>
+<rectangle x1="-0.3" y1="-0.7" x2="0.3" y2="0.7" layer="35"/>
+</package>
+<package name="R3216W">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+wave soldering</description>
+<wire x1="-0.913" y1="0.8" x2="0.888" y2="0.8" width="0.1524" layer="51"/>
+<wire x1="-0.913" y1="-0.8" x2="0.888" y2="-0.8" width="0.1524" layer="51"/>
+<wire x1="-2.473" y1="0.983" x2="2.473" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="0.983" x2="2.473" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="-0.983" x2="-2.473" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-2.473" y1="-0.983" x2="-2.473" y2="0.983" width="0.0508" layer="39"/>
+<smd name="1" x="-1.499" y="0" dx="1.8" dy="1.2" layer="1"/>
+<smd name="2" x="1.499" y="0" dx="1.8" dy="1.2" layer="1"/>
+<text x="-1.905" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.905" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.651" y1="-0.8763" x2="-0.9009" y2="0.8738" layer="51"/>
+<rectangle x1="0.889" y1="-0.8763" x2="1.6391" y2="0.8738" layer="51"/>
+<rectangle x1="-0.3" y1="-0.7" x2="0.3" y2="0.7" layer="35"/>
+</package>
+<package name="R3225">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="-0.913" y1="1.219" x2="0.939" y2="1.219" width="0.1524" layer="51"/>
+<wire x1="-0.913" y1="-1.219" x2="0.939" y2="-1.219" width="0.1524" layer="51"/>
+<wire x1="-2.473" y1="1.483" x2="2.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="1.483" x2="2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="-1.483" x2="-2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-2.473" y1="-1.483" x2="-2.473" y2="1.483" width="0.0508" layer="39"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2.7" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2.7" layer="1"/>
+<text x="-2.54" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.651" y1="-1.3081" x2="-0.9009" y2="1.2918" layer="51"/>
+<rectangle x1="0.9144" y1="-1.3081" x2="1.6645" y2="1.2918" layer="51"/>
+<rectangle x1="-0.3" y1="-1" x2="0.3" y2="1" layer="35"/>
+</package>
+<package name="R3225W">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+wave soldering</description>
+<wire x1="-0.913" y1="1.219" x2="0.939" y2="1.219" width="0.1524" layer="51"/>
+<wire x1="-0.913" y1="-1.219" x2="0.939" y2="-1.219" width="0.1524" layer="51"/>
+<wire x1="-2.473" y1="1.483" x2="2.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="1.483" x2="2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="-1.483" x2="-2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-2.473" y1="-1.483" x2="-2.473" y2="1.483" width="0.0508" layer="39"/>
+<smd name="1" x="-1.499" y="0" dx="1.8" dy="1.8" layer="1"/>
+<smd name="2" x="1.499" y="0" dx="1.8" dy="1.8" layer="1"/>
+<text x="-1.905" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.905" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.651" y1="-1.3081" x2="-0.9009" y2="1.2918" layer="51"/>
+<rectangle x1="0.9144" y1="-1.3081" x2="1.6645" y2="1.2918" layer="51"/>
+<rectangle x1="-0.3" y1="-1" x2="0.3" y2="1" layer="35"/>
+</package>
+<package name="R5025">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;</description>
+<wire x1="-1.662" y1="1.245" x2="1.662" y2="1.245" width="0.1524" layer="51"/>
+<wire x1="-1.637" y1="-1.245" x2="1.687" y2="-1.245" width="0.1524" layer="51"/>
+<wire x1="-3.473" y1="1.483" x2="3.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="3.473" y1="1.483" x2="3.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="3.473" y1="-1.483" x2="-3.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-3.473" y1="-1.483" x2="-3.473" y2="1.483" width="0.0508" layer="39"/>
+<smd name="1" x="-2.2" y="0" dx="1.8" dy="2.7" layer="1"/>
+<smd name="2" x="2.2" y="0" dx="1.8" dy="2.7" layer="1"/>
+<text x="-3.175" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-3.175" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-2.4892" y1="-1.3208" x2="-1.6393" y2="1.3292" layer="51"/>
+<rectangle x1="1.651" y1="-1.3208" x2="2.5009" y2="1.3292" layer="51"/>
+<rectangle x1="-0.5001" y1="-1" x2="0.5001" y2="1" layer="35"/>
+</package>
+<package name="R5025W">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+wave soldering</description>
+<wire x1="-1.662" y1="1.245" x2="1.662" y2="1.245" width="0.1524" layer="51"/>
+<wire x1="-1.637" y1="-1.245" x2="1.687" y2="-1.245" width="0.1524" layer="51"/>
+<wire x1="-3.473" y1="1.483" x2="3.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="3.473" y1="1.483" x2="3.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="3.473" y1="-1.483" x2="-3.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-3.473" y1="-1.483" x2="-3.473" y2="1.483" width="0.0508" layer="39"/>
+<smd name="1" x="-2.311" y="0" dx="2" dy="1.8" layer="1"/>
+<smd name="2" x="2.311" y="0" dx="2" dy="1.8" layer="1"/>
+<text x="-3.175" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-3.175" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-2.4892" y1="-1.3208" x2="-1.6393" y2="1.3292" layer="51"/>
+<rectangle x1="1.651" y1="-1.3208" x2="2.5009" y2="1.3292" layer="51"/>
+<rectangle x1="-0.5001" y1="-1" x2="0.5001" y2="1" layer="35"/>
+</package>
+<package name="R6332">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+Source: http://download.siliconexpert.com/pdfs/2005/02/24/Semi_Ap/2/VSH/Resistor/dcrcwfre.pdf</description>
+<wire x1="-2.362" y1="1.473" x2="2.387" y2="1.473" width="0.1524" layer="51"/>
+<wire x1="-2.362" y1="-1.473" x2="2.387" y2="-1.473" width="0.1524" layer="51"/>
+<wire x1="-3.973" y1="1.983" x2="3.973" y2="1.983" width="0.0508" layer="39"/>
+<wire x1="3.973" y1="1.983" x2="3.973" y2="-1.983" width="0.0508" layer="39"/>
+<wire x1="3.973" y1="-1.983" x2="-3.973" y2="-1.983" width="0.0508" layer="39"/>
+<wire x1="-3.973" y1="-1.983" x2="-3.973" y2="1.983" width="0.0508" layer="39"/>
+<smd name="1" x="-3.1" y="0" dx="1" dy="3.2" layer="1"/>
+<smd name="2" x="3.1" y="0" dx="1" dy="3.2" layer="1"/>
+<text x="-2.54" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-3.2004" y1="-1.5494" x2="-2.3505" y2="1.5507" layer="51"/>
+<rectangle x1="2.3622" y1="-1.5494" x2="3.2121" y2="1.5507" layer="51"/>
+<rectangle x1="-0.5001" y1="-1" x2="0.5001" y2="1" layer="35"/>
+</package>
+<package name="R6332W">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt; wave soldering&lt;p&gt;
+Source: http://download.siliconexpert.com/pdfs/2005/02/24/Semi_Ap/2/VSH/Resistor/dcrcwfre.pdf</description>
+<wire x1="-2.362" y1="1.473" x2="2.387" y2="1.473" width="0.1524" layer="51"/>
+<wire x1="-2.362" y1="-1.473" x2="2.387" y2="-1.473" width="0.1524" layer="51"/>
+<wire x1="-3.973" y1="1.983" x2="3.973" y2="1.983" width="0.0508" layer="39"/>
+<wire x1="3.973" y1="1.983" x2="3.973" y2="-1.983" width="0.0508" layer="39"/>
+<wire x1="3.973" y1="-1.983" x2="-3.973" y2="-1.983" width="0.0508" layer="39"/>
+<wire x1="-3.973" y1="-1.983" x2="-3.973" y2="1.983" width="0.0508" layer="39"/>
+<smd name="1" x="-3.196" y="0" dx="1.2" dy="3.2" layer="1"/>
+<smd name="2" x="3.196" y="0" dx="1.2" dy="3.2" layer="1"/>
+<text x="-2.54" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-3.175" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-3.2004" y1="-1.5494" x2="-2.3505" y2="1.5507" layer="51"/>
+<rectangle x1="2.3622" y1="-1.5494" x2="3.2121" y2="1.5507" layer="51"/>
+<rectangle x1="-0.5001" y1="-1" x2="0.5001" y2="1" layer="35"/>
+</package>
+<package name="M0805">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+MELF 0.10 W</description>
+<wire x1="-1.973" y1="0.983" x2="1.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="-0.983" x2="-1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-1.973" y1="-0.983" x2="-1.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="0.983" x2="1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="0.7112" y1="0.635" x2="-0.7112" y2="0.635" width="0.1524" layer="51"/>
+<wire x1="0.7112" y1="-0.635" x2="-0.7112" y2="-0.635" width="0.1524" layer="51"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.6" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.6" layer="1"/>
+<text x="-1.27" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.0414" y1="-0.7112" x2="-0.6858" y2="0.7112" layer="51"/>
+<rectangle x1="0.6858" y1="-0.7112" x2="1.0414" y2="0.7112" layer="51"/>
+<rectangle x1="-0.1999" y1="-0.5999" x2="0.1999" y2="0.5999" layer="35"/>
+</package>
+<package name="M1206">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+MELF 0.25 W</description>
+<wire x1="-2.473" y1="1.483" x2="2.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="-1.483" x2="-2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-2.473" y1="-1.483" x2="-2.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="1.483" x2="2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="1.143" y1="0.8382" x2="-1.143" y2="0.8382" width="0.1524" layer="51"/>
+<wire x1="1.143" y1="-0.8382" x2="-1.143" y2="-0.8382" width="0.1524" layer="51"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="-1.27" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.7018" y1="-0.9144" x2="-1.1176" y2="0.9144" layer="51"/>
+<rectangle x1="1.1176" y1="-0.9144" x2="1.7018" y2="0.9144" layer="51"/>
+<rectangle x1="-0.3" y1="-0.8001" x2="0.3" y2="0.8001" layer="35"/>
+</package>
+<package name="M1406">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+MELF 0.12 W</description>
+<wire x1="-2.973" y1="0.983" x2="2.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="2.973" y1="-0.983" x2="-2.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-2.973" y1="-0.983" x2="-2.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="2.973" y1="0.983" x2="2.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="1.3208" y1="0.762" x2="-1.3208" y2="0.762" width="0.1524" layer="51"/>
+<wire x1="1.3208" y1="-0.762" x2="-1.3208" y2="-0.762" width="0.1524" layer="51"/>
+<smd name="1" x="-1.7" y="0" dx="1.4" dy="1.8" layer="1"/>
+<smd name="2" x="1.7" y="0" dx="1.4" dy="1.8" layer="1"/>
+<text x="-1.27" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.8542" y1="-0.8382" x2="-1.2954" y2="0.8382" layer="51"/>
+<rectangle x1="1.2954" y1="-0.8382" x2="1.8542" y2="0.8382" layer="51"/>
+<rectangle x1="-0.3" y1="-0.7" x2="0.3" y2="0.7" layer="35"/>
+</package>
+<package name="M2012">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+MELF 0.10 W</description>
+<wire x1="-1.973" y1="0.983" x2="1.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="-0.983" x2="-1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-1.973" y1="-0.983" x2="-1.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="1.973" y1="0.983" x2="1.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="0.7112" y1="0.635" x2="-0.7112" y2="0.635" width="0.1524" layer="51"/>
+<wire x1="0.7112" y1="-0.635" x2="-0.7112" y2="-0.635" width="0.1524" layer="51"/>
+<smd name="1" x="-0.95" y="0" dx="1.3" dy="1.6" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="1.3" dy="1.6" layer="1"/>
+<text x="-1.27" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.0414" y1="-0.7112" x2="-0.6858" y2="0.7112" layer="51"/>
+<rectangle x1="0.6858" y1="-0.7112" x2="1.0414" y2="0.7112" layer="51"/>
+<rectangle x1="-0.1999" y1="-0.5999" x2="0.1999" y2="0.5999" layer="35"/>
+</package>
+<package name="M2309">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+MELF 0.25 W</description>
+<wire x1="-4.473" y1="1.483" x2="4.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="4.473" y1="-1.483" x2="-4.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-4.473" y1="-1.483" x2="-4.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="4.473" y1="1.483" x2="4.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="2.413" y1="1.1684" x2="-2.4384" y2="1.1684" width="0.1524" layer="51"/>
+<wire x1="2.413" y1="-1.1684" x2="-2.413" y2="-1.1684" width="0.1524" layer="51"/>
+<smd name="1" x="-2.85" y="0" dx="1.5" dy="2.6" layer="1"/>
+<smd name="2" x="2.85" y="0" dx="1.5" dy="2.6" layer="1"/>
+<text x="-1.905" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-3.048" y1="-1.2446" x2="-2.3876" y2="1.2446" layer="51"/>
+<rectangle x1="2.3876" y1="-1.2446" x2="3.048" y2="1.2446" layer="51"/>
+<rectangle x1="-0.5001" y1="-1" x2="0.5001" y2="1" layer="35"/>
+</package>
+<package name="M3216">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+MELF 0.25 W</description>
+<wire x1="-2.473" y1="1.483" x2="2.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="-1.483" x2="-2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-2.473" y1="-1.483" x2="-2.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="2.473" y1="1.483" x2="2.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="1.143" y1="0.8382" x2="-1.143" y2="0.8382" width="0.1524" layer="51"/>
+<wire x1="1.143" y1="-0.8382" x2="-1.143" y2="-0.8382" width="0.1524" layer="51"/>
+<smd name="1" x="-1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<smd name="2" x="1.4" y="0" dx="1.6" dy="2" layer="1"/>
+<text x="-1.27" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.7018" y1="-0.9144" x2="-1.1176" y2="0.9144" layer="51"/>
+<rectangle x1="1.1176" y1="-0.9144" x2="1.7018" y2="0.9144" layer="51"/>
+<rectangle x1="-0.3" y1="-0.8001" x2="0.3" y2="0.8001" layer="35"/>
+</package>
+<package name="M3516">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+MELF 0.12 W</description>
+<wire x1="-2.973" y1="0.983" x2="2.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="2.973" y1="-0.983" x2="-2.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="-2.973" y1="-0.983" x2="-2.973" y2="0.983" width="0.0508" layer="39"/>
+<wire x1="2.973" y1="0.983" x2="2.973" y2="-0.983" width="0.0508" layer="39"/>
+<wire x1="1.3208" y1="0.762" x2="-1.3208" y2="0.762" width="0.1524" layer="51"/>
+<wire x1="1.3208" y1="-0.762" x2="-1.3208" y2="-0.762" width="0.1524" layer="51"/>
+<smd name="1" x="-1.7" y="0" dx="1.4" dy="1.8" layer="1"/>
+<smd name="2" x="1.7" y="0" dx="1.4" dy="1.8" layer="1"/>
+<text x="-1.27" y="1.27" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.8542" y1="-0.8382" x2="-1.2954" y2="0.8382" layer="51"/>
+<rectangle x1="1.2954" y1="-0.8382" x2="1.8542" y2="0.8382" layer="51"/>
+<rectangle x1="-0.4001" y1="-0.7" x2="0.4001" y2="0.7" layer="35"/>
+</package>
+<package name="M5923">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+MELF 0.25 W</description>
+<wire x1="-4.473" y1="1.483" x2="4.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="4.473" y1="-1.483" x2="-4.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="-4.473" y1="-1.483" x2="-4.473" y2="1.483" width="0.0508" layer="39"/>
+<wire x1="4.473" y1="1.483" x2="4.473" y2="-1.483" width="0.0508" layer="39"/>
+<wire x1="2.413" y1="1.1684" x2="-2.4384" y2="1.1684" width="0.1524" layer="51"/>
+<wire x1="2.413" y1="-1.1684" x2="-2.413" y2="-1.1684" width="0.1524" layer="51"/>
+<smd name="1" x="-2.85" y="0" dx="1.5" dy="2.6" layer="1"/>
+<smd name="2" x="2.85" y="0" dx="1.5" dy="2.6" layer="1"/>
+<text x="-1.905" y="1.905" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-3.048" y1="-1.2446" x2="-2.3876" y2="1.2446" layer="51"/>
+<rectangle x1="2.3876" y1="-1.2446" x2="3.048" y2="1.2446" layer="51"/>
+<rectangle x1="-0.5001" y1="-1" x2="0.5001" y2="1" layer="35"/>
+</package>
+<package name="0204/5">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0204, grid 5 mm</description>
+<wire x1="2.54" y1="0" x2="2.032" y2="0" width="0.508" layer="51"/>
+<wire x1="-2.54" y1="0" x2="-2.032" y2="0" width="0.508" layer="51"/>
+<wire x1="-1.778" y1="0.635" x2="-1.524" y2="0.889" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-1.778" y1="-0.635" x2="-1.524" y2="-0.889" width="0.1524" layer="21" curve="90"/>
+<wire x1="1.524" y1="-0.889" x2="1.778" y2="-0.635" width="0.1524" layer="21" curve="90"/>
+<wire x1="1.524" y1="0.889" x2="1.778" y2="0.635" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-1.778" y1="-0.635" x2="-1.778" y2="0.635" width="0.1524" layer="51"/>
+<wire x1="-1.524" y1="0.889" x2="-1.27" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="-1.143" y1="0.762" x2="-1.27" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="-1.524" y1="-0.889" x2="-1.27" y2="-0.889" width="0.1524" layer="21"/>
+<wire x1="-1.143" y1="-0.762" x2="-1.27" y2="-0.889" width="0.1524" layer="21"/>
+<wire x1="1.143" y1="0.762" x2="1.27" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="1.143" y1="0.762" x2="-1.143" y2="0.762" width="0.1524" layer="21"/>
+<wire x1="1.143" y1="-0.762" x2="1.27" y2="-0.889" width="0.1524" layer="21"/>
+<wire x1="1.143" y1="-0.762" x2="-1.143" y2="-0.762" width="0.1524" layer="21"/>
+<wire x1="1.524" y1="0.889" x2="1.27" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="1.524" y1="-0.889" x2="1.27" y2="-0.889" width="0.1524" layer="21"/>
+<wire x1="1.778" y1="-0.635" x2="1.778" y2="0.635" width="0.1524" layer="51"/>
+<pad name="1" x="-2.54" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="2.54" y="0" drill="0.8128" shape="octagon"/>
+<text x="-2.0066" y="1.1684" size="0.9906" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.1336" y="-2.3114" size="0.9906" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-2.032" y1="-0.254" x2="-1.778" y2="0.254" layer="51"/>
+<rectangle x1="1.778" y1="-0.254" x2="2.032" y2="0.254" layer="51"/>
+</package>
+<package name="0204/7">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0204, grid 7.5 mm</description>
+<wire x1="3.81" y1="0" x2="2.921" y2="0" width="0.508" layer="51"/>
+<wire x1="-3.81" y1="0" x2="-2.921" y2="0" width="0.508" layer="51"/>
+<wire x1="-2.54" y1="0.762" x2="-2.286" y2="1.016" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-2.54" y1="-0.762" x2="-2.286" y2="-1.016" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.286" y1="-1.016" x2="2.54" y2="-0.762" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.286" y1="1.016" x2="2.54" y2="0.762" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-2.54" y1="-0.762" x2="-2.54" y2="0.762" width="0.1524" layer="21"/>
+<wire x1="-2.286" y1="1.016" x2="-1.905" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="-1.778" y1="0.889" x2="-1.905" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="-2.286" y1="-1.016" x2="-1.905" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="-1.778" y1="-0.889" x2="-1.905" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="1.778" y1="0.889" x2="1.905" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="1.778" y1="0.889" x2="-1.778" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="1.778" y1="-0.889" x2="1.905" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="1.778" y1="-0.889" x2="-1.778" y2="-0.889" width="0.1524" layer="21"/>
+<wire x1="2.286" y1="1.016" x2="1.905" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="2.286" y1="-1.016" x2="1.905" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="-0.762" x2="2.54" y2="0.762" width="0.1524" layer="21"/>
+<pad name="1" x="-3.81" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="3.81" y="0" drill="0.8128" shape="octagon"/>
+<text x="-2.54" y="1.2954" size="0.9906" layer="25" ratio="10">&gt;NAME</text>
+<text x="-1.6256" y="-0.4826" size="0.9906" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="2.54" y1="-0.254" x2="2.921" y2="0.254" layer="21"/>
+<rectangle x1="-2.921" y1="-0.254" x2="-2.54" y2="0.254" layer="21"/>
+</package>
+<package name="0207/10">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0207, grid 10 mm</description>
+<wire x1="5.08" y1="0" x2="4.064" y2="0" width="0.6096" layer="51"/>
+<wire x1="-5.08" y1="0" x2="-4.064" y2="0" width="0.6096" layer="51"/>
+<wire x1="-3.175" y1="0.889" x2="-2.921" y2="1.143" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-3.175" y1="-0.889" x2="-2.921" y2="-1.143" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.921" y1="-1.143" x2="3.175" y2="-0.889" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.921" y1="1.143" x2="3.175" y2="0.889" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-3.175" y1="-0.889" x2="-3.175" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="-2.921" y1="1.143" x2="-2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="-2.413" y1="1.016" x2="-2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="-2.921" y1="-1.143" x2="-2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="-2.413" y1="-1.016" x2="-2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="1.016" x2="2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="1.016" x2="-2.413" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="-1.016" x2="2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="-1.016" x2="-2.413" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="2.921" y1="1.143" x2="2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="2.921" y1="-1.143" x2="2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="-0.889" x2="3.175" y2="0.889" width="0.1524" layer="21"/>
+<pad name="1" x="-5.08" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="5.08" y="0" drill="0.8128" shape="octagon"/>
+<text x="-3.048" y="1.524" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.2606" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="3.175" y1="-0.3048" x2="4.0386" y2="0.3048" layer="21"/>
+<rectangle x1="-4.0386" y1="-0.3048" x2="-3.175" y2="0.3048" layer="21"/>
+</package>
+<package name="0207/12">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0207, grid 12 mm</description>
+<wire x1="6.35" y1="0" x2="5.334" y2="0" width="0.6096" layer="51"/>
+<wire x1="-6.35" y1="0" x2="-5.334" y2="0" width="0.6096" layer="51"/>
+<wire x1="-3.175" y1="0.889" x2="-2.921" y2="1.143" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-3.175" y1="-0.889" x2="-2.921" y2="-1.143" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.921" y1="-1.143" x2="3.175" y2="-0.889" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.921" y1="1.143" x2="3.175" y2="0.889" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-3.175" y1="-0.889" x2="-3.175" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="-2.921" y1="1.143" x2="-2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="-2.413" y1="1.016" x2="-2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="-2.921" y1="-1.143" x2="-2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="-2.413" y1="-1.016" x2="-2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="1.016" x2="2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="1.016" x2="-2.413" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="-1.016" x2="2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="-1.016" x2="-2.413" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="2.921" y1="1.143" x2="2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="2.921" y1="-1.143" x2="2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="-0.889" x2="3.175" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="4.445" y1="0" x2="4.064" y2="0" width="0.6096" layer="21"/>
+<wire x1="-4.445" y1="0" x2="-4.064" y2="0" width="0.6096" layer="21"/>
+<pad name="1" x="-6.35" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="6.35" y="0" drill="0.8128" shape="octagon"/>
+<text x="-3.175" y="1.397" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.286" y="-0.6858" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="3.175" y1="-0.3048" x2="4.0386" y2="0.3048" layer="21"/>
+<rectangle x1="-4.0386" y1="-0.3048" x2="-3.175" y2="0.3048" layer="21"/>
+<rectangle x1="4.445" y1="-0.3048" x2="5.3086" y2="0.3048" layer="21"/>
+<rectangle x1="-5.3086" y1="-0.3048" x2="-4.445" y2="0.3048" layer="21"/>
+</package>
+<package name="0207/15">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0207, grid 15mm</description>
+<wire x1="7.62" y1="0" x2="6.604" y2="0" width="0.6096" layer="51"/>
+<wire x1="-7.62" y1="0" x2="-6.604" y2="0" width="0.6096" layer="51"/>
+<wire x1="-3.175" y1="0.889" x2="-2.921" y2="1.143" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-3.175" y1="-0.889" x2="-2.921" y2="-1.143" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.921" y1="-1.143" x2="3.175" y2="-0.889" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.921" y1="1.143" x2="3.175" y2="0.889" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-3.175" y1="-0.889" x2="-3.175" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="-2.921" y1="1.143" x2="-2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="-2.413" y1="1.016" x2="-2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="-2.921" y1="-1.143" x2="-2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="-2.413" y1="-1.016" x2="-2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="1.016" x2="2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="1.016" x2="-2.413" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="-1.016" x2="2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="-1.016" x2="-2.413" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="2.921" y1="1.143" x2="2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="2.921" y1="-1.143" x2="2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="-0.889" x2="3.175" y2="0.889" width="0.1524" layer="21"/>
+<wire x1="5.715" y1="0" x2="4.064" y2="0" width="0.6096" layer="21"/>
+<wire x1="-5.715" y1="0" x2="-4.064" y2="0" width="0.6096" layer="21"/>
+<pad name="1" x="-7.62" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="7.62" y="0" drill="0.8128" shape="octagon"/>
+<text x="-3.175" y="1.397" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.286" y="-0.6858" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="3.175" y1="-0.3048" x2="4.0386" y2="0.3048" layer="21"/>
+<rectangle x1="-4.0386" y1="-0.3048" x2="-3.175" y2="0.3048" layer="21"/>
+<rectangle x1="5.715" y1="-0.3048" x2="6.5786" y2="0.3048" layer="21"/>
+<rectangle x1="-6.5786" y1="-0.3048" x2="-5.715" y2="0.3048" layer="21"/>
+</package>
+<package name="0207/2V">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0207, grid 2.5 mm</description>
+<wire x1="-1.27" y1="0" x2="-0.381" y2="0" width="0.6096" layer="51"/>
+<wire x1="-0.254" y1="0" x2="0.254" y2="0" width="0.6096" layer="21"/>
+<wire x1="0.381" y1="0" x2="1.27" y2="0" width="0.6096" layer="51"/>
+<circle x="-1.27" y="0" radius="1.27" width="0.1524" layer="21"/>
+<circle x="-1.27" y="0" radius="1.016" width="0.1524" layer="51"/>
+<pad name="1" x="-1.27" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="1.27" y="0" drill="0.8128" shape="octagon"/>
+<text x="-0.0508" y="1.016" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-0.0508" y="-2.2352" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+</package>
+<package name="0207/5V">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0207, grid 5 mm</description>
+<wire x1="-2.54" y1="0" x2="-0.889" y2="0" width="0.6096" layer="51"/>
+<wire x1="-0.762" y1="0" x2="0.762" y2="0" width="0.6096" layer="21"/>
+<wire x1="0.889" y1="0" x2="2.54" y2="0" width="0.6096" layer="51"/>
+<circle x="-2.54" y="0" radius="1.27" width="0.1016" layer="21"/>
+<circle x="-2.54" y="0" radius="1.016" width="0.1524" layer="51"/>
+<pad name="1" x="-2.54" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="2.54" y="0" drill="0.8128" shape="octagon"/>
+<text x="-1.143" y="0.889" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-1.143" y="-2.159" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+</package>
+<package name="0207/7">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0207, grid 7.5 mm</description>
+<wire x1="-3.81" y1="0" x2="-3.429" y2="0" width="0.6096" layer="51"/>
+<wire x1="-3.175" y1="0.889" x2="-2.921" y2="1.143" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-3.175" y1="-0.889" x2="-2.921" y2="-1.143" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.921" y1="-1.143" x2="3.175" y2="-0.889" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.921" y1="1.143" x2="3.175" y2="0.889" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-3.175" y1="-0.889" x2="-3.175" y2="0.889" width="0.1524" layer="51"/>
+<wire x1="-2.921" y1="1.143" x2="-2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="-2.413" y1="1.016" x2="-2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="-2.921" y1="-1.143" x2="-2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="-2.413" y1="-1.016" x2="-2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="1.016" x2="2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="1.016" x2="-2.413" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="-1.016" x2="2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="2.413" y1="-1.016" x2="-2.413" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="2.921" y1="1.143" x2="2.54" y2="1.143" width="0.1524" layer="21"/>
+<wire x1="2.921" y1="-1.143" x2="2.54" y2="-1.143" width="0.1524" layer="21"/>
+<wire x1="3.175" y1="-0.889" x2="3.175" y2="0.889" width="0.1524" layer="51"/>
+<wire x1="3.429" y1="0" x2="3.81" y2="0" width="0.6096" layer="51"/>
+<pad name="1" x="-3.81" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="3.81" y="0" drill="0.8128" shape="octagon"/>
+<text x="-2.54" y="1.397" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.286" y="-0.5588" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-3.429" y1="-0.3048" x2="-3.175" y2="0.3048" layer="51"/>
+<rectangle x1="3.175" y1="-0.3048" x2="3.429" y2="0.3048" layer="51"/>
+</package>
+<package name="0309/10">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0309, grid 10mm</description>
+<wire x1="-4.699" y1="0" x2="-5.08" y2="0" width="0.6096" layer="51"/>
+<wire x1="-4.318" y1="1.27" x2="-4.064" y2="1.524" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-4.318" y1="-1.27" x2="-4.064" y2="-1.524" width="0.1524" layer="21" curve="90"/>
+<wire x1="4.064" y1="-1.524" x2="4.318" y2="-1.27" width="0.1524" layer="21" curve="90"/>
+<wire x1="4.064" y1="1.524" x2="4.318" y2="1.27" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-4.318" y1="-1.27" x2="-4.318" y2="1.27" width="0.1524" layer="51"/>
+<wire x1="-4.064" y1="1.524" x2="-3.429" y2="1.524" width="0.1524" layer="21"/>
+<wire x1="-3.302" y1="1.397" x2="-3.429" y2="1.524" width="0.1524" layer="21"/>
+<wire x1="-4.064" y1="-1.524" x2="-3.429" y2="-1.524" width="0.1524" layer="21"/>
+<wire x1="-3.302" y1="-1.397" x2="-3.429" y2="-1.524" width="0.1524" layer="21"/>
+<wire x1="3.302" y1="1.397" x2="3.429" y2="1.524" width="0.1524" layer="21"/>
+<wire x1="3.302" y1="1.397" x2="-3.302" y2="1.397" width="0.1524" layer="21"/>
+<wire x1="3.302" y1="-1.397" x2="3.429" y2="-1.524" width="0.1524" layer="21"/>
+<wire x1="3.302" y1="-1.397" x2="-3.302" y2="-1.397" width="0.1524" layer="21"/>
+<wire x1="4.064" y1="1.524" x2="3.429" y2="1.524" width="0.1524" layer="21"/>
+<wire x1="4.064" y1="-1.524" x2="3.429" y2="-1.524" width="0.1524" layer="21"/>
+<wire x1="4.318" y1="-1.27" x2="4.318" y2="1.27" width="0.1524" layer="51"/>
+<wire x1="5.08" y1="0" x2="4.699" y2="0" width="0.6096" layer="51"/>
+<pad name="1" x="-5.08" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="5.08" y="0" drill="0.8128" shape="octagon"/>
+<text x="-4.191" y="1.905" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.175" y="-0.6858" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-4.6228" y1="-0.3048" x2="-4.318" y2="0.3048" layer="51"/>
+<rectangle x1="4.318" y1="-0.3048" x2="4.6228" y2="0.3048" layer="51"/>
+</package>
+<package name="0309/12">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0309, grid 12.5 mm</description>
+<wire x1="6.35" y1="0" x2="5.08" y2="0" width="0.6096" layer="51"/>
+<wire x1="-6.35" y1="0" x2="-5.08" y2="0" width="0.6096" layer="51"/>
+<wire x1="-4.318" y1="1.27" x2="-4.064" y2="1.524" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-4.318" y1="-1.27" x2="-4.064" y2="-1.524" width="0.1524" layer="21" curve="90"/>
+<wire x1="4.064" y1="-1.524" x2="4.318" y2="-1.27" width="0.1524" layer="21" curve="90"/>
+<wire x1="4.064" y1="1.524" x2="4.318" y2="1.27" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-4.318" y1="-1.27" x2="-4.318" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-4.064" y1="1.524" x2="-3.429" y2="1.524" width="0.1524" layer="21"/>
+<wire x1="-3.302" y1="1.397" x2="-3.429" y2="1.524" width="0.1524" layer="21"/>
+<wire x1="-4.064" y1="-1.524" x2="-3.429" y2="-1.524" width="0.1524" layer="21"/>
+<wire x1="-3.302" y1="-1.397" x2="-3.429" y2="-1.524" width="0.1524" layer="21"/>
+<wire x1="3.302" y1="1.397" x2="3.429" y2="1.524" width="0.1524" layer="21"/>
+<wire x1="3.302" y1="1.397" x2="-3.302" y2="1.397" width="0.1524" layer="21"/>
+<wire x1="3.302" y1="-1.397" x2="3.429" y2="-1.524" width="0.1524" layer="21"/>
+<wire x1="3.302" y1="-1.397" x2="-3.302" y2="-1.397" width="0.1524" layer="21"/>
+<wire x1="4.064" y1="1.524" x2="3.429" y2="1.524" width="0.1524" layer="21"/>
+<wire x1="4.064" y1="-1.524" x2="3.429" y2="-1.524" width="0.1524" layer="21"/>
+<wire x1="4.318" y1="-1.27" x2="4.318" y2="1.27" width="0.1524" layer="21"/>
+<pad name="1" x="-6.35" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="6.35" y="0" drill="0.8128" shape="octagon"/>
+<text x="-4.191" y="1.905" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.175" y="-0.6858" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="4.318" y1="-0.3048" x2="5.1816" y2="0.3048" layer="21"/>
+<rectangle x1="-5.1816" y1="-0.3048" x2="-4.318" y2="0.3048" layer="21"/>
+</package>
+<package name="0411/12">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0411, grid 12.5 mm</description>
+<wire x1="6.35" y1="0" x2="5.461" y2="0" width="0.762" layer="51"/>
+<wire x1="-6.35" y1="0" x2="-5.461" y2="0" width="0.762" layer="51"/>
+<wire x1="5.08" y1="-1.651" x2="5.08" y2="1.651" width="0.1524" layer="21"/>
+<wire x1="4.699" y1="2.032" x2="5.08" y2="1.651" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-5.08" y1="-1.651" x2="-4.699" y2="-2.032" width="0.1524" layer="21" curve="90"/>
+<wire x1="4.699" y1="-2.032" x2="5.08" y2="-1.651" width="0.1524" layer="21" curve="90"/>
+<wire x1="-5.08" y1="1.651" x2="-4.699" y2="2.032" width="0.1524" layer="21" curve="-90"/>
+<wire x1="4.699" y1="2.032" x2="4.064" y2="2.032" width="0.1524" layer="21"/>
+<wire x1="3.937" y1="1.905" x2="4.064" y2="2.032" width="0.1524" layer="21"/>
+<wire x1="4.699" y1="-2.032" x2="4.064" y2="-2.032" width="0.1524" layer="21"/>
+<wire x1="3.937" y1="-1.905" x2="4.064" y2="-2.032" width="0.1524" layer="21"/>
+<wire x1="-3.937" y1="1.905" x2="-4.064" y2="2.032" width="0.1524" layer="21"/>
+<wire x1="-3.937" y1="1.905" x2="3.937" y2="1.905" width="0.1524" layer="21"/>
+<wire x1="-3.937" y1="-1.905" x2="-4.064" y2="-2.032" width="0.1524" layer="21"/>
+<wire x1="-3.937" y1="-1.905" x2="3.937" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="1.651" x2="-5.08" y2="-1.651" width="0.1524" layer="21"/>
+<wire x1="-4.699" y1="2.032" x2="-4.064" y2="2.032" width="0.1524" layer="21"/>
+<wire x1="-4.699" y1="-2.032" x2="-4.064" y2="-2.032" width="0.1524" layer="21"/>
+<pad name="1" x="-6.35" y="0" drill="0.9144" shape="octagon"/>
+<pad name="2" x="6.35" y="0" drill="0.9144" shape="octagon"/>
+<text x="-5.08" y="2.413" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.5814" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-5.3594" y1="-0.381" x2="-5.08" y2="0.381" layer="21"/>
+<rectangle x1="5.08" y1="-0.381" x2="5.3594" y2="0.381" layer="21"/>
+</package>
+<package name="0411/15">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0411, grid 15 mm</description>
+<wire x1="5.08" y1="-1.651" x2="5.08" y2="1.651" width="0.1524" layer="21"/>
+<wire x1="4.699" y1="2.032" x2="5.08" y2="1.651" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-5.08" y1="-1.651" x2="-4.699" y2="-2.032" width="0.1524" layer="21" curve="90"/>
+<wire x1="4.699" y1="-2.032" x2="5.08" y2="-1.651" width="0.1524" layer="21" curve="90"/>
+<wire x1="-5.08" y1="1.651" x2="-4.699" y2="2.032" width="0.1524" layer="21" curve="-90"/>
+<wire x1="4.699" y1="2.032" x2="4.064" y2="2.032" width="0.1524" layer="21"/>
+<wire x1="3.937" y1="1.905" x2="4.064" y2="2.032" width="0.1524" layer="21"/>
+<wire x1="4.699" y1="-2.032" x2="4.064" y2="-2.032" width="0.1524" layer="21"/>
+<wire x1="3.937" y1="-1.905" x2="4.064" y2="-2.032" width="0.1524" layer="21"/>
+<wire x1="-3.937" y1="1.905" x2="-4.064" y2="2.032" width="0.1524" layer="21"/>
+<wire x1="-3.937" y1="1.905" x2="3.937" y2="1.905" width="0.1524" layer="21"/>
+<wire x1="-3.937" y1="-1.905" x2="-4.064" y2="-2.032" width="0.1524" layer="21"/>
+<wire x1="-3.937" y1="-1.905" x2="3.937" y2="-1.905" width="0.1524" layer="21"/>
+<wire x1="-5.08" y1="1.651" x2="-5.08" y2="-1.651" width="0.1524" layer="21"/>
+<wire x1="-4.699" y1="2.032" x2="-4.064" y2="2.032" width="0.1524" layer="21"/>
+<wire x1="-4.699" y1="-2.032" x2="-4.064" y2="-2.032" width="0.1524" layer="21"/>
+<wire x1="-7.62" y1="0" x2="-6.35" y2="0" width="0.762" layer="51"/>
+<wire x1="6.35" y1="0" x2="7.62" y2="0" width="0.762" layer="51"/>
+<pad name="1" x="-7.62" y="0" drill="0.9144" shape="octagon"/>
+<pad name="2" x="7.62" y="0" drill="0.9144" shape="octagon"/>
+<text x="-5.08" y="2.413" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.5814" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="5.08" y1="-0.381" x2="6.477" y2="0.381" layer="21"/>
+<rectangle x1="-6.477" y1="-0.381" x2="-5.08" y2="0.381" layer="21"/>
+</package>
+<package name="0411V">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0411, grid 3.81 mm</description>
+<wire x1="1.27" y1="0" x2="0.3048" y2="0" width="0.762" layer="51"/>
+<wire x1="-1.5748" y1="0" x2="-2.54" y2="0" width="0.762" layer="51"/>
+<circle x="-2.54" y="0" radius="2.032" width="0.1524" layer="21"/>
+<circle x="-2.54" y="0" radius="1.016" width="0.1524" layer="51"/>
+<pad name="1" x="-2.54" y="0" drill="0.9144" shape="octagon"/>
+<pad name="2" x="1.27" y="0" drill="0.9144" shape="octagon"/>
+<text x="-0.508" y="1.143" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-0.5334" y="-2.413" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-1.4732" y1="-0.381" x2="0.2032" y2="0.381" layer="21"/>
+</package>
+<package name="0414/15">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0414, grid 15 mm</description>
+<wire x1="7.62" y1="0" x2="6.604" y2="0" width="0.8128" layer="51"/>
+<wire x1="-7.62" y1="0" x2="-6.604" y2="0" width="0.8128" layer="51"/>
+<wire x1="-6.096" y1="1.905" x2="-5.842" y2="2.159" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-6.096" y1="-1.905" x2="-5.842" y2="-2.159" width="0.1524" layer="21" curve="90"/>
+<wire x1="5.842" y1="-2.159" x2="6.096" y2="-1.905" width="0.1524" layer="21" curve="90"/>
+<wire x1="5.842" y1="2.159" x2="6.096" y2="1.905" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-6.096" y1="-1.905" x2="-6.096" y2="1.905" width="0.1524" layer="21"/>
+<wire x1="-5.842" y1="2.159" x2="-4.953" y2="2.159" width="0.1524" layer="21"/>
+<wire x1="-4.826" y1="2.032" x2="-4.953" y2="2.159" width="0.1524" layer="21"/>
+<wire x1="-5.842" y1="-2.159" x2="-4.953" y2="-2.159" width="0.1524" layer="21"/>
+<wire x1="-4.826" y1="-2.032" x2="-4.953" y2="-2.159" width="0.1524" layer="21"/>
+<wire x1="4.826" y1="2.032" x2="4.953" y2="2.159" width="0.1524" layer="21"/>
+<wire x1="4.826" y1="2.032" x2="-4.826" y2="2.032" width="0.1524" layer="21"/>
+<wire x1="4.826" y1="-2.032" x2="4.953" y2="-2.159" width="0.1524" layer="21"/>
+<wire x1="4.826" y1="-2.032" x2="-4.826" y2="-2.032" width="0.1524" layer="21"/>
+<wire x1="5.842" y1="2.159" x2="4.953" y2="2.159" width="0.1524" layer="21"/>
+<wire x1="5.842" y1="-2.159" x2="4.953" y2="-2.159" width="0.1524" layer="21"/>
+<wire x1="6.096" y1="-1.905" x2="6.096" y2="1.905" width="0.1524" layer="21"/>
+<pad name="1" x="-7.62" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="7.62" y="0" drill="1.016" shape="octagon"/>
+<text x="-6.096" y="2.5654" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-4.318" y="-0.5842" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="6.096" y1="-0.4064" x2="6.5024" y2="0.4064" layer="21"/>
+<rectangle x1="-6.5024" y1="-0.4064" x2="-6.096" y2="0.4064" layer="21"/>
+</package>
+<package name="0414V">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0414, grid 5 mm</description>
+<wire x1="2.54" y1="0" x2="1.397" y2="0" width="0.8128" layer="51"/>
+<wire x1="-2.54" y1="0" x2="-1.397" y2="0" width="0.8128" layer="51"/>
+<circle x="-2.54" y="0" radius="2.159" width="0.1524" layer="21"/>
+<circle x="-2.54" y="0" radius="1.143" width="0.1524" layer="51"/>
+<pad name="1" x="-2.54" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="2.54" y="0" drill="1.016" shape="octagon"/>
+<text x="-0.381" y="1.1684" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-0.381" y="-2.3622" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-1.2954" y1="-0.4064" x2="1.2954" y2="0.4064" layer="21"/>
+</package>
+<package name="0617/17">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0617, grid 17.5 mm</description>
+<wire x1="-8.89" y1="0" x2="-8.636" y2="0" width="0.8128" layer="51"/>
+<wire x1="-7.874" y1="3.048" x2="-6.985" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="-6.731" y1="2.794" x2="-6.985" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="-7.874" y1="-3.048" x2="-6.985" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="-6.731" y1="-2.794" x2="-6.985" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="6.731" y1="2.794" x2="6.985" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="6.731" y1="2.794" x2="-6.731" y2="2.794" width="0.1524" layer="21"/>
+<wire x1="6.731" y1="-2.794" x2="6.985" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="6.731" y1="-2.794" x2="-6.731" y2="-2.794" width="0.1524" layer="21"/>
+<wire x1="7.874" y1="3.048" x2="6.985" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="7.874" y1="-3.048" x2="6.985" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="-8.255" y1="-2.667" x2="-8.255" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="-8.255" y1="1.016" x2="-8.255" y2="-1.016" width="0.1524" layer="51"/>
+<wire x1="-8.255" y1="1.016" x2="-8.255" y2="2.667" width="0.1524" layer="21"/>
+<wire x1="8.255" y1="-2.667" x2="8.255" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="8.255" y1="1.016" x2="8.255" y2="-1.016" width="0.1524" layer="51"/>
+<wire x1="8.255" y1="1.016" x2="8.255" y2="2.667" width="0.1524" layer="21"/>
+<wire x1="8.636" y1="0" x2="8.89" y2="0" width="0.8128" layer="51"/>
+<wire x1="-8.255" y1="2.667" x2="-7.874" y2="3.048" width="0.1524" layer="21" curve="-90"/>
+<wire x1="7.874" y1="3.048" x2="8.255" y2="2.667" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-8.255" y1="-2.667" x2="-7.874" y2="-3.048" width="0.1524" layer="21" curve="90"/>
+<wire x1="7.874" y1="-3.048" x2="8.255" y2="-2.667" width="0.1524" layer="21" curve="90"/>
+<pad name="1" x="-8.89" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="8.89" y="0" drill="1.016" shape="octagon"/>
+<text x="-8.128" y="3.4544" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-6.096" y="-0.7112" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-8.5344" y1="-0.4064" x2="-8.2296" y2="0.4064" layer="51"/>
+<rectangle x1="8.2296" y1="-0.4064" x2="8.5344" y2="0.4064" layer="51"/>
+</package>
+<package name="0617/22">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0617, grid 22.5 mm</description>
+<wire x1="-10.287" y1="0" x2="-11.43" y2="0" width="0.8128" layer="51"/>
+<wire x1="-8.255" y1="-2.667" x2="-8.255" y2="2.667" width="0.1524" layer="21"/>
+<wire x1="-7.874" y1="3.048" x2="-6.985" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="-6.731" y1="2.794" x2="-6.985" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="-7.874" y1="-3.048" x2="-6.985" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="-6.731" y1="-2.794" x2="-6.985" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="6.731" y1="2.794" x2="6.985" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="6.731" y1="2.794" x2="-6.731" y2="2.794" width="0.1524" layer="21"/>
+<wire x1="6.731" y1="-2.794" x2="6.985" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="6.731" y1="-2.794" x2="-6.731" y2="-2.794" width="0.1524" layer="21"/>
+<wire x1="7.874" y1="3.048" x2="6.985" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="7.874" y1="-3.048" x2="6.985" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="8.255" y1="-2.667" x2="8.255" y2="2.667" width="0.1524" layer="21"/>
+<wire x1="11.43" y1="0" x2="10.287" y2="0" width="0.8128" layer="51"/>
+<wire x1="-8.255" y1="2.667" x2="-7.874" y2="3.048" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-8.255" y1="-2.667" x2="-7.874" y2="-3.048" width="0.1524" layer="21" curve="90"/>
+<wire x1="7.874" y1="3.048" x2="8.255" y2="2.667" width="0.1524" layer="21" curve="-90"/>
+<wire x1="7.874" y1="-3.048" x2="8.255" y2="-2.667" width="0.1524" layer="21" curve="90"/>
+<pad name="1" x="-11.43" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="11.43" y="0" drill="1.016" shape="octagon"/>
+<text x="-8.255" y="3.4544" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-6.477" y="-0.5842" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-10.1854" y1="-0.4064" x2="-8.255" y2="0.4064" layer="21"/>
+<rectangle x1="8.255" y1="-0.4064" x2="10.1854" y2="0.4064" layer="21"/>
+</package>
+<package name="0617V">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0617, grid 5 mm</description>
+<wire x1="-2.54" y1="0" x2="-1.27" y2="0" width="0.8128" layer="51"/>
+<wire x1="1.27" y1="0" x2="2.54" y2="0" width="0.8128" layer="51"/>
+<circle x="-2.54" y="0" radius="3.048" width="0.1524" layer="21"/>
+<circle x="-2.54" y="0" radius="1.143" width="0.1524" layer="51"/>
+<pad name="1" x="-2.54" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="2.54" y="0" drill="1.016" shape="octagon"/>
+<text x="0.635" y="1.4224" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="0.635" y="-2.6162" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-1.3208" y1="-0.4064" x2="1.3208" y2="0.4064" layer="21"/>
+</package>
+<package name="0922/22">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0922, grid 22.5 mm</description>
+<wire x1="11.43" y1="0" x2="10.795" y2="0" width="0.8128" layer="51"/>
+<wire x1="-11.43" y1="0" x2="-10.795" y2="0" width="0.8128" layer="51"/>
+<wire x1="-10.16" y1="-4.191" x2="-10.16" y2="4.191" width="0.1524" layer="21"/>
+<wire x1="-9.779" y1="4.572" x2="-8.89" y2="4.572" width="0.1524" layer="21"/>
+<wire x1="-8.636" y1="4.318" x2="-8.89" y2="4.572" width="0.1524" layer="21"/>
+<wire x1="-9.779" y1="-4.572" x2="-8.89" y2="-4.572" width="0.1524" layer="21"/>
+<wire x1="-8.636" y1="-4.318" x2="-8.89" y2="-4.572" width="0.1524" layer="21"/>
+<wire x1="8.636" y1="4.318" x2="8.89" y2="4.572" width="0.1524" layer="21"/>
+<wire x1="8.636" y1="4.318" x2="-8.636" y2="4.318" width="0.1524" layer="21"/>
+<wire x1="8.636" y1="-4.318" x2="8.89" y2="-4.572" width="0.1524" layer="21"/>
+<wire x1="8.636" y1="-4.318" x2="-8.636" y2="-4.318" width="0.1524" layer="21"/>
+<wire x1="9.779" y1="4.572" x2="8.89" y2="4.572" width="0.1524" layer="21"/>
+<wire x1="9.779" y1="-4.572" x2="8.89" y2="-4.572" width="0.1524" layer="21"/>
+<wire x1="10.16" y1="-4.191" x2="10.16" y2="4.191" width="0.1524" layer="21"/>
+<wire x1="-10.16" y1="-4.191" x2="-9.779" y2="-4.572" width="0.1524" layer="21" curve="90"/>
+<wire x1="-10.16" y1="4.191" x2="-9.779" y2="4.572" width="0.1524" layer="21" curve="-90"/>
+<wire x1="9.779" y1="-4.572" x2="10.16" y2="-4.191" width="0.1524" layer="21" curve="90"/>
+<wire x1="9.779" y1="4.572" x2="10.16" y2="4.191" width="0.1524" layer="21" curve="-90"/>
+<pad name="1" x="-11.43" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="11.43" y="0" drill="1.016" shape="octagon"/>
+<text x="-10.16" y="5.1054" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-6.477" y="-0.5842" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-10.7188" y1="-0.4064" x2="-10.16" y2="0.4064" layer="51"/>
+<rectangle x1="10.16" y1="-0.4064" x2="10.3124" y2="0.4064" layer="21"/>
+<rectangle x1="-10.3124" y1="-0.4064" x2="-10.16" y2="0.4064" layer="21"/>
+<rectangle x1="10.16" y1="-0.4064" x2="10.7188" y2="0.4064" layer="51"/>
+</package>
+<package name="P0613V">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0613, grid 5 mm</description>
+<wire x1="2.54" y1="0" x2="1.397" y2="0" width="0.8128" layer="51"/>
+<wire x1="-2.54" y1="0" x2="-1.397" y2="0" width="0.8128" layer="51"/>
+<circle x="-2.54" y="0" radius="2.286" width="0.1524" layer="21"/>
+<circle x="-2.54" y="0" radius="1.143" width="0.1524" layer="51"/>
+<pad name="1" x="-2.54" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="2.54" y="0" drill="1.016" shape="octagon"/>
+<text x="-0.254" y="1.143" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-0.254" y="-2.413" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-1.2954" y1="-0.4064" x2="1.3208" y2="0.4064" layer="21"/>
+</package>
+<package name="P0613/15">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0613, grid 15 mm</description>
+<wire x1="7.62" y1="0" x2="6.985" y2="0" width="0.8128" layer="51"/>
+<wire x1="-7.62" y1="0" x2="-6.985" y2="0" width="0.8128" layer="51"/>
+<wire x1="-6.477" y1="2.032" x2="-6.223" y2="2.286" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-6.477" y1="-2.032" x2="-6.223" y2="-2.286" width="0.1524" layer="21" curve="90"/>
+<wire x1="6.223" y1="-2.286" x2="6.477" y2="-2.032" width="0.1524" layer="21" curve="90"/>
+<wire x1="6.223" y1="2.286" x2="6.477" y2="2.032" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-6.223" y1="2.286" x2="-5.334" y2="2.286" width="0.1524" layer="21"/>
+<wire x1="-5.207" y1="2.159" x2="-5.334" y2="2.286" width="0.1524" layer="21"/>
+<wire x1="-6.223" y1="-2.286" x2="-5.334" y2="-2.286" width="0.1524" layer="21"/>
+<wire x1="-5.207" y1="-2.159" x2="-5.334" y2="-2.286" width="0.1524" layer="21"/>
+<wire x1="5.207" y1="2.159" x2="5.334" y2="2.286" width="0.1524" layer="21"/>
+<wire x1="5.207" y1="2.159" x2="-5.207" y2="2.159" width="0.1524" layer="21"/>
+<wire x1="5.207" y1="-2.159" x2="5.334" y2="-2.286" width="0.1524" layer="21"/>
+<wire x1="5.207" y1="-2.159" x2="-5.207" y2="-2.159" width="0.1524" layer="21"/>
+<wire x1="6.223" y1="2.286" x2="5.334" y2="2.286" width="0.1524" layer="21"/>
+<wire x1="6.223" y1="-2.286" x2="5.334" y2="-2.286" width="0.1524" layer="21"/>
+<wire x1="6.477" y1="-0.635" x2="6.477" y2="-2.032" width="0.1524" layer="21"/>
+<wire x1="6.477" y1="-0.635" x2="6.477" y2="0.635" width="0.1524" layer="51"/>
+<wire x1="6.477" y1="2.032" x2="6.477" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="-6.477" y1="-2.032" x2="-6.477" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-6.477" y1="0.635" x2="-6.477" y2="-0.635" width="0.1524" layer="51"/>
+<wire x1="-6.477" y1="0.635" x2="-6.477" y2="2.032" width="0.1524" layer="21"/>
+<pad name="1" x="-7.62" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="7.62" y="0" drill="1.016" shape="octagon"/>
+<text x="-6.477" y="2.6924" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-4.318" y="-0.7112" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-7.0358" y1="-0.4064" x2="-6.477" y2="0.4064" layer="51"/>
+<rectangle x1="6.477" y1="-0.4064" x2="7.0358" y2="0.4064" layer="51"/>
+</package>
+<package name="P0817/22">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0817, grid 22.5 mm</description>
+<wire x1="-10.414" y1="0" x2="-11.43" y2="0" width="0.8128" layer="51"/>
+<wire x1="-8.509" y1="-3.429" x2="-8.509" y2="3.429" width="0.1524" layer="21"/>
+<wire x1="-8.128" y1="3.81" x2="-7.239" y2="3.81" width="0.1524" layer="21"/>
+<wire x1="-6.985" y1="3.556" x2="-7.239" y2="3.81" width="0.1524" layer="21"/>
+<wire x1="-8.128" y1="-3.81" x2="-7.239" y2="-3.81" width="0.1524" layer="21"/>
+<wire x1="-6.985" y1="-3.556" x2="-7.239" y2="-3.81" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="3.556" x2="7.239" y2="3.81" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="3.556" x2="-6.985" y2="3.556" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="-3.556" x2="7.239" y2="-3.81" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="-3.556" x2="-6.985" y2="-3.556" width="0.1524" layer="21"/>
+<wire x1="8.128" y1="3.81" x2="7.239" y2="3.81" width="0.1524" layer="21"/>
+<wire x1="8.128" y1="-3.81" x2="7.239" y2="-3.81" width="0.1524" layer="21"/>
+<wire x1="8.509" y1="-3.429" x2="8.509" y2="3.429" width="0.1524" layer="21"/>
+<wire x1="11.43" y1="0" x2="10.414" y2="0" width="0.8128" layer="51"/>
+<wire x1="-8.509" y1="3.429" x2="-8.128" y2="3.81" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-8.509" y1="-3.429" x2="-8.128" y2="-3.81" width="0.1524" layer="21" curve="90"/>
+<wire x1="8.128" y1="3.81" x2="8.509" y2="3.429" width="0.1524" layer="21" curve="-90"/>
+<wire x1="8.128" y1="-3.81" x2="8.509" y2="-3.429" width="0.1524" layer="21" curve="90"/>
+<pad name="1" x="-11.43" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="11.43" y="0" drill="1.016" shape="octagon"/>
+<text x="-8.382" y="4.2164" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-6.223" y="-0.5842" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="6.604" y="-2.2606" size="1.27" layer="51" ratio="10" rot="R90">0817</text>
+<rectangle x1="8.509" y1="-0.4064" x2="10.3124" y2="0.4064" layer="21"/>
+<rectangle x1="-10.3124" y1="-0.4064" x2="-8.509" y2="0.4064" layer="21"/>
+</package>
+<package name="P0817V">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0817, grid 6.35 mm</description>
+<wire x1="-3.81" y1="0" x2="-5.08" y2="0" width="0.8128" layer="51"/>
+<wire x1="1.27" y1="0" x2="0" y2="0" width="0.8128" layer="51"/>
+<circle x="-5.08" y="0" radius="3.81" width="0.1524" layer="21"/>
+<circle x="-5.08" y="0" radius="1.27" width="0.1524" layer="51"/>
+<pad name="1" x="-5.08" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="1.27" y="0" drill="1.016" shape="octagon"/>
+<text x="-1.016" y="1.27" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-1.016" y="-2.54" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-6.858" y="2.032" size="1.016" layer="21" ratio="12">0817</text>
+<rectangle x1="-3.81" y1="-0.4064" x2="0" y2="0.4064" layer="21"/>
+</package>
+<package name="V234/12">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type V234, grid 12.5 mm</description>
+<wire x1="-4.953" y1="1.524" x2="-4.699" y2="1.778" width="0.1524" layer="21" curve="-90"/>
+<wire x1="4.699" y1="1.778" x2="4.953" y2="1.524" width="0.1524" layer="21" curve="-90"/>
+<wire x1="4.699" y1="-1.778" x2="4.953" y2="-1.524" width="0.1524" layer="21" curve="90"/>
+<wire x1="-4.953" y1="-1.524" x2="-4.699" y2="-1.778" width="0.1524" layer="21" curve="90"/>
+<wire x1="-4.699" y1="1.778" x2="4.699" y2="1.778" width="0.1524" layer="21"/>
+<wire x1="-4.953" y1="1.524" x2="-4.953" y2="-1.524" width="0.1524" layer="21"/>
+<wire x1="4.699" y1="-1.778" x2="-4.699" y2="-1.778" width="0.1524" layer="21"/>
+<wire x1="4.953" y1="1.524" x2="4.953" y2="-1.524" width="0.1524" layer="21"/>
+<wire x1="6.35" y1="0" x2="5.461" y2="0" width="0.8128" layer="51"/>
+<wire x1="-6.35" y1="0" x2="-5.461" y2="0" width="0.8128" layer="51"/>
+<pad name="1" x="-6.35" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="6.35" y="0" drill="1.016" shape="octagon"/>
+<text x="-4.953" y="2.159" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.81" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="4.953" y1="-0.4064" x2="5.4102" y2="0.4064" layer="21"/>
+<rectangle x1="-5.4102" y1="-0.4064" x2="-4.953" y2="0.4064" layer="21"/>
+</package>
+<package name="V235/17">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type V235, grid 17.78 mm</description>
+<wire x1="-6.731" y1="2.921" x2="6.731" y2="2.921" width="0.1524" layer="21"/>
+<wire x1="-7.112" y1="2.54" x2="-7.112" y2="-2.54" width="0.1524" layer="21"/>
+<wire x1="6.731" y1="-2.921" x2="-6.731" y2="-2.921" width="0.1524" layer="21"/>
+<wire x1="7.112" y1="2.54" x2="7.112" y2="-2.54" width="0.1524" layer="21"/>
+<wire x1="8.89" y1="0" x2="7.874" y2="0" width="1.016" layer="51"/>
+<wire x1="-7.874" y1="0" x2="-8.89" y2="0" width="1.016" layer="51"/>
+<wire x1="-7.112" y1="-2.54" x2="-6.731" y2="-2.921" width="0.1524" layer="21" curve="90"/>
+<wire x1="6.731" y1="2.921" x2="7.112" y2="2.54" width="0.1524" layer="21" curve="-90"/>
+<wire x1="6.731" y1="-2.921" x2="7.112" y2="-2.54" width="0.1524" layer="21" curve="90"/>
+<wire x1="-7.112" y1="2.54" x2="-6.731" y2="2.921" width="0.1524" layer="21" curve="-90"/>
+<pad name="1" x="-8.89" y="0" drill="1.1938" shape="octagon"/>
+<pad name="2" x="8.89" y="0" drill="1.1938" shape="octagon"/>
+<text x="-6.858" y="3.302" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-5.842" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="7.112" y1="-0.508" x2="7.747" y2="0.508" layer="21"/>
+<rectangle x1="-7.747" y1="-0.508" x2="-7.112" y2="0.508" layer="21"/>
+</package>
+<package name="V526-0">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type V526-0, grid 2.5 mm</description>
+<wire x1="-2.54" y1="1.016" x2="-2.286" y2="1.27" width="0.1524" layer="21" curve="-90"/>
+<wire x1="2.286" y1="1.27" x2="2.54" y2="1.016" width="0.1524" layer="21" curve="-90"/>
+<wire x1="2.286" y1="-1.27" x2="2.54" y2="-1.016" width="0.1524" layer="21" curve="90"/>
+<wire x1="-2.54" y1="-1.016" x2="-2.286" y2="-1.27" width="0.1524" layer="21" curve="90"/>
+<wire x1="2.286" y1="1.27" x2="-2.286" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="-1.016" x2="2.54" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="-2.286" y1="-1.27" x2="2.286" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="1.016" x2="-2.54" y2="-1.016" width="0.1524" layer="21"/>
+<pad name="1" x="-1.27" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="1.27" y="0" drill="0.8128" shape="octagon"/>
+<text x="-2.413" y="1.651" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.413" y="-2.794" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+</package>
+<package name="MINI_MELF-0102AX">
+<description>&lt;b&gt;Mini MELF 0102 Axial&lt;/b&gt;</description>
+<circle x="0" y="0" radius="0.6" width="0" layer="51"/>
+<circle x="0" y="0" radius="0.6" width="0" layer="52"/>
+<smd name="1" x="0" y="0" dx="1.9" dy="1.9" layer="1" roundness="100"/>
+<smd name="2" x="0" y="0" dx="1.9" dy="1.9" layer="16" roundness="100"/>
+<text x="-1.27" y="0.9525" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.2225" size="1.27" layer="27">&gt;VALUE</text>
+<hole x="0" y="0" drill="1.3"/>
+</package>
+<package name="0922V">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0922, grid 7.5 mm</description>
+<wire x1="2.54" y1="0" x2="1.397" y2="0" width="0.8128" layer="51"/>
+<wire x1="-5.08" y1="0" x2="-3.81" y2="0" width="0.8128" layer="51"/>
+<circle x="-5.08" y="0" radius="4.572" width="0.1524" layer="21"/>
+<circle x="-5.08" y="0" radius="1.905" width="0.1524" layer="21"/>
+<pad name="1" x="-5.08" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="2.54" y="0" drill="1.016" shape="octagon"/>
+<text x="-0.508" y="1.6764" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-0.508" y="-2.9972" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-6.858" y="2.54" size="1.016" layer="21" ratio="12">0922</text>
+<rectangle x1="-3.81" y1="-0.4064" x2="1.3208" y2="0.4064" layer="21"/>
+</package>
+<package name="MINI_MELF-0102R">
+<description>&lt;b&gt;CECC Size RC2211&lt;/b&gt; Reflow Soldering&lt;p&gt;
+source Beyschlag</description>
+<wire x1="-1" y1="-0.5" x2="1" y2="-0.5" width="0.2032" layer="51"/>
+<wire x1="1" y1="-0.5" x2="1" y2="0.5" width="0.2032" layer="51"/>
+<wire x1="1" y1="0.5" x2="-1" y2="0.5" width="0.2032" layer="51"/>
+<wire x1="-1" y1="0.5" x2="-1" y2="-0.5" width="0.2032" layer="51"/>
+<smd name="1" x="-0.9" y="0" dx="0.5" dy="1.3" layer="1"/>
+<smd name="2" x="0.9" y="0" dx="0.5" dy="1.3" layer="1"/>
+<text x="-1.27" y="0.9525" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.2225" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="MINI_MELF-0102W">
+<description>&lt;b&gt;CECC Size RC2211&lt;/b&gt; Wave Soldering&lt;p&gt;
+source Beyschlag</description>
+<wire x1="-1" y1="-0.5" x2="1" y2="-0.5" width="0.2032" layer="51"/>
+<wire x1="1" y1="-0.5" x2="1" y2="0.5" width="0.2032" layer="51"/>
+<wire x1="1" y1="0.5" x2="-1" y2="0.5" width="0.2032" layer="51"/>
+<wire x1="-1" y1="0.5" x2="-1" y2="-0.5" width="0.2032" layer="51"/>
+<smd name="1" x="-0.95" y="0" dx="0.6" dy="1.3" layer="1"/>
+<smd name="2" x="0.95" y="0" dx="0.6" dy="1.3" layer="1"/>
+<text x="-1.27" y="0.9525" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.2225" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="MINI_MELF-0204R">
+<description>&lt;b&gt;CECC Size RC3715&lt;/b&gt; Reflow Soldering&lt;p&gt;
+source Beyschlag</description>
+<wire x1="-1.7" y1="-0.6" x2="1.7" y2="-0.6" width="0.2032" layer="51"/>
+<wire x1="1.7" y1="-0.6" x2="1.7" y2="0.6" width="0.2032" layer="51"/>
+<wire x1="1.7" y1="0.6" x2="-1.7" y2="0.6" width="0.2032" layer="51"/>
+<wire x1="-1.7" y1="0.6" x2="-1.7" y2="-0.6" width="0.2032" layer="51"/>
+<wire x1="0.938" y1="0.6" x2="-0.938" y2="0.6" width="0.2032" layer="21"/>
+<wire x1="-0.938" y1="-0.6" x2="0.938" y2="-0.6" width="0.2032" layer="21"/>
+<smd name="1" x="-1.5" y="0" dx="0.8" dy="1.6" layer="1"/>
+<smd name="2" x="1.5" y="0" dx="0.8" dy="1.6" layer="1"/>
+<text x="-1.27" y="0.9525" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.2225" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="MINI_MELF-0204W">
+<description>&lt;b&gt;CECC Size RC3715&lt;/b&gt; Wave Soldering&lt;p&gt;
+source Beyschlag</description>
+<wire x1="-1.7" y1="-0.6" x2="1.7" y2="-0.6" width="0.2032" layer="51"/>
+<wire x1="1.7" y1="-0.6" x2="1.7" y2="0.6" width="0.2032" layer="51"/>
+<wire x1="1.7" y1="0.6" x2="-1.7" y2="0.6" width="0.2032" layer="51"/>
+<wire x1="-1.7" y1="0.6" x2="-1.7" y2="-0.6" width="0.2032" layer="51"/>
+<wire x1="0.684" y1="0.6" x2="-0.684" y2="0.6" width="0.2032" layer="21"/>
+<wire x1="-0.684" y1="-0.6" x2="0.684" y2="-0.6" width="0.2032" layer="21"/>
+<smd name="1" x="-1.5" y="0" dx="1.2" dy="1.6" layer="1"/>
+<smd name="2" x="1.5" y="0" dx="1.2" dy="1.6" layer="1"/>
+<text x="-1.27" y="0.9525" size="1.27" layer="25">&gt;NAME</text>
+<text x="-1.27" y="-2.2225" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="MINI_MELF-0207R">
+<description>&lt;b&gt;CECC Size RC6123&lt;/b&gt; Reflow Soldering&lt;p&gt;
+source Beyschlag</description>
+<wire x1="-2.8" y1="-1" x2="2.8" y2="-1" width="0.2032" layer="51"/>
+<wire x1="2.8" y1="-1" x2="2.8" y2="1" width="0.2032" layer="51"/>
+<wire x1="2.8" y1="1" x2="-2.8" y2="1" width="0.2032" layer="51"/>
+<wire x1="-2.8" y1="1" x2="-2.8" y2="-1" width="0.2032" layer="51"/>
+<wire x1="1.2125" y1="1" x2="-1.2125" y2="1" width="0.2032" layer="21"/>
+<wire x1="-1.2125" y1="-1" x2="1.2125" y2="-1" width="0.2032" layer="21"/>
+<smd name="1" x="-2.25" y="0" dx="1.6" dy="2.5" layer="1"/>
+<smd name="2" x="2.25" y="0" dx="1.6" dy="2.5" layer="1"/>
+<text x="-2.2225" y="1.5875" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.2225" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="MINI_MELF-0207W">
+<description>&lt;b&gt;CECC Size RC6123&lt;/b&gt; Wave Soldering&lt;p&gt;
+source Beyschlag</description>
+<wire x1="-2.8" y1="-1" x2="2.8" y2="-1" width="0.2032" layer="51"/>
+<wire x1="2.8" y1="-1" x2="2.8" y2="1" width="0.2032" layer="51"/>
+<wire x1="2.8" y1="1" x2="-2.8" y2="1" width="0.2032" layer="51"/>
+<wire x1="-2.8" y1="1" x2="-2.8" y2="-1" width="0.2032" layer="51"/>
+<wire x1="1.149" y1="1" x2="-1.149" y2="1" width="0.2032" layer="21"/>
+<wire x1="-1.149" y1="-1" x2="1.149" y2="-1" width="0.2032" layer="21"/>
+<smd name="1" x="-2.6" y="0" dx="2.4" dy="2.5" layer="1"/>
+<smd name="2" x="2.6" y="0" dx="2.4" dy="2.5" layer="1"/>
+<text x="-2.54" y="1.5875" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-2.54" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="RDH/15">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type RDH, grid 15 mm</description>
+<wire x1="-7.62" y1="0" x2="-6.858" y2="0" width="0.8128" layer="51"/>
+<wire x1="-6.096" y1="3.048" x2="-5.207" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="-4.953" y1="2.794" x2="-5.207" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="-6.096" y1="-3.048" x2="-5.207" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="-4.953" y1="-2.794" x2="-5.207" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="4.953" y1="2.794" x2="5.207" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="4.953" y1="2.794" x2="-4.953" y2="2.794" width="0.1524" layer="21"/>
+<wire x1="4.953" y1="-2.794" x2="5.207" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="4.953" y1="-2.794" x2="-4.953" y2="-2.794" width="0.1524" layer="21"/>
+<wire x1="6.096" y1="3.048" x2="5.207" y2="3.048" width="0.1524" layer="21"/>
+<wire x1="6.096" y1="-3.048" x2="5.207" y2="-3.048" width="0.1524" layer="21"/>
+<wire x1="-6.477" y1="-2.667" x2="-6.477" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="-6.477" y1="1.016" x2="-6.477" y2="-1.016" width="0.1524" layer="51"/>
+<wire x1="-6.477" y1="1.016" x2="-6.477" y2="2.667" width="0.1524" layer="21"/>
+<wire x1="6.477" y1="-2.667" x2="6.477" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="6.477" y1="1.016" x2="6.477" y2="-1.016" width="0.1524" layer="51"/>
+<wire x1="6.477" y1="1.016" x2="6.477" y2="2.667" width="0.1524" layer="21"/>
+<wire x1="6.858" y1="0" x2="7.62" y2="0" width="0.8128" layer="51"/>
+<wire x1="-6.477" y1="2.667" x2="-6.096" y2="3.048" width="0.1524" layer="21" curve="-90"/>
+<wire x1="6.096" y1="3.048" x2="6.477" y2="2.667" width="0.1524" layer="21" curve="-90"/>
+<wire x1="-6.477" y1="-2.667" x2="-6.096" y2="-3.048" width="0.1524" layer="21" curve="90"/>
+<wire x1="6.096" y1="-3.048" x2="6.477" y2="-2.667" width="0.1524" layer="21" curve="90"/>
+<pad name="1" x="-7.62" y="0" drill="1.016" shape="octagon"/>
+<pad name="2" x="7.62" y="0" drill="1.016" shape="octagon"/>
+<text x="-6.35" y="3.4544" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-4.318" y="-0.5842" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="4.572" y="-1.7272" size="1.27" layer="51" ratio="10" rot="R90">RDH</text>
+<rectangle x1="-6.7564" y1="-0.4064" x2="-6.4516" y2="0.4064" layer="51"/>
+<rectangle x1="6.4516" y1="-0.4064" x2="6.7564" y2="0.4064" layer="51"/>
+</package>
+<package name="0204V">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0204, grid 2.5 mm</description>
+<wire x1="-1.27" y1="0" x2="1.27" y2="0" width="0.508" layer="51"/>
+<wire x1="-0.127" y1="0" x2="0.127" y2="0" width="0.508" layer="21"/>
+<circle x="-1.27" y="0" radius="0.889" width="0.1524" layer="51"/>
+<circle x="-1.27" y="0" radius="0.635" width="0.0508" layer="51"/>
+<pad name="1" x="-1.27" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="1.27" y="0" drill="0.8128" shape="octagon"/>
+<text x="-2.1336" y="1.1684" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.1336" y="-2.3114" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+</package>
+<package name="0309V">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt;&lt;p&gt;
+type 0309, grid 2.5 mm</description>
+<wire x1="1.27" y1="0" x2="0.635" y2="0" width="0.6096" layer="51"/>
+<wire x1="-0.635" y1="0" x2="-1.27" y2="0" width="0.6096" layer="51"/>
+<circle x="-1.27" y="0" radius="1.524" width="0.1524" layer="21"/>
+<circle x="-1.27" y="0" radius="0.762" width="0.1524" layer="51"/>
+<pad name="1" x="-1.27" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="1.27" y="0" drill="0.8128" shape="octagon"/>
+<text x="0.254" y="1.016" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="0.254" y="-2.2098" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="0.254" y1="-0.3048" x2="0.5588" y2="0.3048" layer="51"/>
+<rectangle x1="-0.635" y1="-0.3048" x2="-0.3302" y2="0.3048" layer="51"/>
+<rectangle x1="-0.3302" y1="-0.3048" x2="0.254" y2="0.3048" layer="21"/>
+</package>
+<package name="R0201">
+<description>&lt;b&gt;RESISTOR&lt;/b&gt; chip&lt;p&gt;
+Source: http://www.vishay.com/docs/20008/dcrcw.pdf</description>
+<smd name="1" x="-0.255" y="0" dx="0.28" dy="0.43" layer="1"/>
+<smd name="2" x="0.255" y="0" dx="0.28" dy="0.43" layer="1"/>
+<text x="-0.635" y="0.635" size="1.27" layer="25">&gt;NAME</text>
+<text x="-0.635" y="-1.905" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-0.3" y1="-0.15" x2="-0.15" y2="0.15" layer="51"/>
+<rectangle x1="0.15" y1="-0.15" x2="0.3" y2="0.15" layer="51"/>
+<rectangle x1="-0.15" y1="-0.15" x2="0.15" y2="0.15" layer="21"/>
+</package>
+<package name="VMTA55">
+<description>&lt;b&gt;Bulk Metal® Foil Technology&lt;/b&gt;, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements&lt;p&gt;
+MIL SIZE RNC55&lt;br&gt;
+Source: VISHAY .. vta56.pdf</description>
+<wire x1="-5.08" y1="0" x2="-4.26" y2="0" width="0.6096" layer="51"/>
+<wire x1="3.3375" y1="-1.45" x2="3.3375" y2="1.45" width="0.1524" layer="21"/>
+<wire x1="3.3375" y1="1.45" x2="-3.3625" y2="1.45" width="0.1524" layer="21"/>
+<wire x1="-3.3625" y1="1.45" x2="-3.3625" y2="-1.45" width="0.1524" layer="21"/>
+<wire x1="-3.3625" y1="-1.45" x2="3.3375" y2="-1.45" width="0.1524" layer="21"/>
+<wire x1="4.235" y1="0" x2="5.08" y2="0" width="0.6096" layer="51"/>
+<pad name="1" x="-5.08" y="0" drill="1.1" shape="octagon"/>
+<pad name="2" x="5.08" y="0" drill="1.1" shape="octagon"/>
+<text x="-3.175" y="1.905" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.175" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-4.26" y1="-0.3048" x2="-3.3075" y2="0.3048" layer="21"/>
+<rectangle x1="3.2825" y1="-0.3048" x2="4.235" y2="0.3048" layer="21"/>
+</package>
+<package name="VMTB60">
+<description>&lt;b&gt;Bulk Metal® Foil Technology&lt;/b&gt;, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements&lt;p&gt;
+MIL SIZE RNC60&lt;br&gt;
+Source: VISHAY .. vta56.pdf</description>
+<wire x1="-6.35" y1="0" x2="-5.585" y2="0" width="0.6096" layer="51"/>
+<wire x1="4.6875" y1="-1.95" x2="4.6875" y2="1.95" width="0.1524" layer="21"/>
+<wire x1="4.6875" y1="1.95" x2="-4.6875" y2="1.95" width="0.1524" layer="21"/>
+<wire x1="-4.6875" y1="1.95" x2="-4.6875" y2="-1.95" width="0.1524" layer="21"/>
+<wire x1="-4.6875" y1="-1.95" x2="4.6875" y2="-1.95" width="0.1524" layer="21"/>
+<wire x1="5.585" y1="0" x2="6.35" y2="0" width="0.6096" layer="51"/>
+<pad name="1" x="-6.35" y="0" drill="1.1" shape="octagon"/>
+<pad name="2" x="6.35" y="0" drill="1.1" shape="octagon"/>
+<text x="-4.445" y="2.54" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-4.445" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-5.585" y1="-0.3048" x2="-4.6325" y2="0.3048" layer="21"/>
+<rectangle x1="4.6325" y1="-0.3048" x2="5.585" y2="0.3048" layer="21"/>
+</package>
+<package name="VTA52">
+<description>&lt;b&gt;Bulk Metal® Foil Technology&lt;/b&gt;, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements&lt;p&gt;
+MIL SIZE RBR52&lt;br&gt;
+Source: VISHAY .. vta56.pdf</description>
+<wire x1="-15.24" y1="0" x2="-13.97" y2="0" width="0.6096" layer="51"/>
+<wire x1="12.6225" y1="0.025" x2="12.6225" y2="4.725" width="0.1524" layer="21"/>
+<wire x1="12.6225" y1="4.725" x2="-12.6225" y2="4.725" width="0.1524" layer="21"/>
+<wire x1="-12.6225" y1="4.725" x2="-12.6225" y2="0.025" width="0.1524" layer="21"/>
+<wire x1="-12.6225" y1="0.025" x2="-12.6225" y2="-4.65" width="0.1524" layer="21"/>
+<wire x1="-12.6225" y1="-4.65" x2="12.6225" y2="-4.65" width="0.1524" layer="21"/>
+<wire x1="12.6225" y1="-4.65" x2="12.6225" y2="0.025" width="0.1524" layer="21"/>
+<wire x1="13.97" y1="0" x2="15.24" y2="0" width="0.6096" layer="51"/>
+<pad name="1" x="-15.24" y="0" drill="1.1" shape="octagon"/>
+<pad name="2" x="15.24" y="0" drill="1.1" shape="octagon"/>
+<text x="-3.81" y="5.08" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.175" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-13.97" y1="-0.3048" x2="-12.5675" y2="0.3048" layer="21"/>
+<rectangle x1="12.5675" y1="-0.3048" x2="13.97" y2="0.3048" layer="21"/>
+</package>
+<package name="VTA53">
+<description>&lt;b&gt;Bulk Metal® Foil Technology&lt;/b&gt;, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements&lt;p&gt;
+MIL SIZE RBR53&lt;br&gt;
+Source: VISHAY .. vta56.pdf</description>
+<wire x1="-12.065" y1="0" x2="-10.795" y2="0" width="0.6096" layer="51"/>
+<wire x1="9.8975" y1="0" x2="9.8975" y2="4.7" width="0.1524" layer="21"/>
+<wire x1="9.8975" y1="4.7" x2="-9.8975" y2="4.7" width="0.1524" layer="21"/>
+<wire x1="-9.8975" y1="4.7" x2="-9.8975" y2="0" width="0.1524" layer="21"/>
+<wire x1="-9.8975" y1="0" x2="-9.8975" y2="-4.675" width="0.1524" layer="21"/>
+<wire x1="-9.8975" y1="-4.675" x2="9.8975" y2="-4.675" width="0.1524" layer="21"/>
+<wire x1="9.8975" y1="-4.675" x2="9.8975" y2="0" width="0.1524" layer="21"/>
+<wire x1="10.795" y1="0" x2="12.065" y2="0" width="0.6096" layer="51"/>
+<pad name="1" x="-12.065" y="0" drill="1.1" shape="octagon"/>
+<pad name="2" x="12.065" y="0" drill="1.1" shape="octagon"/>
+<text x="-3.81" y="5.08" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.175" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-10.795" y1="-0.3048" x2="-9.8425" y2="0.3048" layer="21"/>
+<rectangle x1="9.8425" y1="-0.3048" x2="10.795" y2="0.3048" layer="21"/>
+</package>
+<package name="VTA54">
+<description>&lt;b&gt;Bulk Metal® Foil Technology&lt;/b&gt;, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements&lt;p&gt;
+MIL SIZE RBR54&lt;br&gt;
+Source: VISHAY .. vta56.pdf</description>
+<wire x1="-12.065" y1="0" x2="-10.795" y2="0" width="0.6096" layer="51"/>
+<wire x1="9.8975" y1="0" x2="9.8975" y2="3.3" width="0.1524" layer="21"/>
+<wire x1="9.8975" y1="3.3" x2="-9.8975" y2="3.3" width="0.1524" layer="21"/>
+<wire x1="-9.8975" y1="3.3" x2="-9.8975" y2="0" width="0.1524" layer="21"/>
+<wire x1="-9.8975" y1="0" x2="-9.8975" y2="-3.3" width="0.1524" layer="21"/>
+<wire x1="-9.8975" y1="-3.3" x2="9.8975" y2="-3.3" width="0.1524" layer="21"/>
+<wire x1="9.8975" y1="-3.3" x2="9.8975" y2="0" width="0.1524" layer="21"/>
+<wire x1="10.795" y1="0" x2="12.065" y2="0" width="0.6096" layer="51"/>
+<pad name="1" x="-12.065" y="0" drill="1.1" shape="octagon"/>
+<pad name="2" x="12.065" y="0" drill="1.1" shape="octagon"/>
+<text x="-3.81" y="3.81" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.175" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-10.795" y1="-0.3048" x2="-9.8425" y2="0.3048" layer="21"/>
+<rectangle x1="9.8425" y1="-0.3048" x2="10.795" y2="0.3048" layer="21"/>
+</package>
+<package name="VTA55">
+<description>&lt;b&gt;Bulk Metal® Foil Technology&lt;/b&gt;, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements&lt;p&gt;
+MIL SIZE RBR55&lt;br&gt;
+Source: VISHAY .. vta56.pdf</description>
+<wire x1="-8.255" y1="0" x2="-6.985" y2="0" width="0.6096" layer="51"/>
+<wire x1="6.405" y1="0" x2="6.405" y2="3.3" width="0.1524" layer="21"/>
+<wire x1="6.405" y1="3.3" x2="-6.405" y2="3.3" width="0.1524" layer="21"/>
+<wire x1="-6.405" y1="3.3" x2="-6.405" y2="0" width="0.1524" layer="21"/>
+<wire x1="-6.405" y1="0" x2="-6.405" y2="-3.3" width="0.1524" layer="21"/>
+<wire x1="-6.405" y1="-3.3" x2="6.405" y2="-3.3" width="0.1524" layer="21"/>
+<wire x1="6.405" y1="-3.3" x2="6.405" y2="0" width="0.1524" layer="21"/>
+<wire x1="6.985" y1="0" x2="8.255" y2="0" width="0.6096" layer="51"/>
+<pad name="1" x="-8.255" y="0" drill="1.1" shape="octagon"/>
+<pad name="2" x="8.255" y="0" drill="1.1" shape="octagon"/>
+<text x="-3.81" y="3.81" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.175" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-6.985" y1="-0.3048" x2="-6.35" y2="0.3048" layer="21"/>
+<rectangle x1="6.35" y1="-0.3048" x2="6.985" y2="0.3048" layer="21"/>
+</package>
+<package name="VTA56">
+<description>&lt;b&gt;Bulk Metal® Foil Technology&lt;/b&gt;, Tubular Axial Lead Resistors, Meets or Exceeds MIL-R-39005 Requirements&lt;p&gt;
+MIL SIZE RBR56&lt;br&gt;
+Source: VISHAY .. vta56.pdf</description>
+<wire x1="-6.35" y1="0" x2="-5.08" y2="0" width="0.6096" layer="51"/>
+<wire x1="4.5" y1="0" x2="4.5" y2="3.3" width="0.1524" layer="21"/>
+<wire x1="4.5" y1="3.3" x2="-4.5" y2="3.3" width="0.1524" layer="21"/>
+<wire x1="-4.5" y1="3.3" x2="-4.5" y2="0" width="0.1524" layer="21"/>
+<wire x1="-4.5" y1="0" x2="-4.5" y2="-3.3" width="0.1524" layer="21"/>
+<wire x1="-4.5" y1="-3.3" x2="4.5" y2="-3.3" width="0.1524" layer="21"/>
+<wire x1="4.5" y1="-3.3" x2="4.5" y2="0" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="0" x2="6.35" y2="0" width="0.6096" layer="51"/>
+<pad name="1" x="-6.35" y="0" drill="1.1" shape="octagon"/>
+<pad name="2" x="6.35" y="0" drill="1.1" shape="octagon"/>
+<text x="-3.81" y="3.81" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-3.175" y="-0.635" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-5.08" y1="-0.3048" x2="-4.445" y2="0.3048" layer="21"/>
+<rectangle x1="4.445" y1="-0.3048" x2="5.08" y2="0.3048" layer="21"/>
+</package>
+<package name="R4527">
+<description>&lt;b&gt;Package 4527&lt;/b&gt;&lt;p&gt;
+Source: http://www.vishay.com/docs/31059/wsrhigh.pdf</description>
+<wire x1="-5.675" y1="-3.375" x2="5.65" y2="-3.375" width="0.2032" layer="21"/>
+<wire x1="5.65" y1="-3.375" x2="5.65" y2="3.375" width="0.2032" layer="51"/>
+<wire x1="5.65" y1="3.375" x2="-5.675" y2="3.375" width="0.2032" layer="21"/>
+<wire x1="-5.675" y1="3.375" x2="-5.675" y2="-3.375" width="0.2032" layer="51"/>
+<smd name="1" x="-4.575" y="0" dx="3.94" dy="5.84" layer="1"/>
+<smd name="2" x="4.575" y="0" dx="3.94" dy="5.84" layer="1"/>
+<text x="-5.715" y="3.81" size="1.27" layer="25">&gt;NAME</text>
+<text x="-5.715" y="-5.08" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="WSC0001">
+<description>&lt;b&gt;Wirewound Resistors, Precision Power&lt;/b&gt;&lt;p&gt;
+Source: VISHAY wscwsn.pdf</description>
+<wire x1="-3.075" y1="1.8" x2="-3.075" y2="-1.8" width="0.2032" layer="51"/>
+<wire x1="-3.075" y1="-1.8" x2="3.075" y2="-1.8" width="0.2032" layer="21"/>
+<wire x1="3.075" y1="-1.8" x2="3.075" y2="1.8" width="0.2032" layer="51"/>
+<wire x1="3.075" y1="1.8" x2="-3.075" y2="1.8" width="0.2032" layer="21"/>
+<wire x1="-3.075" y1="1.8" x2="-3.075" y2="1.606" width="0.2032" layer="21"/>
+<wire x1="-3.075" y1="-1.606" x2="-3.075" y2="-1.8" width="0.2032" layer="21"/>
+<wire x1="3.075" y1="1.606" x2="3.075" y2="1.8" width="0.2032" layer="21"/>
+<wire x1="3.075" y1="-1.8" x2="3.075" y2="-1.606" width="0.2032" layer="21"/>
+<smd name="1" x="-2.675" y="0" dx="2.29" dy="2.92" layer="1"/>
+<smd name="2" x="2.675" y="0" dx="2.29" dy="2.92" layer="1"/>
+<text x="-2.544" y="2.229" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.544" y="-3.501" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="WSC0002">
+<description>&lt;b&gt;Wirewound Resistors, Precision Power&lt;/b&gt;&lt;p&gt;
+Source: VISHAY wscwsn.pdf</description>
+<wire x1="-5.55" y1="3.375" x2="-5.55" y2="-3.375" width="0.2032" layer="51"/>
+<wire x1="-5.55" y1="-3.375" x2="5.55" y2="-3.375" width="0.2032" layer="21"/>
+<wire x1="5.55" y1="-3.375" x2="5.55" y2="3.375" width="0.2032" layer="51"/>
+<wire x1="5.55" y1="3.375" x2="-5.55" y2="3.375" width="0.2032" layer="21"/>
+<smd name="1" x="-4.575" y="0.025" dx="3.94" dy="5.84" layer="1"/>
+<smd name="2" x="4.575" y="0" dx="3.94" dy="5.84" layer="1"/>
+<text x="-5.65" y="3.9" size="1.27" layer="25">&gt;NAME</text>
+<text x="-5.65" y="-5.15" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="WSC01/2">
+<description>&lt;b&gt;Wirewound Resistors, Precision Power&lt;/b&gt;&lt;p&gt;
+Source: VISHAY wscwsn.pdf</description>
+<wire x1="-2.45" y1="1.475" x2="-2.45" y2="-1.475" width="0.2032" layer="51"/>
+<wire x1="-2.45" y1="-1.475" x2="2.45" y2="-1.475" width="0.2032" layer="21"/>
+<wire x1="2.45" y1="-1.475" x2="2.45" y2="1.475" width="0.2032" layer="51"/>
+<wire x1="2.45" y1="1.475" x2="-2.45" y2="1.475" width="0.2032" layer="21"/>
+<wire x1="-2.45" y1="1.475" x2="-2.45" y2="1.106" width="0.2032" layer="21"/>
+<wire x1="-2.45" y1="-1.106" x2="-2.45" y2="-1.475" width="0.2032" layer="21"/>
+<wire x1="2.45" y1="1.106" x2="2.45" y2="1.475" width="0.2032" layer="21"/>
+<wire x1="2.45" y1="-1.475" x2="2.45" y2="-1.106" width="0.2032" layer="21"/>
+<smd name="1" x="-2.1" y="0" dx="2.16" dy="1.78" layer="1"/>
+<smd name="2" x="2.1" y="0" dx="2.16" dy="1.78" layer="1"/>
+<text x="-2.544" y="1.904" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.544" y="-3.176" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="WSC2515">
+<description>&lt;b&gt;Wirewound Resistors, Precision Power&lt;/b&gt;&lt;p&gt;
+Source: VISHAY wscwsn.pdf</description>
+<wire x1="-3.075" y1="1.8" x2="-3.075" y2="-1.8" width="0.2032" layer="51"/>
+<wire x1="-3.075" y1="-1.8" x2="3.05" y2="-1.8" width="0.2032" layer="21"/>
+<wire x1="3.05" y1="-1.8" x2="3.05" y2="1.8" width="0.2032" layer="51"/>
+<wire x1="3.05" y1="1.8" x2="-3.075" y2="1.8" width="0.2032" layer="21"/>
+<wire x1="-3.075" y1="1.8" x2="-3.075" y2="1.606" width="0.2032" layer="21"/>
+<wire x1="-3.075" y1="-1.606" x2="-3.075" y2="-1.8" width="0.2032" layer="21"/>
+<wire x1="3.05" y1="1.606" x2="3.05" y2="1.8" width="0.2032" layer="21"/>
+<wire x1="3.05" y1="-1.8" x2="3.05" y2="-1.606" width="0.2032" layer="21"/>
+<smd name="1" x="-2.675" y="0" dx="2.29" dy="2.92" layer="1"/>
+<smd name="2" x="2.675" y="0" dx="2.29" dy="2.92" layer="1"/>
+<text x="-3.2" y="2.15" size="1.27" layer="25">&gt;NAME</text>
+<text x="-3.2" y="-3.4" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="WSC4527">
+<description>&lt;b&gt;Wirewound Resistors, Precision Power&lt;/b&gt;&lt;p&gt;
+Source: VISHAY wscwsn.pdf</description>
+<wire x1="-5.675" y1="3.4" x2="-5.675" y2="-3.375" width="0.2032" layer="51"/>
+<wire x1="-5.675" y1="-3.375" x2="5.675" y2="-3.375" width="0.2032" layer="21"/>
+<wire x1="5.675" y1="-3.375" x2="5.675" y2="3.4" width="0.2032" layer="51"/>
+<wire x1="5.675" y1="3.4" x2="-5.675" y2="3.4" width="0.2032" layer="21"/>
+<smd name="1" x="-4.575" y="0.025" dx="3.94" dy="5.84" layer="1"/>
+<smd name="2" x="4.575" y="0" dx="3.94" dy="5.84" layer="1"/>
+<text x="-5.775" y="3.925" size="1.27" layer="25">&gt;NAME</text>
+<text x="-5.775" y="-5.15" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="WSC6927">
+<description>&lt;b&gt;Wirewound Resistors, Precision Power&lt;/b&gt;&lt;p&gt;
+Source: VISHAY wscwsn.pdf</description>
+<wire x1="-8.65" y1="3.375" x2="-8.65" y2="-3.375" width="0.2032" layer="51"/>
+<wire x1="-8.65" y1="-3.375" x2="8.65" y2="-3.375" width="0.2032" layer="21"/>
+<wire x1="8.65" y1="-3.375" x2="8.65" y2="3.375" width="0.2032" layer="51"/>
+<wire x1="8.65" y1="3.375" x2="-8.65" y2="3.375" width="0.2032" layer="21"/>
+<smd name="1" x="-7.95" y="0.025" dx="3.94" dy="5.97" layer="1"/>
+<smd name="2" x="7.95" y="0" dx="3.94" dy="5.97" layer="1"/>
+<text x="-8.75" y="3.9" size="1.27" layer="25">&gt;NAME</text>
+<text x="-8.75" y="-5.15" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+<package name="R1218">
+<description>&lt;b&gt;CRCW1218 Thick Film, Rectangular Chip Resistors&lt;/b&gt;&lt;p&gt;
+Source: http://www.vishay.com .. dcrcw.pdf</description>
+<wire x1="-0.913" y1="-2.219" x2="0.939" y2="-2.219" width="0.1524" layer="51"/>
+<wire x1="0.913" y1="2.219" x2="-0.939" y2="2.219" width="0.1524" layer="51"/>
+<smd name="1" x="-1.475" y="0" dx="1.05" dy="4.9" layer="1"/>
+<smd name="2" x="1.475" y="0" dx="1.05" dy="4.9" layer="1"/>
+<text x="-2.54" y="2.54" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.54" y="-3.81" size="1.27" layer="27">&gt;VALUE</text>
+<rectangle x1="-1.651" y1="-2.3" x2="-0.9009" y2="2.3" layer="51"/>
+<rectangle x1="0.9144" y1="-2.3" x2="1.6645" y2="2.3" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="R-US">
+<wire x1="-2.54" y1="0" x2="-2.159" y2="1.016" width="0.2032" layer="94"/>
+<wire x1="-2.159" y1="1.016" x2="-1.524" y2="-1.016" width="0.2032" layer="94"/>
+<wire x1="-1.524" y1="-1.016" x2="-0.889" y2="1.016" width="0.2032" layer="94"/>
+<wire x1="-0.889" y1="1.016" x2="-0.254" y2="-1.016" width="0.2032" layer="94"/>
+<wire x1="-0.254" y1="-1.016" x2="0.381" y2="1.016" width="0.2032" layer="94"/>
+<wire x1="0.381" y1="1.016" x2="1.016" y2="-1.016" width="0.2032" layer="94"/>
+<wire x1="1.016" y1="-1.016" x2="1.651" y2="1.016" width="0.2032" layer="94"/>
+<wire x1="1.651" y1="1.016" x2="2.286" y2="-1.016" width="0.2032" layer="94"/>
+<wire x1="2.286" y1="-1.016" x2="2.54" y2="0" width="0.2032" layer="94"/>
+<text x="-3.81" y="1.4986" size="1.778" layer="95">&gt;NAME</text>
+<text x="-3.81" y="-3.302" size="1.778" layer="96">&gt;VALUE</text>
+<pin name="2" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<pin name="1" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="R-US_" prefix="R" uservalue="yes">
+<description>&lt;B&gt;RESISTOR&lt;/B&gt;, American symbol</description>
+<gates>
+<gate name="G$1" symbol="R-US" x="0" y="0"/>
+</gates>
+<devices>
+<device name="R0402" package="R0402">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R0603" package="R0603">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R0805" package="R0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R0805W" package="R0805W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R1005" package="R1005">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R1206" package="R1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R1206W" package="R1206W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R1210" package="R1210">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R1210W" package="R1210W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R2010" package="R2010">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R2010W" package="R2010W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R2012" package="R2012">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R2012W" package="R2012W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R2512" package="R2512">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R2512W" package="R2512W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R3216" package="R3216">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R3216W" package="R3216W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R3225" package="R3225">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R3225W" package="R3225W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R5025" package="R5025">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R5025W" package="R5025W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R6332" package="R6332">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R6332W" package="R6332W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="M0805" package="M0805">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="M1206" package="M1206">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="M1406" package="M1406">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="M2012" package="M2012">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="M2309" package="M2309">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="M3216" package="M3216">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="M3516" package="M3516">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="M5923" package="M5923">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0204/5" package="0204/5">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0204/7" package="0204/7">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0207/10" package="0207/10">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0207/12" package="0207/12">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0207/15" package="0207/15">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0207/2V" package="0207/2V">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0207/5V" package="0207/5V">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0207/7" package="0207/7">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0309/10" package="0309/10">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0309/12" package="0309/12">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0411/12" package="0411/12">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0411/15" package="0411/15">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0411/3V" package="0411V">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0414/15" package="0414/15">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0414/5V" package="0414V">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0617/17" package="0617/17">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0617/22" package="0617/22">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0617/5V" package="0617V">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0922/22" package="0922/22">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0613/5V" package="P0613V">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0613/15" package="P0613/15">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0817/22" package="P0817/22">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0817/7V" package="P0817V">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="V234/12" package="V234/12">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="V235/17" package="V235/17">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="V526-0" package="V526-0">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="MELF0102AX" package="MINI_MELF-0102AX">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0922V" package="0922V">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="MELF0102R" package="MINI_MELF-0102R">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="MELF0102W" package="MINI_MELF-0102W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="MELF0204R" package="MINI_MELF-0204R">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="MELF0204W" package="MINI_MELF-0204W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="MELF0207R" package="MINI_MELF-0207R">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="MELF0207W" package="MINI_MELF-0207W">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="RDH/15" package="RDH/15">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0204/2V" package="0204V">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="0309/V" package="0309V">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R0201" package="R0201">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="VMTA55" package="VMTA55">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="VMTB60" package="VMTB60">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="VTA52" package="VTA52">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="VTA53" package="VTA53">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="VTA54" package="VTA54">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="VTA55" package="VTA55">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="VTA56" package="VTA56">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R4527" package="R4527">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="WSC0001" package="WSC0001">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="WSC0002" package="WSC0002">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="WSC01/2" package="WSC01/2">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="WSC2515" package="WSC2515">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="WSC4527" package="WSC4527">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="WSC6927" package="WSC6927">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="R1218" package="R1218">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="RGB LED">
+<packages>
+<package name="RGB_VERTICAL">
+<wire x1="3.175" y1="-1.27" x2="3.175" y2="1.27" width="0.4064" layer="21" curve="-306.869898" cap="flat"/>
+<wire x1="3.175" y1="1.27" x2="3.175" y2="-1.27" width="0.4064" layer="21"/>
+<wire x1="2.54" y1="-1.27" x2="2.54" y2="1.27" width="0.127" layer="21" curve="-292.619865" cap="flat"/>
+<pad name="3" x="0" y="0" drill="0.8" rot="R90"/>
+<pad name="2" x="1.905" y="0" drill="0.8" shape="square" rot="R90"/>
+<pad name="1" x="3.81" y="0" drill="0.8" rot="R90"/>
+<pad name="4" x="-1.905" y="0" drill="0.8" rot="R90"/>
+<text x="3.175" y="2.54" size="1.27" layer="25">&gt;NAME</text>
+<text x="3.175" y="-3.81" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="RGBLED_COMMON_CATHODE">
+<wire x1="-7.62" y1="5.08" x2="-5.08" y2="5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="-5.08" y1="5.08" x2="0" y2="5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="0" y1="5.08" x2="5.08" y2="5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="5.08" y1="5.08" x2="7.62" y2="5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="7.62" y1="5.08" x2="7.62" y2="-5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="7.62" y1="-5.08" x2="-5.08" y2="-5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="-5.08" y1="-5.08" x2="-7.62" y2="-5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="-7.62" y1="-5.08" x2="-7.62" y2="5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="-5.08" y1="-2.54" x2="-5.08" y2="-5.08" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="5.08" x2="-5.08" y2="0.762" width="0.254" layer="94"/>
+<wire x1="0" y1="5.08" x2="0" y2="0.762" width="0.254" layer="94"/>
+<wire x1="5.08" y1="5.08" x2="5.08" y2="0.762" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="5.08" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-2.54" x2="-5.08" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="0" y1="-2.54" x2="0" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-2.54" x2="5.08" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="-6.35" y1="-0.762" x2="-5.08" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-0.762" x2="-3.81" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="-0.762" x2="-6.35" y2="0.762" width="0.254" layer="94"/>
+<wire x1="-6.35" y1="0.762" x2="-5.08" y2="0.762" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="0.762" x2="-3.81" y2="0.762" width="0.254" layer="94"/>
+<wire x1="-3.81" y1="0.762" x2="-5.08" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="-1.27" y1="-0.762" x2="0" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="0" y1="-0.762" x2="1.27" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="0" y1="-0.762" x2="-1.27" y2="0.762" width="0.254" layer="94"/>
+<wire x1="-1.27" y1="0.762" x2="0" y2="0.762" width="0.254" layer="94"/>
+<wire x1="0" y1="0.762" x2="1.27" y2="0.762" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0.762" x2="0" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="3.81" y1="-0.762" x2="5.08" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-0.762" x2="6.35" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-0.762" x2="3.81" y2="0.762" width="0.254" layer="94"/>
+<wire x1="3.81" y1="0.762" x2="5.08" y2="0.762" width="0.254" layer="94"/>
+<wire x1="5.08" y1="0.762" x2="6.35" y2="0.762" width="0.254" layer="94"/>
+<wire x1="6.35" y1="0.762" x2="5.08" y2="-0.762" width="0.254" layer="94"/>
+<wire x1="-10.16" y1="-2.54" x2="-9.652" y2="-1.27" width="0.254" layer="94"/>
+<wire x1="-9.652" y1="-1.27" x2="-8.89" y2="-2.032" width="0.254" layer="94"/>
+<wire x1="-8.89" y1="-2.032" x2="-10.16" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-8.382" y1="-0.762" x2="-9.144" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="-10.16" y1="0" x2="-9.652" y2="1.27" width="0.254" layer="94"/>
+<wire x1="-9.652" y1="1.27" x2="-8.89" y2="0.508" width="0.254" layer="94"/>
+<wire x1="-8.89" y1="0.508" x2="-10.16" y2="0" width="0.254" layer="94"/>
+<wire x1="-8.382" y1="1.778" x2="-9.144" y2="1.016" width="0.254" layer="94"/>
+<text x="10.16" y="2.54" size="1.778" layer="95">&gt;NAME</text>
+<text x="10.16" y="0" size="1.778" layer="96">&gt;VALUE</text>
+<pin name="R" x="-5.08" y="7.62" length="short" rot="R270"/>
+<pin name="C" x="-5.08" y="-7.62" length="short" rot="R90"/>
+<pin name="G" x="0" y="7.62" length="short" rot="R270"/>
+<pin name="B" x="5.08" y="7.62" length="short" rot="R270"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="RGBLED_COMMON_CATHODE">
+<description>Common Cathode RGB LED mounted vertically</description>
+<gates>
+<gate name="G$1" symbol="RGBLED_COMMON_CATHODE" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="RGB_VERTICAL">
+<connects>
+<connect gate="G$1" pin="B" pad="4"/>
+<connect gate="G$1" pin="C" pad="2"/>
+<connect gate="G$1" pin="G" pad="3"/>
+<connect gate="G$1" pin="R" pad="1"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="CodeShield Parts">
+<packages>
+<package name="VERT_POT">
+<wire x1="-4.8" y1="12.5" x2="4.8" y2="12.5" width="0.4064" layer="21"/>
+<wire x1="4.8" y1="12.5" x2="4.8" y2="1" width="0.4064" layer="21"/>
+<wire x1="4.8" y1="1" x2="-4.8" y2="1" width="0.4064" layer="21"/>
+<wire x1="-4.8" y1="1" x2="-4.8" y2="12.5" width="0.4064" layer="21"/>
+<circle x="0" y="7" radius="2.5" width="0.4064" layer="21"/>
+<pad name="2" x="0" y="0" drill="1.1" diameter="1.9304"/>
+<pad name="3" x="2.5" y="0" drill="1.1" diameter="1.9304"/>
+<pad name="1" x="-2.5" y="0" drill="1.1" diameter="1.9304"/>
+<pad name="P$4" x="-4.5" y="7" drill="2" diameter="3.81" shape="square"/>
+<pad name="P$5" x="4.5" y="7" drill="2" diameter="3.81" shape="square"/>
+<text x="-3.5" y="-3.5" size="1.4224" layer="25">&gt;NAME</text>
+</package>
+<package name="TSC_RELAY">
+<wire x1="-6.35" y1="3.81" x2="6.35" y2="3.81" width="0.127" layer="21"/>
+<wire x1="6.35" y1="3.81" x2="6.35" y2="-3.81" width="0.127" layer="21"/>
+<wire x1="6.35" y1="-3.81" x2="-6.35" y2="-3.81" width="0.127" layer="21"/>
+<wire x1="-6.35" y1="-3.81" x2="-6.35" y2="3.81" width="0.127" layer="21"/>
+<pad name="1" x="-5.08" y="2.54" drill="0.8" diameter="1.6764"/>
+<pad name="6" x="-5.08" y="-2.54" drill="0.8" diameter="1.6764"/>
+<pad name="5" x="-2.54" y="-2.54" drill="0.8" diameter="1.6764"/>
+<pad name="2" x="-2.54" y="2.54" drill="0.8" diameter="1.6764"/>
+<pad name="4" x="5.08" y="-2.54" drill="0.8" diameter="1.6764"/>
+<pad name="3" x="5.08" y="2.54" drill="0.8" diameter="1.6764"/>
+<text x="0" y="-6.35" size="1.27" layer="25">&gt;NAME</text>
+</package>
+<package name="TO_92_SHORT">
+<wire x1="-2.54" y1="1.27" x2="2.54" y2="1.27" width="0.127" layer="21"/>
+<wire x1="2.54" y1="1.27" x2="2.54" y2="0" width="0.127" layer="21"/>
+<wire x1="2.54" y1="0" x2="1.27" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="1.27" y1="-1.27" x2="-1.27" y2="-1.27" width="0.127" layer="21"/>
+<wire x1="-1.27" y1="-1.27" x2="-2.54" y2="0" width="0.127" layer="21"/>
+<wire x1="-2.54" y1="0" x2="-2.54" y2="1.27" width="0.127" layer="21"/>
+<pad name="V-" x="0" y="0" drill="0.5" shape="long" rot="R90"/>
+<pad name="OUT" x="1.905" y="0" drill="0.5" shape="long" rot="R90"/>
+<pad name="V+" x="-1.905" y="0" drill="0.5" shape="long" rot="R90"/>
+<text x="-2.54" y="-3.81" size="1.27" layer="25">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="POTENTIOMETER">
+<wire x1="0" y1="5.08" x2="-1.778" y2="4.064" width="0.254" layer="94"/>
+<wire x1="-1.778" y1="4.064" x2="1.778" y2="2.794" width="0.254" layer="94"/>
+<wire x1="1.778" y1="2.794" x2="-1.778" y2="1.524" width="0.254" layer="94"/>
+<wire x1="-1.778" y1="1.524" x2="1.778" y2="0" width="0.254" layer="94"/>
+<wire x1="1.778" y1="0" x2="-1.778" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="-1.778" y1="-1.524" x2="1.778" y2="-2.794" width="0.254" layer="94"/>
+<wire x1="1.778" y1="-2.794" x2="-1.778" y2="-4.064" width="0.254" layer="94"/>
+<wire x1="-1.778" y1="-4.064" x2="0" y2="-5.08" width="0.254" layer="94"/>
+<wire x1="5.08" y1="0" x2="1.778" y2="0" width="0.254" layer="94"/>
+<wire x1="1.778" y1="0" x2="3.048" y2="0.508" width="0.254" layer="94"/>
+<wire x1="3.048" y1="0.508" x2="3.048" y2="-0.508" width="0.254" layer="94"/>
+<wire x1="3.048" y1="-0.508" x2="1.778" y2="0" width="0.254" layer="94"/>
+<text x="5.08" y="-5.08" size="1.6764" layer="95">&gt;NAME</text>
+<pin name="1" x="0" y="7.62" length="short" rot="R270"/>
+<pin name="3" x="0" y="-7.62" length="short" rot="R90"/>
+<pin name="2" x="7.62" y="0" length="short" rot="R180"/>
+</symbol>
+<symbol name="SS49E">
+<wire x1="-2.54" y1="5.08" x2="5.08" y2="5.08" width="0.254" layer="94"/>
+<wire x1="5.08" y1="5.08" x2="5.08" y2="-5.08" width="0.254" layer="94"/>
+<wire x1="5.08" y1="-5.08" x2="-2.54" y2="-5.08" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-5.08" x2="-2.54" y2="5.08" width="0.254" layer="94"/>
+<text x="-2.54" y="-7.62" size="1.778" layer="95">&gt;NAME</text>
+<pin name="V+" x="7.62" y="2.54" length="short" rot="R180"/>
+<pin name="OUT" x="7.62" y="0" length="short" rot="R180"/>
+<pin name="V-" x="7.62" y="-2.54" length="short" rot="R180"/>
+</symbol>
+<symbol name="1FORMC">
+<wire x1="-2.54" y1="2.54" x2="-2.54" y2="1.27" width="0.254" layer="94" curve="-180"/>
+<wire x1="-2.54" y1="0" x2="-2.54" y2="1.27" width="0.254" layer="94" curve="180"/>
+<wire x1="-2.54" y1="0" x2="-2.54" y2="-1.27" width="0.254" layer="94" curve="-180"/>
+<wire x1="-2.54" y1="-1.27" x2="-2.54" y2="-2.54" width="0.254" layer="94" curve="-180"/>
+<wire x1="0" y1="2.54" x2="0" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-0.508" y1="2.54" x2="-0.508" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="2.032" y1="2.54" x2="2.54" y2="2.54" width="0.254" layer="94"/>
+<wire x1="2.54" y1="2.54" x2="3.048" y2="2.54" width="0.254" layer="94"/>
+<wire x1="3.048" y1="2.54" x2="2.54" y2="1.524" width="0.254" layer="94"/>
+<wire x1="2.54" y1="1.524" x2="2.032" y2="2.54" width="0.254" layer="94"/>
+<wire x1="2.032" y1="-2.54" x2="2.54" y2="-1.524" width="0.254" layer="94"/>
+<wire x1="2.54" y1="-1.524" x2="3.048" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="3.048" y1="-2.54" x2="2.54" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="2.54" y1="-2.54" x2="2.032" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="2.54" y1="2.54" x2="2.54" y2="5.08" width="0.254" layer="94"/>
+<wire x1="2.54" y1="-5.08" x2="2.54" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="1.778" y1="1.27" x2="5.08" y2="0" width="0.254" layer="94"/>
+<wire x1="5.08" y1="0" x2="7.62" y2="0" width="0.254" layer="94"/>
+<wire x1="7.62" y1="0" x2="7.62" y2="5.08" width="0.254" layer="94"/>
+<wire x1="7.62" y1="0" x2="7.62" y2="-5.08" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-2.54" x2="-5.08" y2="-2.54" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="2.54" x2="-5.08" y2="2.54" width="0.254" layer="94"/>
+<wire x1="-5.08" y1="5.08" x2="-5.08" y2="-5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="-5.08" y1="-5.08" x2="10.16" y2="-5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="10.16" y1="-5.08" x2="10.16" y2="5.08" width="0.254" layer="94" style="shortdash"/>
+<wire x1="10.16" y1="5.08" x2="-5.08" y2="5.08" width="0.254" layer="94" style="shortdash"/>
+<text x="10.16" y="0" size="1.778" layer="95">&gt;NAME</text>
+<pin name="2" x="-7.62" y="2.54" length="short"/>
+<pin name="5" x="-7.62" y="-2.54" length="short"/>
+<pin name="1" x="2.54" y="7.62" length="short" rot="R270"/>
+<pin name="3" x="7.62" y="7.62" length="short" rot="R270"/>
+<pin name="6" x="2.54" y="-7.62" length="short" rot="R90"/>
+<pin name="4" x="7.62" y="-7.62" length="short" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="EVU_POTENTIOMETER" prefix="R">
+<description>Panasonic EVU-series potentiometer
+
+6mm flatted shaft
+vertical orientation</description>
+<gates>
+<gate name="G$1" symbol="POTENTIOMETER" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="VERT_POT">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="TSC_1FORMC" prefix="RLY">
+<description>Tyco Electronics TSC-series relay. 1 FORM C topology; ON-(ON)</description>
+<gates>
+<gate name="G$1" symbol="1FORMC" x="-2.54" y="0"/>
+</gates>
+<devices>
+<device name="" package="TSC_RELAY">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+<connect gate="G$1" pin="3" pad="3"/>
+<connect gate="G$1" pin="4" pad="4"/>
+<connect gate="G$1" pin="5" pad="5"/>
+<connect gate="G$1" pin="6" pad="6"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+<deviceset name="SS49E" prefix="U">
+<description>Honeywell SS49E series Hall Effect Sensor
+
+Sensing range: 1mV/G ~ 1.75mV/G
+Type: Linear
+Voltage: 2.7V - 6.5V
+Supply Current: 10mA
+Output: Analog</description>
+<gates>
+<gate name="G$1" symbol="SS49E" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="TO_92_SHORT">
+<connects>
+<connect gate="G$1" pin="OUT" pad="OUT"/>
+<connect gate="G$1" pin="V+" pad="V+"/>
+<connect gate="G$1" pin="V-" pad="V-"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="varistor">
+<packages>
+<package name="RS-2,5">
+<description>&lt;b&gt;VARISTOR&lt;/b&gt;</description>
+<wire x1="-0.381" y1="0" x2="0.381" y2="0" width="0.1524" layer="21"/>
+<circle x="-1.27" y="0" radius="1.27" width="0.1524" layer="21"/>
+<pad name="1" x="-1.27" y="0" drill="0.8128" shape="long" rot="R90"/>
+<pad name="2" x="1.27" y="0" drill="0.8128" shape="long" rot="R90"/>
+<text x="-2.54" y="1.524" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-2.54" y="3.048" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+</package>
+<package name="R-5">
+<description>&lt;b&gt;VARISTOR&lt;/b&gt;</description>
+<wire x1="-1.27" y1="0.635" x2="1.27" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-0.635" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0" x2="1.778" y2="0" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0.635" x2="1.27" y2="0" width="0.1524" layer="21"/>
+<wire x1="-1.778" y1="0" x2="-1.27" y2="0" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0.635" x2="-1.27" y2="0" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="0" x2="1.27" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="0" x2="-1.27" y2="-0.635" width="0.1524" layer="21"/>
+<pad name="1" x="-2.54" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="2.54" y="0" drill="0.8128" shape="octagon"/>
+<text x="-2.54" y="-2.286" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-1.27" y="1.016" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+</package>
+<package name="R-7,5">
+<description>&lt;b&gt;VARISTOR&lt;/b&gt;</description>
+<wire x1="-2.54" y1="-1.27" x2="2.54" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="1.27" x2="-2.54" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0" x2="3.048" y2="0" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="-1.27" x2="2.54" y2="0" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="0" x2="-3.048" y2="0" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="1.27" x2="-2.54" y2="0" width="0.1524" layer="21"/>
+<wire x1="2.54" y1="0" x2="2.54" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-2.54" y1="0" x2="-2.54" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="-3.81" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="3.81" y="0" drill="0.8128" shape="octagon"/>
+<text x="-2.54" y="1.651" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.54" y="-2.921" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="THERMIST">
+<wire x1="2.54" y1="1.016" x2="2.54" y2="-1.016" width="0.254" layer="94"/>
+<wire x1="2.54" y1="-1.016" x2="-2.54" y2="-1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="-1.016" x2="-2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="1.016" x2="2.54" y2="1.016" width="0.254" layer="94"/>
+<wire x1="3.1496" y1="-2.032" x2="2.032" y2="-2.032" width="0.254" layer="94"/>
+<wire x1="2.032" y1="-2.032" x2="-2.032" y2="2.032" width="0.254" layer="94"/>
+<text x="-2.54" y="3.81" size="1.778" layer="95">&gt;NAME</text>
+<text x="-2.54" y="-6.35" size="1.778" layer="96">&gt;VALUE</text>
+<pin name="1" x="5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1" rot="R180"/>
+<pin name="2" x="-5.08" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="THERMISTOR" prefix="R">
+<description>&lt;b&gt;THERMISTOR&lt;/b&gt;</description>
+<gates>
+<gate name="G$1" symbol="THERMIST" x="0" y="0"/>
+</gates>
+<devices>
+<device name="-2,5" package="RS-2,5">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-5" package="R-5">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+<device name="-7,5" package="R-7,5">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="photo-elements">
+<packages>
+<package name="TO46-VT200">
+<description>&lt;b&gt;Photoconductive Cell&lt;/b&gt; VT200 Series&lt;p&gt;
+Source: http://optoelectronics.perkinelmer.com/content/Datasheets/DTS_vt200seriesdatasheet.pdf</description>
+<wire x1="-0.5" y1="2" x2="-0.5" y2="1.5" width="0.1016" layer="21" curve="180"/>
+<wire x1="-0.5" y1="1.5" x2="1" y2="1.5" width="0.1016" layer="21"/>
+<wire x1="1" y1="1.5" x2="1" y2="1" width="0.1016" layer="21" curve="-180"/>
+<wire x1="1" y1="1" x2="-0.5" y2="1" width="0.1016" layer="21"/>
+<wire x1="-0.5" y1="1" x2="-0.5" y2="0.5" width="0.1016" layer="21" curve="180"/>
+<wire x1="-0.5" y1="0.5" x2="0.25" y2="0.5" width="0.1016" layer="21"/>
+<wire x1="0.25" y1="0.5" x2="0.25" y2="0" width="0.1016" layer="21" curve="-180"/>
+<wire x1="0.25" y1="0" x2="-0.25" y2="0" width="0.1016" layer="21"/>
+<wire x1="-0.25" y1="0" x2="-0.25" y2="-0.5" width="0.1016" layer="21" curve="180"/>
+<wire x1="-0.25" y1="-0.5" x2="0.25" y2="-0.5" width="0.1016" layer="21"/>
+<wire x1="0.25" y1="-0.5" x2="0.25" y2="-1" width="0.1016" layer="21" curve="-180"/>
+<wire x1="0.25" y1="-1" x2="-1" y2="-1" width="0.1016" layer="21"/>
+<wire x1="-1" y1="-1" x2="-1" y2="-1.5" width="0.1016" layer="21" curve="180"/>
+<wire x1="-1" y1="-1.5" x2="0.75" y2="-1.5" width="0.1016" layer="21"/>
+<wire x1="0.75" y1="-1.5" x2="0.75" y2="-2" width="0.1016" layer="21" curve="-180"/>
+<wire x1="0.75" y1="-2" x2="-0.5" y2="-2" width="0.1016" layer="21"/>
+<wire x1="-0.5" y1="-2" x2="-0.75" y2="-2.25" width="0.1016" layer="21" curve="90"/>
+<wire x1="-0.5" y1="2" x2="0.5" y2="2" width="0.1016" layer="21"/>
+<wire x1="0.5" y1="2" x2="0.75" y2="2.25" width="0.1016" layer="21" curve="90"/>
+<circle x="0" y="0" radius="2.8" width="0.2032" layer="21"/>
+<circle x="0" y="0" radius="2.35" width="0.2032" layer="21"/>
+<pad name="1" x="-1.27" y="0" drill="0.8" diameter="1.4"/>
+<pad name="2" x="1.27" y="0" drill="0.8" diameter="1.4"/>
+<text x="-2.25" y="-4.25" size="1.27" layer="25">&gt;NAME</text>
+<text x="-2.75" y="3" size="1.27" layer="27">&gt;VALUE</text>
+</package>
+</packages>
+<symbols>
+<symbol name="PHOTOCELL">
+<wire x1="-3.048" y1="2.413" x2="-1.651" y2="1.016" width="0.1524" layer="94"/>
+<wire x1="-3.175" y1="1.27" x2="-1.778" y2="-0.127" width="0.1524" layer="94"/>
+<wire x1="0" y1="-2.54" x2="-1.016" y2="-1.905" width="0.254" layer="94"/>
+<wire x1="1.016" y1="-1.143" x2="-1.016" y2="-0.381" width="0.254" layer="94"/>
+<wire x1="-1.016" y1="-0.381" x2="1.016" y2="0.381" width="0.254" layer="94"/>
+<wire x1="1.016" y1="0.381" x2="-1.016" y2="1.143" width="0.254" layer="94"/>
+<wire x1="-1.016" y1="1.143" x2="1.016" y2="1.905" width="0.254" layer="94"/>
+<wire x1="0" y1="2.54" x2="1.016" y2="1.905" width="0.254" layer="94"/>
+<wire x1="-1.016" y1="-1.905" x2="1.016" y2="-1.143" width="0.254" layer="94"/>
+<text x="2.54" y="0" size="1.778" layer="95">&gt;NAME</text>
+<text x="2.54" y="-2.54" size="1.778" layer="96">&gt;VALUE</text>
+<pin name="1" x="0" y="5.08" visible="off" length="short" direction="pas" swaplevel="1" rot="R270"/>
+<pin name="2" x="0" y="-5.08" visible="off" length="short" direction="pas" swaplevel="1" rot="R90"/>
+<polygon width="0.1524" layer="94">
+<vertex x="-1.778" y="-0.127"/>
+<vertex x="-2.667" y="0.254"/>
+<vertex x="-2.159" y="0.762"/>
+</polygon>
+<polygon width="0.1524" layer="94">
+<vertex x="-1.651" y="1.016"/>
+<vertex x="-2.54" y="1.397"/>
+<vertex x="-2.032" y="1.905"/>
+</polygon>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="VT2*" prefix="PH">
+<description>&lt;b&gt;Photoconductive Cell&lt;/b&gt; VT200 Series&lt;p&gt;
+Source: http://optoelectronics.perkinelmer.com/content/Datasheets/DTS_vt200seriesdatasheet.pdf</description>
+<gates>
+<gate name="G$1" symbol="PHOTOCELL" x="0" y="0" swaplevel="1"/>
+</gates>
+<devices>
+<device name="" package="TO46-VT200">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name="0N1"/>
+<technology name="0N2"/>
+<technology name="0N3"/>
+<technology name="0N4"/>
+<technology name="3N1"/>
+<technology name="3N2"/>
+<technology name="3N3"/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="transistor">
+<packages>
+<package name="TO92">
+<description>&lt;b&gt;TO 92&lt;/b&gt;</description>
+<wire x1="-2.0946" y1="-1.651" x2="-2.6549" y2="-0.254" width="0.127" layer="21" curve="-32.78104"/>
+<wire x1="-2.6549" y1="-0.254" x2="-0.7863" y2="2.5485" width="0.127" layer="21" curve="-78.318477"/>
+<wire x1="0.7863" y1="2.5484" x2="2.0945" y2="-1.651" width="0.127" layer="21" curve="-111.09954"/>
+<wire x1="-2.0945" y1="-1.651" x2="2.0945" y2="-1.651" width="0.127" layer="21"/>
+<wire x1="-2.2537" y1="-0.254" x2="-0.2863" y2="-0.254" width="0.127" layer="51"/>
+<wire x1="-2.6549" y1="-0.254" x2="-2.2537" y2="-0.254" width="0.127" layer="21"/>
+<wire x1="-0.2863" y1="-0.254" x2="0.2863" y2="-0.254" width="0.127" layer="21"/>
+<wire x1="2.2537" y1="-0.254" x2="2.6549" y2="-0.254" width="0.127" layer="21"/>
+<wire x1="0.2863" y1="-0.254" x2="2.2537" y2="-0.254" width="0.127" layer="51"/>
+<wire x1="-0.7863" y1="2.5485" x2="0.7863" y2="2.5485" width="0.127" layer="51" curve="-34.293591"/>
+<pad name="1" x="1.27" y="0" drill="0.8128" shape="octagon"/>
+<pad name="2" x="0" y="1.905" drill="0.8128" shape="octagon"/>
+<pad name="3" x="-1.27" y="0" drill="0.8128" shape="octagon"/>
+<text x="3.175" y="0.635" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="3.175" y="-1.27" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-0.635" y="0.635" size="1.27" layer="51" ratio="10">2</text>
+<text x="-2.159" y="0" size="1.27" layer="51" ratio="10">3</text>
+<text x="1.143" y="0" size="1.27" layer="51" ratio="10">1</text>
+</package>
+</packages>
+<symbols>
+<symbol name="NPN">
+<wire x1="2.54" y1="2.54" x2="0.508" y2="1.524" width="0.1524" layer="94"/>
+<wire x1="1.778" y1="-1.524" x2="2.54" y2="-2.54" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="-2.54" x2="1.27" y2="-2.54" width="0.1524" layer="94"/>
+<wire x1="1.27" y1="-2.54" x2="1.778" y2="-1.524" width="0.1524" layer="94"/>
+<wire x1="1.54" y1="-2.04" x2="0.308" y2="-1.424" width="0.1524" layer="94"/>
+<wire x1="1.524" y1="-2.413" x2="2.286" y2="-2.413" width="0.254" layer="94"/>
+<wire x1="2.286" y1="-2.413" x2="1.778" y2="-1.778" width="0.254" layer="94"/>
+<wire x1="1.778" y1="-1.778" x2="1.524" y2="-2.286" width="0.254" layer="94"/>
+<wire x1="1.524" y1="-2.286" x2="1.905" y2="-2.286" width="0.254" layer="94"/>
+<wire x1="1.905" y1="-2.286" x2="1.778" y2="-2.032" width="0.254" layer="94"/>
+<text x="-10.16" y="7.62" size="1.778" layer="95">&gt;NAME</text>
+<text x="-10.16" y="5.08" size="1.778" layer="96">&gt;VALUE</text>
+<rectangle x1="-0.254" y1="-2.54" x2="0.508" y2="2.54" layer="94"/>
+<pin name="B" x="-2.54" y="0" visible="off" length="short" direction="pas" swaplevel="1"/>
+<pin name="E" x="2.54" y="-5.08" visible="off" length="short" direction="pas" swaplevel="3" rot="R90"/>
+<pin name="C" x="2.54" y="5.08" visible="off" length="short" direction="pas" swaplevel="2" rot="R270"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="2N3904" prefix="T">
+<description>&lt;b&gt;NPN TRANSISTOR&lt;/b&gt;</description>
+<gates>
+<gate name="G1" symbol="NPN" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="TO92">
+<connects>
+<connect gate="G1" pin="B" pad="2"/>
+<connect gate="G1" pin="C" pad="1"/>
+<connect gate="G1" pin="E" pad="3"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="diode">
+<packages>
+<package name="DO41-10">
+<description>&lt;B&gt;DIODE&lt;/B&gt;&lt;p&gt;
+diameter 2.54 mm, horizontal, grid 10.16 mm</description>
+<wire x1="2.032" y1="-1.27" x2="-2.032" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="2.032" y1="-1.27" x2="2.032" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-2.032" y1="1.27" x2="2.032" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-2.032" y1="1.27" x2="-2.032" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="5.08" y1="0" x2="4.064" y2="0" width="0.762" layer="51"/>
+<wire x1="-5.08" y1="0" x2="-4.064" y2="0" width="0.762" layer="51"/>
+<wire x1="-0.635" y1="0" x2="0" y2="0" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="0.635" x2="1.016" y2="-0.635" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="-0.635" x2="0" y2="0" width="0.1524" layer="21"/>
+<wire x1="0" y1="0" x2="1.524" y2="0" width="0.1524" layer="21"/>
+<wire x1="0" y1="0" x2="1.016" y2="0.635" width="0.1524" layer="21"/>
+<wire x1="0" y1="0.635" x2="0" y2="0" width="0.1524" layer="21"/>
+<wire x1="0" y1="0" x2="0" y2="-0.635" width="0.1524" layer="21"/>
+<pad name="A" x="5.08" y="0" drill="1.1176"/>
+<pad name="C" x="-5.08" y="0" drill="1.1176"/>
+<text x="-2.032" y="1.651" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.032" y="-2.794" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-1.651" y1="-1.27" x2="-1.143" y2="1.27" layer="21"/>
+<rectangle x1="2.032" y1="-0.381" x2="3.937" y2="0.381" layer="21"/>
+<rectangle x1="-3.937" y1="-0.381" x2="-2.032" y2="0.381" layer="21"/>
+</package>
+</packages>
+<symbols>
+<symbol name="D">
+<wire x1="-1.27" y1="-1.27" x2="1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="-1.27" y2="1.27" width="0.254" layer="94"/>
+<wire x1="1.27" y1="1.27" x2="1.27" y2="0" width="0.254" layer="94"/>
+<wire x1="-1.27" y1="1.27" x2="-1.27" y2="-1.27" width="0.254" layer="94"/>
+<wire x1="1.27" y1="0" x2="1.27" y2="-1.27" width="0.254" layer="94"/>
+<text x="2.54" y="0.4826" size="1.778" layer="95">&gt;NAME</text>
+<text x="2.54" y="-2.3114" size="1.778" layer="96">&gt;VALUE</text>
+<pin name="A" x="-2.54" y="0" visible="off" length="short" direction="pas"/>
+<pin name="C" x="2.54" y="0" visible="off" length="short" direction="pas" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="1N4004" prefix="D">
+<description>&lt;B&gt;DIODE&lt;/B&gt;&lt;p&gt;
+general purpose rectifier, 1 A</description>
+<gates>
+<gate name="1" symbol="D" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="DO41-10">
+<connects>
+<connect gate="1" pin="A" pad="A"/>
+<connect gate="1" pin="C" pad="C"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="con-wago-500">
+<packages>
+<package name="W237-103">
+<description>&lt;b&gt;WAGO SCREW CLAMP&lt;/b&gt;</description>
+<wire x1="4.093" y1="-2.255" x2="5.897" y2="-0.299" width="0.254" layer="51"/>
+<wire x1="-0.911" y1="-2.331" x2="0.994" y2="-0.299" width="0.254" layer="51"/>
+<wire x1="-5.991" y1="-2.306" x2="-3.984" y2="-0.299" width="0.254" layer="51"/>
+<wire x1="-7.489" y1="-5.481" x2="7.497" y2="-5.481" width="0.1524" layer="21"/>
+<wire x1="7.497" y1="3.714" x2="7.497" y2="3.511" width="0.1524" layer="21"/>
+<wire x1="7.497" y1="3.714" x2="-7.489" y2="3.714" width="0.1524" layer="21"/>
+<wire x1="-7.489" y1="-5.481" x2="-7.489" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="-7.489" y1="-3.093" x2="-5.889" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="-5.889" y1="-3.093" x2="-4.111" y2="-3.093" width="0.1524" layer="51"/>
+<wire x1="-4.111" y1="-3.093" x2="-0.885" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="0.893" y1="-3.093" x2="4.119" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="5.897" y1="-3.093" x2="7.497" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="-7.489" y1="-3.093" x2="-7.489" y2="3.511" width="0.1524" layer="21"/>
+<wire x1="7.497" y1="-3.093" x2="7.497" y2="-5.481" width="0.1524" layer="21"/>
+<wire x1="7.497" y1="3.511" x2="-7.489" y2="3.511" width="0.1524" layer="21"/>
+<wire x1="7.497" y1="3.511" x2="7.497" y2="-3.093" width="0.1524" layer="21"/>
+<wire x1="-7.489" y1="3.511" x2="-7.489" y2="3.714" width="0.1524" layer="21"/>
+<wire x1="-0.885" y1="-3.093" x2="0.893" y2="-3.093" width="0.1524" layer="51"/>
+<wire x1="4.119" y1="-3.093" x2="5.897" y2="-3.093" width="0.1524" layer="51"/>
+<circle x="-5" y="-1.29" radius="1.4986" width="0.1524" layer="51"/>
+<circle x="5.0076" y="-1.29" radius="1.4986" width="0.1524" layer="51"/>
+<circle x="-5" y="2.1898" radius="0.508" width="0.1524" layer="21"/>
+<circle x="5.0076" y="2.1898" radius="0.508" width="0.1524" layer="21"/>
+<circle x="0.0038" y="-1.29" radius="1.4986" width="0.1524" layer="51"/>
+<circle x="0.0038" y="2.1898" radius="0.508" width="0.1524" layer="21"/>
+<pad name="1" x="-5" y="-1.29" drill="1.1938" shape="long" rot="R90"/>
+<pad name="2" x="0" y="-1.29" drill="1.1938" shape="long" rot="R90"/>
+<pad name="3" x="5" y="-1.29" drill="1.1938" shape="long" rot="R90"/>
+<text x="-6.905" y="0.615" size="1.27" layer="51" ratio="10">1</text>
+<text x="-1.8504" y="0.5642" size="1.27" layer="51" ratio="10">2</text>
+<text x="3.1534" y="0.615" size="1.27" layer="51" ratio="10">3</text>
+<text x="-5.3048" y="-4.9476" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<text x="-5.6858" y="-7.4622" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="KL">
+<circle x="1.27" y="0" radius="1.27" width="0.254" layer="94"/>
+<text x="0" y="0.889" size="1.778" layer="95" rot="R180">&gt;NAME</text>
+<pin name="KL" x="5.08" y="0" visible="off" length="short" direction="pas" rot="R180"/>
+</symbol>
+<symbol name="KL+V">
+<circle x="1.27" y="0" radius="1.27" width="0.254" layer="94"/>
+<text x="-2.54" y="-3.683" size="1.778" layer="96">&gt;VALUE</text>
+<text x="0" y="0.889" size="1.778" layer="95" rot="R180">&gt;NAME</text>
+<pin name="KL" x="5.08" y="0" visible="off" length="short" direction="pas" rot="R180"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="W237-103" prefix="X" uservalue="yes">
+<description>&lt;b&gt;WAGO SCREW CLAMP&lt;/b&gt;</description>
+<gates>
+<gate name="-1" symbol="KL" x="0" y="5.08" addlevel="always"/>
+<gate name="-2" symbol="KL" x="0" y="0" addlevel="always"/>
+<gate name="-3" symbol="KL+V" x="0" y="-5.08" addlevel="always"/>
+</gates>
+<devices>
+<device name="" package="W237-103">
+<connects>
+<connect gate="-1" pin="KL" pad="1"/>
+<connect gate="-2" pin="KL" pad="2"/>
+<connect gate="-3" pin="KL" pad="3"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="buzzer">
+<packages>
+<package name="PS1240P02BT">
+<circle x="0" y="0" radius="6.1" width="0.4064" layer="21"/>
+<circle x="0" y="0" radius="0.8" width="0.4064" layer="21"/>
+<pad name="1" x="-2.5" y="0" drill="0.8" diameter="1.9304" shape="octagon"/>
+<pad name="2" x="2.5" y="0" drill="0.8" diameter="1.9304" shape="octagon"/>
+<text x="4.5" y="-6.5" size="1.27" layer="25">&gt;NAME</text>
+</package>
+</packages>
+<symbols>
+<symbol name="B2P">
+<wire x1="-1.27" y1="3.175" x2="0" y2="3.175" width="0.1524" layer="94"/>
+<wire x1="0" y1="3.175" x2="0" y2="3.81" width="0.1524" layer="94"/>
+<wire x1="0" y1="3.175" x2="0" y2="2.54" width="0.1524" layer="94"/>
+<wire x1="0.635" y1="4.445" x2="0.635" y2="1.905" width="0.1524" layer="94"/>
+<wire x1="0.635" y1="1.905" x2="1.905" y2="1.905" width="0.1524" layer="94"/>
+<wire x1="1.905" y1="1.905" x2="1.905" y2="4.445" width="0.1524" layer="94"/>
+<wire x1="1.905" y1="4.445" x2="0.635" y2="4.445" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="3.81" x2="2.54" y2="3.175" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="3.175" x2="3.81" y2="3.175" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="3.175" x2="2.54" y2="2.54" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="-2.54" x2="2.54" y2="1.27" width="0.1524" layer="94"/>
+<wire x1="0" y1="-2.54" x2="0" y2="1.27" width="0.1524" layer="94"/>
+<wire x1="-2.54" y1="1.27" x2="0" y2="1.27" width="0.254" layer="94"/>
+<wire x1="5.08" y1="1.27" x2="5.08" y2="5.08" width="0.254" layer="94"/>
+<wire x1="5.08" y1="5.08" x2="5.715" y2="5.08" width="0.254" layer="94"/>
+<wire x1="5.715" y1="5.08" x2="5.715" y2="5.715" width="0.254" layer="94"/>
+<wire x1="5.715" y1="5.715" x2="-3.175" y2="5.715" width="0.254" layer="94"/>
+<wire x1="-3.175" y1="5.715" x2="-3.175" y2="5.08" width="0.254" layer="94"/>
+<wire x1="-3.175" y1="5.08" x2="-2.54" y2="5.08" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="5.08" x2="-2.54" y2="1.27" width="0.254" layer="94"/>
+<wire x1="-2.54" y1="5.08" x2="5.08" y2="5.08" width="0.254" layer="94"/>
+<wire x1="2.54" y1="1.27" x2="5.08" y2="1.27" width="0.254" layer="94"/>
+<wire x1="0" y1="1.27" x2="2.54" y2="1.27" width="0.254" layer="94"/>
+<text x="-2.54" y="6.35" size="1.778" layer="95">&gt;NAME</text>
+<text x="6.35" y="0" size="1.778" layer="96">&gt;VALUE</text>
+<pin name="2" x="5.08" y="-2.54" visible="pad" length="short" direction="pas" rot="R180"/>
+<pin name="1" x="-2.54" y="-2.54" visible="pad" length="short" direction="pas"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="PS1240P02BT" prefix="BUZ">
+<description>TDK piezo buzzer, 5mm pin pitch, 12.2mm diameter</description>
+<gates>
+<gate name="G$1" symbol="B2P" x="-7.62" y="0"/>
+</gates>
+<devices>
+<device name="" package="PS1240P02BT">
+<connects>
+<connect gate="G$1" pin="1" pad="1"/>
+<connect gate="G$1" pin="2" pad="2"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+<library name="jumper">
+<description>&lt;b&gt;Jumpers&lt;/b&gt;&lt;p&gt;
+&lt;author&gt;Created by librarian@cadsoft.de&lt;/author&gt;</description>
+<packages>
+<package name="JP2">
+<description>&lt;b&gt;JUMPER&lt;/b&gt;</description>
+<wire x1="-3.81" y1="-1.016" x2="-3.81" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="3.556" y1="1.27" x2="1.524" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="1.016" x2="1.524" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="3.556" y1="-1.27" x2="1.524" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="1.27" y1="-1.016" x2="1.524" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="3.556" y1="-1.27" x2="3.81" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="3.556" y1="1.27" x2="3.81" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="3.81" y1="1.016" x2="3.81" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="1.27" x2="1.27" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="1.27" x2="-1.016" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="1.016" x2="-1.016" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-1.524" y1="1.27" x2="-1.27" y2="1.016" width="0.1524" layer="21"/>
+<wire x1="-3.81" y1="1.016" x2="-3.556" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="-1.524" y1="1.27" x2="-3.556" y2="1.27" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="-1.27" x2="1.27" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="-1.27" y1="-1.016" x2="-1.016" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.524" y1="-1.27" x2="-1.27" y2="-1.016" width="0.1524" layer="21"/>
+<wire x1="-3.81" y1="-1.016" x2="-3.556" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="1.016" y1="-1.27" x2="-1.016" y2="-1.27" width="0.1524" layer="21"/>
+<wire x1="-1.524" y1="-1.27" x2="-3.556" y2="-1.27" width="0.1524" layer="21"/>
+<pad name="1" x="-2.54" y="0" drill="0.9144" shape="long" rot="R90"/>
+<pad name="2" x="0" y="0" drill="0.9144" shape="long" rot="R90"/>
+<pad name="3" x="2.54" y="0" drill="0.9144" shape="long" rot="R90"/>
+<text x="-3.556" y="1.651" size="1.27" layer="25" ratio="10">&gt;NAME</text>
+<text x="-2.54" y="-2.667" size="0.9906" layer="21" ratio="12">1</text>
+<text x="0" y="-2.667" size="0.9906" layer="21" ratio="12">2</text>
+<text x="2.54" y="-2.667" size="0.9906" layer="21" ratio="12">3</text>
+<text x="-3.556" y="-4.318" size="1.27" layer="27" ratio="10">&gt;VALUE</text>
+<rectangle x1="-2.8448" y1="-0.3048" x2="-2.2352" y2="0.3048" layer="51"/>
+<rectangle x1="-0.3048" y1="-0.3048" x2="0.3048" y2="0.3048" layer="51"/>
+<rectangle x1="2.2352" y1="-0.3048" x2="2.8448" y2="0.3048" layer="51"/>
+</package>
+</packages>
+<symbols>
+<symbol name="JP3E">
+<wire x1="2.54" y1="0" x2="2.54" y2="1.27" width="0.1524" layer="94"/>
+<wire x1="0" y1="0" x2="0" y2="1.27" width="0.1524" layer="94"/>
+<wire x1="-2.54" y1="0" x2="-2.54" y2="1.27" width="0.1524" layer="94"/>
+<wire x1="2.54" y1="2.54" x2="2.54" y2="1.27" width="0.4064" layer="94"/>
+<wire x1="0" y1="2.54" x2="0" y2="1.27" width="0.4064" layer="94"/>
+<wire x1="-2.54" y1="2.54" x2="-2.54" y2="1.27" width="0.4064" layer="94"/>
+<wire x1="-3.175" y1="0" x2="3.175" y2="0" width="0.4064" layer="94"/>
+<wire x1="3.175" y1="0" x2="3.175" y2="0.635" width="0.4064" layer="94"/>
+<wire x1="3.175" y1="0.635" x2="-3.175" y2="0.635" width="0.4064" layer="94"/>
+<wire x1="-3.175" y1="0.635" x2="-3.175" y2="0" width="0.4064" layer="94"/>
+<text x="-3.81" y="0" size="1.778" layer="95" rot="R90">&gt;NAME</text>
+<text x="5.715" y="0" size="1.778" layer="96" rot="R90">&gt;VALUE</text>
+<pin name="1" x="-2.54" y="-2.54" visible="pad" length="short" direction="pas" rot="R90"/>
+<pin name="2" x="0" y="-2.54" visible="pad" length="short" direction="pas" rot="R90"/>
+<pin name="3" x="2.54" y="-2.54" visible="pad" length="short" direction="pas" rot="R90"/>
+</symbol>
+</symbols>
+<devicesets>
+<deviceset name="JP2E" prefix="JP" uservalue="yes">
+<description>&lt;b&gt;JUMPER&lt;/b&gt;</description>
+<gates>
+<gate name="1" symbol="JP3E" x="0" y="0"/>
+</gates>
+<devices>
+<device name="" package="JP2">
+<connects>
+<connect gate="1" pin="1" pad="1"/>
+<connect gate="1" pin="2" pad="2"/>
+<connect gate="1" pin="3" pad="3"/>
+</connects>
+<technologies>
+<technology name=""/>
+</technologies>
+</device>
+</devices>
+</deviceset>
+</devicesets>
+</library>
+</libraries>
+<attributes>
+</attributes>
+<variantdefs>
+</variantdefs>
+<classes>
+<class number="0" name="default" width="0" drill="0">
+</class>
+</classes>
+<parts>
+<part name="JP1" library="pinhead" deviceset="PINHD-1X8" device=""/>
+<part name="JP2" library="pinhead" deviceset="PINHD-1X8" device=""/>
+<part name="JP3" library="pinhead" deviceset="PINHD-1X6" device=""/>
+<part name="JP4" library="pinhead" deviceset="PINHD-1X6" device=""/>
+<part name="BUTTON" library="switch-omron" deviceset="10-XX" device=""/>
+<part name="+3V1" library="supply1" deviceset="+3V3" device=""/>
+<part name="P+1" library="supply1" deviceset="+5V" device=""/>
+<part name="GND1" library="supply1" deviceset="GND" device=""/>
+<part name="GND2" library="supply1" deviceset="GND" device=""/>
+<part name="P+2" library="supply1" deviceset="V+" device=""/>
+<part name="R6" library="rcl" deviceset="R-US_" device="0207/10"/>
+<part name="GND4" library="supply1" deviceset="GND" device=""/>
+<part name="P+4" library="supply1" deviceset="+5V" device=""/>
+<part name="RGB" library="RGB LED" deviceset="RGBLED_COMMON_CATHODE" device="" value="RGB LED"/>
+<part name="R1" library="rcl" deviceset="R-US_" device="0207/10"/>
+<part name="R2" library="rcl" deviceset="R-US_" device="0207/10"/>
+<part name="R3" library="rcl" deviceset="R-US_" device="0207/10"/>
+<part name="GND5" library="supply1" deviceset="GND" device=""/>
+<part name="POT" library="CodeShield Parts" deviceset="EVU_POTENTIOMETER" device=""/>
+<part name="HALL" library="CodeShield Parts" deviceset="SS49E" device=""/>
+<part name="RELAY" library="CodeShield Parts" deviceset="TSC_1FORMC" device=""/>
+<part name="GND8" library="supply1" deviceset="GND" device=""/>
+<part name="P+5" library="supply1" deviceset="+5V" device=""/>
+<part name="P+6" library="supply1" deviceset="+5V" device=""/>
+<part name="GND9" library="supply1" deviceset="GND" device=""/>
+<part name="THERM" library="varistor" deviceset="THERMISTOR" device="-5" value="Thermistor"/>
+<part name="R7" library="rcl" deviceset="R-US_" device="0207/10"/>
+<part name="P+7" library="supply1" deviceset="+5V" device=""/>
+<part name="GND10" library="supply1" deviceset="GND" device=""/>
+<part name="PHOTO" library="photo-elements" deviceset="VT2*" device="" technology="0N1" value="CdS Photocell"/>
+<part name="R8" library="rcl" deviceset="R-US_" device="0207/10"/>
+<part name="P+8" library="supply1" deviceset="+5V" device=""/>
+<part name="GND11" library="supply1" deviceset="GND" device=""/>
+<part name="T1" library="transistor" deviceset="2N3904" device=""/>
+<part name="D1" library="diode" deviceset="1N4004" device=""/>
+<part name="P+9" library="supply1" deviceset="+5V" device=""/>
+<part name="GND12" library="supply1" deviceset="GND" device=""/>
+<part name="X1" library="con-wago-500" deviceset="W237-103" device=""/>
+<part name="R9" library="rcl" deviceset="R-US_" device="0207/10"/>
+<part name="R10" library="rcl" deviceset="R-US_" device="0207/10"/>
+<part name="GND13" library="supply1" deviceset="GND" device=""/>
+<part name="P+10" library="supply1" deviceset="+5V" device=""/>
+<part name="GND14" library="supply1" deviceset="GND" device=""/>
+<part name="PIEZO" library="buzzer" deviceset="PS1240P02BT" device=""/>
+<part name="SERVO" library="jumper" deviceset="JP2E" device=""/>
+</parts>
+<sheets>
+<sheet>
+<plain>
+<wire x1="0" y1="0" x2="0" y2="142.24" width="0.1524" layer="94"/>
+<wire x1="0" y1="142.24" x2="208.28" y2="142.24" width="0.1524" layer="94"/>
+<wire x1="208.28" y1="142.24" x2="208.28" y2="15.24" width="0.1524" layer="94"/>
+<wire x1="208.28" y1="15.24" x2="208.28" y2="0" width="0.1524" layer="94"/>
+<wire x1="208.28" y1="0" x2="162.56" y2="0" width="0.1524" layer="94"/>
+<wire x1="162.56" y1="0" x2="114.3" y2="0" width="0.1524" layer="94"/>
+<wire x1="114.3" y1="0" x2="71.12" y2="0" width="0.1524" layer="94"/>
+<wire x1="71.12" y1="0" x2="0" y2="0" width="0.1524" layer="94"/>
+<wire x1="208.28" y1="15.24" x2="162.56" y2="15.24" width="0.1524" layer="94"/>
+<wire x1="162.56" y1="15.24" x2="142.24" y2="15.24" width="0.1524" layer="94"/>
+<wire x1="142.24" y1="15.24" x2="114.3" y2="15.24" width="0.1524" layer="94"/>
+<wire x1="114.3" y1="15.24" x2="71.12" y2="15.24" width="0.1524" layer="94"/>
+<wire x1="71.12" y1="15.24" x2="71.12" y2="7.62" width="0.1524" layer="94"/>
+<wire x1="71.12" y1="7.62" x2="71.12" y2="0" width="0.1524" layer="94"/>
+<wire x1="162.56" y1="15.24" x2="162.56" y2="7.62" width="0.1524" layer="94"/>
+<wire x1="162.56" y1="7.62" x2="162.56" y2="0" width="0.1524" layer="94"/>
+<wire x1="114.3" y1="15.24" x2="114.3" y2="0" width="0.1524" layer="94"/>
+<wire x1="71.12" y1="7.62" x2="142.24" y2="7.62" width="0.1524" layer="94"/>
+<wire x1="142.24" y1="7.62" x2="162.56" y2="7.62" width="0.1524" layer="94"/>
+<wire x1="142.24" y1="15.24" x2="142.24" y2="7.62" width="0.1524" layer="94"/>
+<text x="122.428" y="54.61" size="1.778" layer="97">Hall Sensor</text>
+<text x="68.58" y="57.404" size="1.778" layer="97">Rotary Encoder</text>
+<text x="156.21" y="131.064" size="1.778" layer="97">Servo</text>
+<text x="143.256" y="75.692" size="1.778" layer="97">Relay</text>
+<text x="81.28" y="10.16" size="1.778" layer="94">DRAWN BY: IDL </text>
+<text x="116.84" y="10.16" size="1.778" layer="94">DATE: MARCH 14, 2015</text>
+<text x="144.78" y="10.16" size="1.778" layer="94">VERSION: 1.2</text>
+<text x="116.84" y="2.54" size="1.778" layer="94">THIS DESIGN IS OPEN SOURCE</text>
+<text x="170.18" y="7.62" size="1.9304" layer="94">Arduino Educational Shield</text>
+<text x="83.82" y="5.08" size="1.4224" layer="94">IIT-BOMBAY</text>
+<text x="73.66" y="2.54" size="1.4224" layer="94"></text>
+<text x="96.774" y="61.976" size="1.6764" layer="97">Potentiometer</text>
+</plain>
+<instances>
+<instance part="JP1" gate="A" x="27.94" y="116.84" rot="R180"/>
+<instance part="JP2" gate="A" x="27.94" y="88.9" rot="R180"/>
+<instance part="JP3" gate="A" x="27.94" y="63.5" rot="R180"/>
+<instance part="JP4" gate="A" x="27.94" y="40.64" rot="R180"/>
+<instance part="BUTTON" gate="1" x="111.76" y="124.46" rot="R270"/>
+<instance part="+3V1" gate="G$1" x="45.72" y="76.2"/>
+<instance part="P+1" gate="1" x="53.34" y="76.2"/>
+<instance part="GND1" gate="1" x="43.18" y="50.8"/>
+<instance part="GND2" gate="1" x="43.18" y="101.6"/>
+<instance part="P+2" gate="1" x="60.96" y="76.2"/>
+<instance part="R6" gate="G$1" x="127" y="124.46" rot="R180"/>
+<instance part="GND4" gate="1" x="134.62" y="119.38"/>
+<instance part="P+4" gate="1" x="104.14" y="129.54"/>
+<instance part="RGB" gate="G$1" x="81.28" y="106.68" smashed="yes" rot="MR270">
+<attribute name="NAME" x="93.98" y="114.3" size="1.778" layer="95" rot="MR180"/>
+<attribute name="VALUE" x="93.98" y="111.76" size="1.778" layer="96" rot="MR180"/>
+</instance>
+<instance part="R1" gate="G$1" x="66.04" y="111.76" rot="R180"/>
+<instance part="R2" gate="G$1" x="66.04" y="106.68" rot="R180"/>
+<instance part="R3" gate="G$1" x="66.04" y="101.6" rot="R180"/>
+<instance part="GND5" gate="1" x="91.44" y="106.68"/>
+<instance part="POT" gate="G$1" x="106.68" y="48.26" rot="R180"/>
+<instance part="HALL" gate="G$1" x="129.54" y="48.26" rot="MR0"/>
+<instance part="RELAY" gate="G$1" x="149.86" y="83.82"/>
+<instance part="GND8" gate="1" x="106.68" y="35.56"/>
+<instance part="P+5" gate="1" x="106.68" y="60.96"/>
+<instance part="P+6" gate="1" x="119.38" y="60.96"/>
+<instance part="GND9" gate="1" x="119.38" y="35.56"/>
+<instance part="THERM" gate="G$1" x="144.78" y="50.8" rot="R90"/>
+<instance part="R7" gate="G$1" x="144.78" y="35.56" rot="R270"/>
+<instance part="P+7" gate="1" x="144.78" y="60.96"/>
+<instance part="GND10" gate="1" x="144.78" y="25.4"/>
+<instance part="PHOTO" gate="G$1" x="160.02" y="50.8"/>
+<instance part="R8" gate="G$1" x="160.02" y="35.56" rot="R270"/>
+<instance part="P+8" gate="1" x="160.02" y="60.96"/>
+<instance part="GND11" gate="1" x="160.02" y="25.4"/>
+<instance part="T1" gate="G1" x="132.08" y="73.66"/>
+<instance part="D1" gate="1" x="134.62" y="86.36" rot="R90"/>
+<instance part="P+9" gate="1" x="142.24" y="99.06"/>
+<instance part="GND12" gate="1" x="134.62" y="63.5"/>
+<instance part="X1" gate="-1" x="175.26" y="83.82" rot="R180"/>
+<instance part="X1" gate="-2" x="175.26" y="88.9" rot="R180"/>
+<instance part="X1" gate="-3" x="175.26" y="93.98" rot="R180"/>
+<instance part="R9" gate="G$1" x="121.92" y="73.66"/>
+<instance part="R10" gate="G$1" x="106.68" y="101.6" rot="R180"/>
+<instance part="GND13" gate="1" x="114.3" y="86.36"/>
+<instance part="P+10" gate="1" x="144.78" y="132.08"/>
+<instance part="GND14" gate="1" x="144.78" y="111.76"/>
+<instance part="PIEZO" gate="G$1" x="116.84" y="96.52" smashed="yes" rot="R270">
+<attribute name="NAME" x="124.46" y="97.79" size="1.778" layer="95"/>
+<attribute name="VALUE" x="118.11" y="101.6" size="1.778" layer="96"/>
+</instance>
+<instance part="SERVO" gate="1" x="152.4" y="121.92" rot="R270"/>
+</instances>
+<busses>
+</busses>
+<nets>
+<net name="BUTTON" class="0">
+<segment>
+<wire x1="116.84" y1="121.92" x2="119.38" y2="121.92" width="0.1524" layer="91"/>
+<wire x1="119.38" y1="121.92" x2="119.38" y2="124.46" width="0.1524" layer="91"/>
+<wire x1="119.38" y1="124.46" x2="121.92" y2="124.46" width="0.1524" layer="91"/>
+<wire x1="119.38" y1="124.46" x2="116.84" y2="124.46" width="0.1524" layer="91"/>
+<wire x1="30.48" y1="116.84" x2="119.38" y2="116.84" width="0.1524" layer="91"/>
+<wire x1="119.38" y1="116.84" x2="119.38" y2="121.92" width="0.1524" layer="91"/>
+<junction x="119.38" y="124.46"/>
+<junction x="119.38" y="121.92"/>
+<pinref part="JP1" gate="A" pin="5"/>
+<pinref part="BUTTON" gate="1" pin="S1"/>
+<pinref part="R6" gate="G$1" pin="2"/>
+<pinref part="BUTTON" gate="1" pin="S"/>
+</segment>
+</net>
+<net name="RED" class="0">
+<segment>
+<wire x1="60.96" y1="111.76" x2="58.42" y2="111.76" width="0.1524" layer="91"/>
+<wire x1="58.42" y1="111.76" x2="58.42" y2="114.3" width="0.1524" layer="91"/>
+<wire x1="58.42" y1="114.3" x2="30.48" y2="114.3" width="0.1524" layer="91"/>
+<pinref part="JP1" gate="A" pin="4"/>
+<pinref part="R1" gate="G$1" pin="2"/>
+</segment>
+</net>
+<net name="BLUE" class="0">
+<segment>
+<wire x1="60.96" y1="106.68" x2="55.88" y2="106.68" width="0.1524" layer="91"/>
+<wire x1="55.88" y1="106.68" x2="55.88" y2="111.76" width="0.1524" layer="91"/>
+<wire x1="55.88" y1="111.76" x2="30.48" y2="111.76" width="0.1524" layer="91"/>
+<pinref part="JP1" gate="A" pin="3"/>
+<pinref part="R2" gate="G$1" pin="2"/>
+</segment>
+</net>
+<net name="GREEN" class="0">
+<segment>
+<wire x1="60.96" y1="101.6" x2="53.34" y2="101.6" width="0.1524" layer="91"/>
+<wire x1="53.34" y1="101.6" x2="53.34" y2="109.22" width="0.1524" layer="91"/>
+<wire x1="53.34" y1="109.22" x2="30.48" y2="109.22" width="0.1524" layer="91"/>
+<pinref part="JP1" gate="A" pin="2"/>
+<pinref part="R3" gate="G$1" pin="2"/>
+</segment>
+</net>
+<net name="IR1.2" class="0">
+<segment>
+<wire x1="30.48" y1="106.68" x2="40.64" y2="106.68" width="0.1524" layer="91"/>
+<pinref part="JP1" gate="A" pin="1"/>
+<label x="35.56" y="106.68" size="1.778" layer="95"/>
+</segment>
+</net>
+<net name="SERVO" class="0">
+<segment>
+<wire x1="149.86" y1="121.92" x2="139.7" y2="121.92" width="0.1524" layer="91"/>
+<wire x1="139.7" y1="121.92" x2="139.7" y2="106.68" width="0.1524" layer="91"/>
+<wire x1="139.7" y1="106.68" x2="96.52" y2="106.68" width="0.1524" layer="91"/>
+<wire x1="96.52" y1="106.68" x2="96.52" y2="83.82" width="0.1524" layer="91"/>
+<wire x1="96.52" y1="83.82" x2="50.8" y2="83.82" width="0.1524" layer="91"/>
+<wire x1="50.8" y1="83.82" x2="50.8" y2="91.44" width="0.1524" layer="91"/>
+<wire x1="50.8" y1="91.44" x2="30.48" y2="91.44" width="0.1524" layer="91"/>
+<pinref part="JP2" gate="A" pin="6"/>
+<pinref part="SERVO" gate="1" pin="2"/>
+</segment>
+</net>
+<net name="UNUSED3" class="0">
+<segment>
+<wire x1="30.48" y1="88.9" x2="40.64" y2="88.9" width="0.1524" layer="91"/>
+<pinref part="JP2" gate="A" pin="5"/>
+</segment>
+</net>
+<net name="PIEZO" class="0">
+<segment>
+<wire x1="101.6" y1="101.6" x2="99.06" y2="101.6" width="0.1524" layer="91"/>
+<wire x1="99.06" y1="101.6" x2="99.06" y2="81.28" width="0.1524" layer="91"/>
+<wire x1="99.06" y1="81.28" x2="48.26" y2="81.28" width="0.1524" layer="91"/>
+<wire x1="48.26" y1="81.28" x2="48.26" y2="86.36" width="0.1524" layer="91"/>
+<wire x1="30.48" y1="86.36" x2="48.26" y2="86.36" width="0.1524" layer="91"/>
+<pinref part="JP2" gate="A" pin="4"/>
+<pinref part="R10" gate="G$1" pin="2"/>
+</segment>
+</net>
+<net name="RELAY" class="0">
+<segment>
+<wire x1="116.84" y1="73.66" x2="99.06" y2="73.66" width="0.1524" layer="91"/>
+<wire x1="99.06" y1="73.66" x2="99.06" y2="78.74" width="0.1524" layer="91"/>
+<wire x1="99.06" y1="78.74" x2="45.72" y2="78.74" width="0.1524" layer="91"/>
+<wire x1="45.72" y1="78.74" x2="45.72" y2="83.82" width="0.1524" layer="91"/>
+<wire x1="45.72" y1="83.82" x2="30.48" y2="83.82" width="0.1524" layer="91"/>
+<pinref part="JP2" gate="A" pin="3"/>
+<pinref part="R9" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="UNUSED4" class="0">
+<segment>
+<wire x1="30.48" y1="81.28" x2="40.64" y2="81.28" width="0.1524" layer="91"/>
+<pinref part="JP2" gate="A" pin="2"/>
+</segment>
+</net>
+<net name="UNUSED5" class="0">
+<segment>
+<wire x1="30.48" y1="78.74" x2="40.64" y2="78.74" width="0.1524" layer="91"/>
+<pinref part="JP2" gate="A" pin="1"/>
+</segment>
+</net>
+<net name="GND" class="0">
+<segment>
+<wire x1="30.48" y1="60.96" x2="43.18" y2="60.96" width="0.1524" layer="91"/>
+<wire x1="43.18" y1="60.96" x2="43.18" y2="58.42" width="0.1524" layer="91"/>
+<wire x1="30.48" y1="58.42" x2="43.18" y2="58.42" width="0.1524" layer="91"/>
+<wire x1="43.18" y1="58.42" x2="43.18" y2="53.34" width="0.1524" layer="91"/>
+<junction x="43.18" y="58.42"/>
+<pinref part="JP3" gate="A" pin="3"/>
+<pinref part="JP3" gate="A" pin="2"/>
+<pinref part="GND1" gate="1" pin="GND"/>
+</segment>
+<segment>
+<wire x1="132.08" y1="124.46" x2="134.62" y2="124.46" width="0.1524" layer="91"/>
+<wire x1="134.62" y1="124.46" x2="134.62" y2="121.92" width="0.1524" layer="91"/>
+<pinref part="R6" gate="G$1" pin="1"/>
+<pinref part="GND4" gate="1" pin="GND"/>
+</segment>
+<segment>
+<wire x1="88.9" y1="111.76" x2="91.44" y2="111.76" width="0.1524" layer="91"/>
+<wire x1="91.44" y1="111.76" x2="91.44" y2="109.22" width="0.1524" layer="91"/>
+<pinref part="RGB" gate="G$1" pin="C"/>
+<pinref part="GND5" gate="1" pin="GND"/>
+</segment>
+<segment>
+<wire x1="106.68" y1="40.64" x2="106.68" y2="38.1" width="0.1524" layer="91"/>
+<pinref part="POT" gate="G$1" pin="1"/>
+<pinref part="GND8" gate="1" pin="GND"/>
+</segment>
+<segment>
+<wire x1="121.92" y1="45.72" x2="119.38" y2="45.72" width="0.1524" layer="91"/>
+<wire x1="119.38" y1="45.72" x2="119.38" y2="38.1" width="0.1524" layer="91"/>
+<pinref part="HALL" gate="G$1" pin="V-"/>
+<pinref part="GND9" gate="1" pin="GND"/>
+</segment>
+<segment>
+<wire x1="144.78" y1="30.48" x2="144.78" y2="27.94" width="0.1524" layer="91"/>
+<pinref part="R7" gate="G$1" pin="2"/>
+<pinref part="GND10" gate="1" pin="GND"/>
+</segment>
+<segment>
+<wire x1="160.02" y1="30.48" x2="160.02" y2="27.94" width="0.1524" layer="91"/>
+<pinref part="R8" gate="G$1" pin="2"/>
+<pinref part="GND11" gate="1" pin="GND"/>
+</segment>
+<segment>
+<wire x1="134.62" y1="66.04" x2="134.62" y2="68.58" width="0.1524" layer="91"/>
+<pinref part="GND12" gate="1" pin="GND"/>
+<pinref part="T1" gate="G1" pin="E"/>
+</segment>
+<segment>
+<wire x1="114.3" y1="91.44" x2="114.3" y2="88.9" width="0.1524" layer="91"/>
+<pinref part="GND13" gate="1" pin="GND"/>
+<pinref part="PIEZO" gate="G$1" pin="2"/>
+</segment>
+<segment>
+<wire x1="144.78" y1="116.84" x2="144.78" y2="114.3" width="0.1524" layer="91"/>
+<pinref part="GND14" gate="1" pin="GND"/>
+<pinref part="SERVO" gate="1" pin="3"/>
+<wire x1="144.78" y1="116.84" x2="149.86" y2="116.84" width="0.1524" layer="91"/>
+<wire x1="149.86" y1="116.84" x2="149.86" y2="119.38" width="0.1524" layer="91"/>
+</segment>
+<segment>
+<wire x1="30.48" y1="121.92" x2="43.18" y2="121.92" width="0.1524" layer="91"/>
+<wire x1="43.18" y1="121.92" x2="43.18" y2="104.14" width="0.1524" layer="91"/>
+<pinref part="JP1" gate="A" pin="7"/>
+<pinref part="GND2" gate="1" pin="GND"/>
+</segment>
+</net>
+<net name="POTENTIOMETER" class="0">
+<segment>
+<wire x1="99.06" y1="48.26" x2="96.52" y2="48.26" width="0.1524" layer="91"/>
+<wire x1="96.52" y1="48.26" x2="96.52" y2="33.02" width="0.1524" layer="91"/>
+<wire x1="96.52" y1="33.02" x2="50.8" y2="33.02" width="0.1524" layer="91"/>
+<wire x1="50.8" y1="33.02" x2="50.8" y2="40.64" width="0.1524" layer="91"/>
+<wire x1="50.8" y1="40.64" x2="30.48" y2="40.64" width="0.1524" layer="91"/>
+<pinref part="JP4" gate="A" pin="4"/>
+<pinref part="POT" gate="G$1" pin="2"/>
+</segment>
+</net>
+<net name="HALL_SENSOR" class="0">
+<segment>
+<wire x1="121.92" y1="48.26" x2="114.3" y2="48.26" width="0.1524" layer="91"/>
+<wire x1="114.3" y1="48.26" x2="114.3" y2="30.48" width="0.1524" layer="91"/>
+<wire x1="114.3" y1="30.48" x2="48.26" y2="30.48" width="0.1524" layer="91"/>
+<wire x1="48.26" y1="30.48" x2="48.26" y2="38.1" width="0.1524" layer="91"/>
+<wire x1="48.26" y1="38.1" x2="30.48" y2="38.1" width="0.1524" layer="91"/>
+<pinref part="JP4" gate="A" pin="3"/>
+<pinref part="HALL" gate="G$1" pin="OUT"/>
+</segment>
+</net>
+<net name="THERMISTOR" class="0">
+<segment>
+<wire x1="144.78" y1="45.72" x2="144.78" y2="43.18" width="0.1524" layer="91"/>
+<wire x1="144.78" y1="43.18" x2="144.78" y2="40.64" width="0.1524" layer="91"/>
+<wire x1="144.78" y1="43.18" x2="137.16" y2="43.18" width="0.1524" layer="91"/>
+<wire x1="137.16" y1="43.18" x2="137.16" y2="27.94" width="0.1524" layer="91"/>
+<wire x1="137.16" y1="27.94" x2="45.72" y2="27.94" width="0.1524" layer="91"/>
+<wire x1="45.72" y1="27.94" x2="45.72" y2="35.56" width="0.1524" layer="91"/>
+<wire x1="45.72" y1="35.56" x2="30.48" y2="35.56" width="0.1524" layer="91"/>
+<junction x="144.78" y="43.18"/>
+<pinref part="JP4" gate="A" pin="2"/>
+<pinref part="THERM" gate="G$1" pin="2"/>
+<pinref part="R7" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="PHOTOCELL" class="0">
+<segment>
+<wire x1="30.48" y1="33.02" x2="43.18" y2="33.02" width="0.1524" layer="91"/>
+<wire x1="43.18" y1="33.02" x2="43.18" y2="20.32" width="0.1524" layer="91"/>
+<wire x1="43.18" y1="20.32" x2="152.4" y2="20.32" width="0.1524" layer="91"/>
+<wire x1="152.4" y1="20.32" x2="152.4" y2="43.18" width="0.1524" layer="91"/>
+<wire x1="160.02" y1="45.72" x2="160.02" y2="43.18" width="0.1524" layer="91"/>
+<wire x1="160.02" y1="43.18" x2="160.02" y2="40.64" width="0.1524" layer="91"/>
+<wire x1="152.4" y1="43.18" x2="160.02" y2="43.18" width="0.1524" layer="91"/>
+<junction x="160.02" y="43.18"/>
+<pinref part="JP4" gate="A" pin="1"/>
+<pinref part="PHOTO" gate="G$1" pin="2"/>
+<pinref part="R8" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="+5V" class="0">
+<segment>
+<wire x1="104.14" y1="127" x2="104.14" y2="124.46" width="0.1524" layer="91"/>
+<wire x1="104.14" y1="124.46" x2="104.14" y2="121.92" width="0.1524" layer="91"/>
+<wire x1="104.14" y1="121.92" x2="106.68" y2="121.92" width="0.1524" layer="91"/>
+<wire x1="106.68" y1="124.46" x2="104.14" y2="124.46" width="0.1524" layer="91"/>
+<junction x="104.14" y="124.46"/>
+<pinref part="P+4" gate="1" pin="+5V"/>
+<pinref part="BUTTON" gate="1" pin="P1"/>
+<pinref part="BUTTON" gate="1" pin="P"/>
+</segment>
+<segment>
+<wire x1="30.48" y1="63.5" x2="53.34" y2="63.5" width="0.1524" layer="91"/>
+<wire x1="53.34" y1="63.5" x2="53.34" y2="73.66" width="0.1524" layer="91"/>
+<pinref part="JP3" gate="A" pin="4"/>
+<pinref part="P+1" gate="1" pin="+5V"/>
+</segment>
+<segment>
+<wire x1="106.68" y1="55.88" x2="106.68" y2="58.42" width="0.1524" layer="91"/>
+<pinref part="POT" gate="G$1" pin="3"/>
+<pinref part="P+5" gate="1" pin="+5V"/>
+</segment>
+<segment>
+<wire x1="121.92" y1="50.8" x2="119.38" y2="50.8" width="0.1524" layer="91"/>
+<wire x1="119.38" y1="50.8" x2="119.38" y2="58.42" width="0.1524" layer="91"/>
+<pinref part="HALL" gate="G$1" pin="V+"/>
+<pinref part="P+6" gate="1" pin="+5V"/>
+</segment>
+<segment>
+<wire x1="144.78" y1="55.88" x2="144.78" y2="58.42" width="0.1524" layer="91"/>
+<pinref part="THERM" gate="G$1" pin="1"/>
+<pinref part="P+7" gate="1" pin="+5V"/>
+</segment>
+<segment>
+<wire x1="160.02" y1="55.88" x2="160.02" y2="58.42" width="0.1524" layer="91"/>
+<pinref part="PHOTO" gate="G$1" pin="1"/>
+<pinref part="P+8" gate="1" pin="+5V"/>
+</segment>
+<segment>
+<wire x1="142.24" y1="86.36" x2="142.24" y2="93.98" width="0.1524" layer="91"/>
+<wire x1="142.24" y1="93.98" x2="134.62" y2="93.98" width="0.1524" layer="91"/>
+<wire x1="134.62" y1="93.98" x2="134.62" y2="88.9" width="0.1524" layer="91"/>
+<wire x1="142.24" y1="93.98" x2="142.24" y2="96.52" width="0.1524" layer="91"/>
+<junction x="142.24" y="93.98"/>
+<pinref part="RELAY" gate="G$1" pin="2"/>
+<pinref part="D1" gate="1" pin="C"/>
+<pinref part="P+9" gate="1" pin="+5V"/>
+</segment>
+<segment>
+<wire x1="144.78" y1="127" x2="144.78" y2="129.54" width="0.1524" layer="91"/>
+<pinref part="P+10" gate="1" pin="+5V"/>
+<pinref part="SERVO" gate="1" pin="1"/>
+<wire x1="144.78" y1="127" x2="149.86" y2="127" width="0.1524" layer="91"/>
+<wire x1="149.86" y1="127" x2="149.86" y2="124.46" width="0.1524" layer="91"/>
+</segment>
+</net>
+<net name="N$1" class="0">
+<segment>
+<wire x1="73.66" y1="111.76" x2="71.12" y2="111.76" width="0.1524" layer="91"/>
+<pinref part="RGB" gate="G$1" pin="R"/>
+<pinref part="R1" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="N$2" class="0">
+<segment>
+<wire x1="73.66" y1="106.68" x2="71.12" y2="106.68" width="0.1524" layer="91"/>
+<pinref part="RGB" gate="G$1" pin="G"/>
+<pinref part="R2" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="N$3" class="0">
+<segment>
+<wire x1="73.66" y1="101.6" x2="71.12" y2="101.6" width="0.1524" layer="91"/>
+<pinref part="RGB" gate="G$1" pin="B"/>
+<pinref part="R3" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="+3V3" class="0">
+<segment>
+<wire x1="30.48" y1="66.04" x2="45.72" y2="66.04" width="0.1524" layer="91"/>
+<wire x1="45.72" y1="66.04" x2="45.72" y2="73.66" width="0.1524" layer="91"/>
+<pinref part="JP3" gate="A" pin="5"/>
+<pinref part="+3V1" gate="G$1" pin="+3V3"/>
+</segment>
+</net>
+<net name="V+" class="0">
+<segment>
+<wire x1="30.48" y1="55.88" x2="60.96" y2="55.88" width="0.1524" layer="91"/>
+<wire x1="60.96" y1="55.88" x2="60.96" y2="73.66" width="0.1524" layer="91"/>
+<pinref part="JP3" gate="A" pin="1"/>
+<pinref part="P+2" gate="1" pin="V+"/>
+</segment>
+</net>
+<net name="N$6" class="0">
+<segment>
+<wire x1="142.24" y1="81.28" x2="134.62" y2="81.28" width="0.1524" layer="91"/>
+<wire x1="134.62" y1="81.28" x2="134.62" y2="78.74" width="0.1524" layer="91"/>
+<wire x1="134.62" y1="83.82" x2="134.62" y2="81.28" width="0.1524" layer="91"/>
+<junction x="134.62" y="81.28"/>
+<pinref part="RELAY" gate="G$1" pin="5"/>
+<pinref part="T1" gate="G1" pin="C"/>
+<pinref part="D1" gate="1" pin="A"/>
+</segment>
+</net>
+<net name="N$9" class="0">
+<segment>
+<wire x1="152.4" y1="91.44" x2="152.4" y2="93.98" width="0.1524" layer="91"/>
+<wire x1="152.4" y1="93.98" x2="170.18" y2="93.98" width="0.1524" layer="91"/>
+<pinref part="RELAY" gate="G$1" pin="1"/>
+<pinref part="X1" gate="-3" pin="KL"/>
+</segment>
+</net>
+<net name="N$10" class="0">
+<segment>
+<wire x1="170.18" y1="88.9" x2="165.1" y2="88.9" width="0.1524" layer="91"/>
+<wire x1="165.1" y1="88.9" x2="165.1" y2="91.44" width="0.1524" layer="91"/>
+<wire x1="165.1" y1="91.44" x2="157.48" y2="91.44" width="0.1524" layer="91"/>
+<wire x1="157.48" y1="76.2" x2="165.1" y2="76.2" width="0.1524" layer="91"/>
+<wire x1="165.1" y1="76.2" x2="165.1" y2="88.9" width="0.1524" layer="91"/>
+<junction x="165.1" y="88.9"/>
+<pinref part="X1" gate="-2" pin="KL"/>
+<pinref part="RELAY" gate="G$1" pin="3"/>
+<pinref part="RELAY" gate="G$1" pin="4"/>
+</segment>
+</net>
+<net name="N$12" class="0">
+<segment>
+<wire x1="170.18" y1="83.82" x2="167.64" y2="83.82" width="0.1524" layer="91"/>
+<wire x1="167.64" y1="83.82" x2="167.64" y2="73.66" width="0.1524" layer="91"/>
+<wire x1="167.64" y1="73.66" x2="152.4" y2="73.66" width="0.1524" layer="91"/>
+<wire x1="152.4" y1="73.66" x2="152.4" y2="76.2" width="0.1524" layer="91"/>
+<pinref part="X1" gate="-1" pin="KL"/>
+<pinref part="RELAY" gate="G$1" pin="6"/>
+</segment>
+</net>
+<net name="N$13" class="0">
+<segment>
+<wire x1="129.54" y1="73.66" x2="127" y2="73.66" width="0.1524" layer="91"/>
+<pinref part="T1" gate="G1" pin="B"/>
+<pinref part="R9" gate="G$1" pin="2"/>
+</segment>
+</net>
+<net name="N$5" class="0">
+<segment>
+<wire x1="30.48" y1="124.46" x2="40.64" y2="124.46" width="0.1524" layer="91"/>
+<pinref part="JP1" gate="A" pin="8"/>
+</segment>
+</net>
+<net name="N$4" class="0">
+<segment>
+<wire x1="111.76" y1="101.6" x2="114.3" y2="101.6" width="0.1524" layer="91"/>
+<wire x1="114.3" y1="101.6" x2="114.3" y2="99.06" width="0.1524" layer="91"/>
+<pinref part="R10" gate="G$1" pin="1"/>
+<pinref part="PIEZO" gate="G$1" pin="1"/>
+</segment>
+</net>
+<net name="IR2.1" class="0">
+<segment>
+<wire x1="30.48" y1="96.52" x2="45.72" y2="96.52" width="0.1524" layer="91"/>
+<pinref part="JP2" gate="A" pin="8"/>
+<label x="35.56" y="96.52" size="1.778" layer="95"/>
+</segment>
+</net>
+<net name="IR2.2" class="0">
+<segment>
+<pinref part="JP2" gate="A" pin="7"/>
+<wire x1="30.48" y1="93.98" x2="45.72" y2="93.98" width="0.1524" layer="91"/>
+<label x="35.56" y="93.98" size="1.778" layer="95"/>
+</segment>
+</net>
+<net name="IR1.1" class="0">
+<segment>
+<pinref part="JP1" gate="A" pin="6"/>
+<wire x1="30.48" y1="119.38" x2="40.64" y2="119.38" width="0.1524" layer="91"/>
+<label x="35.56" y="119.38" size="1.778" layer="95"/>
+</segment>
+</net>
+</nets>
+</sheet>
+</sheets>
+</schematic>
+</drawing>
+</eagle>
diff --git a/scilab-arduino/tools/test_firmware.sce b/scilab-arduino/tools/test_firmware.sce
new file mode 100644
index 0000000..118df9e
--- /dev/null
+++ b/scilab-arduino/tools/test_firmware.sce
@@ -0,0 +1,7 @@
+mode(0)
+h=open_serial(1,0,115200);
+for i=1:3
+ write_serial(1,"v",1);
+ read_serial(1,2)
+end
+close_serial(1);
diff --git a/scilab-arduino/tools/windows/DESCRIPTION b/scilab-arduino/tools/windows/DESCRIPTION
new file mode 100644
index 0000000..776d9f2
--- /dev/null
+++ b/scilab-arduino/tools/windows/DESCRIPTION
@@ -0,0 +1,34 @@
+Toolbox: arduino
+
+Title: Arduino
+
+Summary: Arduino Communication through Serial
+
+Version: 1.2
+
+Author: Bruno JOFRET
+
+Maintainer: Bruno Jofret <bruno.jofret@scilab-enterprises.com>
+
+Category: Instruments Control
+
+Entity: Scilab Enterprises
+
+WebSite: http://www.scilab-enterprises.com/
+
+URL: http://atoms.scilab.org/toolboxes/arduino/1.1
+
+License: CeCILL
+
+ScilabVersion: >= 5.4
+
+Depends:
+
+Date: 2013-06-28 14:15:43
+
+Description: This toolbox provides Arduino communication blocks for Xcos.
+
+ Communication is performed through Serial port.
+
+ Only works under Windows platform.
+
diff --git a/scilab-arduino/tools/windows/VERSION b/scilab-arduino/tools/windows/VERSION
new file mode 100644
index 0000000..ea710ab
--- /dev/null
+++ b/scilab-arduino/tools/windows/VERSION
@@ -0,0 +1 @@
+1.2 \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/builder.sce b/scilab-arduino/tools/windows/builder.sce
new file mode 100644
index 0000000..bcf1d38
--- /dev/null
+++ b/scilab-arduino/tools/windows/builder.sce
@@ -0,0 +1,53 @@
+// Copyright (C) 2008 - INRIA
+// Copyright (C) 2009-2011 - DIGITEO
+
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+mode(-1);
+lines(0);
+
+function main_builder()
+
+ TOOLBOX_NAME = "arduino";
+ TOOLBOX_TITLE = "Arduino toolbox";
+ toolbox_dir = get_absolute_file_path("builder.sce");
+
+// Check Scilab's version
+// =============================================================================
+
+ // check minimal version (xcosPal required)
+ if ~isdef('xcosPal') then
+ // and xcos features required
+ error(gettext('Scilab 5.3.2 or more is required.'));
+ end
+
+// Check modules_manager module availability
+// =============================================================================
+
+ if ~isdef('tbx_build_loader') then
+ error(msprintf(gettext('%s module not installed."), 'modules_manager'));
+ end
+
+
+ if ~isdir(toolbox_dir+filesep()+"images"+filesep()+"h5")
+ [status, msg] = mkdir(toolbox_dir+filesep()+"images"+filesep()+"h5");
+ if and(status <> [1 2])
+ error(msg);
+ end
+ end
+
+// Action
+// =============================================================================
+
+ tbx_builder_macros(toolbox_dir);
+ //tbx_builder_src(toolbox_dir);
+ //tbx_builder_gateway(toolbox_dir);
+ tbx_builder_help(toolbox_dir);
+ tbx_build_loader(TOOLBOX_NAME, toolbox_dir);
+ tbx_build_cleaner(TOOLBOX_NAME, toolbox_dir);
+endfunction
+
+if with_module('xcos') then
+ main_builder();
+ clear main_builder; // remove main_builder on stack
+end
diff --git a/scilab-arduino/tools/windows/cleaner.sce b/scilab-arduino/tools/windows/cleaner.sce
new file mode 100644
index 0000000..89ea603
--- /dev/null
+++ b/scilab-arduino/tools/windows/cleaner.sce
@@ -0,0 +1,38 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+// Generated by builder.sce: Please, do not edit this file
+
+try
+ getversion("scilab");
+catch
+ error("Scilab 5.0 or more is required.");
+end
+function perform_clean()
+ root_tlbx = get_absolute_file_path('cleaner.sce');
+
+ if isfile(root_tlbx + '/macros/cleanmacros.sce') then
+ exec(root_tlbx+'/macros/cleanmacros.sce');
+ end
+
+ if isfile(root_tlbx + '/src/cleaner_src.sce') then
+ exec(root_tlbx+'/src/cleaner_src.sce');
+ end
+
+ if isfile(root_tlbx + "/sci_gateway/cleaner_gateway.sce") then
+ exec(root_tlbx + "/sci_gateway/cleaner_gateway.sce");
+ mdelete(root_tlbx + "/sci_gateway/cleaner_gateway.sce");
+ end
+
+ if isfile(root_tlbx + "/help/cleaner_help.sce") then
+ exec(root_tlbx + "/help/cleaner_help.sce");
+ end
+
+ if isfile(root_tlbx + "/loader.sce") then
+ mdelete(root_tlbx + "/loader.sce");
+ end
+
+ if isfile(root_tlbx + "/unloader.sce") then
+ mdelete(root_tlbx + "/unloader.sce");
+ end
+endfunction
+perform_clean();
+clear perform_clean;
diff --git a/scilab-arduino/tools/windows/demos/analog_read.dem.sce b/scilab-arduino/tools/windows/demos/analog_read.dem.sce
new file mode 100644
index 0000000..566bb9e
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/analog_read.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("analog_read.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"potentiometre.zcos")
diff --git a/scilab-arduino/tools/windows/demos/analog_write.dem.sce b/scilab-arduino/tools/windows/demos/analog_write.dem.sce
new file mode 100644
index 0000000..6fe244f
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/analog_write.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("analog_write.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"variateurLED.zcos")
diff --git a/scilab-arduino/tools/windows/demos/arduino.dem.gateway.sce b/scilab-arduino/tools/windows/demos/arduino.dem.gateway.sce
new file mode 100644
index 0000000..15f739e
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/arduino.dem.gateway.sce
@@ -0,0 +1,31 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab Enterprises - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function subdemolist = demo_gateway()
+ demopath = get_absolute_file_path("arduino.dem.gateway.sce");
+
+ subdemolist = ["Potentiometer", "analog_read.dem.sce" ;
+ "Led Push Button", "digital_read_write.dem.sce" ;
+ "LED dimmer", "analog_write.dem.sce" ;
+ "Openloop DC Motor", "motor.dem.sce";
+ "Encoder", "encodeur.dem.sce";
+ "Interrupt", "interrupt_compteur.dem.sce";
+ "Servo position control with PID", "asserv.dem.sce";
+ "ServoMotor", "servomotor.dem.sce";
+ "Examples in documentation", "exemples_livret.dem.gateway.sce";
+ ];
+
+ subdemolist(:,2) = demopath + subdemolist(:,2);
+
+endfunction
+subdemolist = demo_gateway();
+clear demo_gateway; // remove demo_gateway on stack
diff --git a/scilab-arduino/tools/windows/demos/arduino2.dem.sce b/scilab-arduino/tools/windows/demos/arduino2.dem.sce
new file mode 100644
index 0000000..ec1d365
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/arduino2.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino2.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino2.zcos")
diff --git a/scilab-arduino/tools/windows/demos/arduino3.dem.sce b/scilab-arduino/tools/windows/demos/arduino3.dem.sce
new file mode 100644
index 0000000..90d6f04
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/arduino3.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino3.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino3.zcos")
diff --git a/scilab-arduino/tools/windows/demos/arduino4.dem.sce b/scilab-arduino/tools/windows/demos/arduino4.dem.sce
new file mode 100644
index 0000000..8bc9a8c
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/arduino4.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino4.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino4.zcos")
diff --git a/scilab-arduino/tools/windows/demos/arduino5.dem.sce b/scilab-arduino/tools/windows/demos/arduino5.dem.sce
new file mode 100644
index 0000000..6b8ceb4
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/arduino5.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino5.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino5.zcos")
diff --git a/scilab-arduino/tools/windows/demos/arduino7.dem.sce b/scilab-arduino/tools/windows/demos/arduino7.dem.sce
new file mode 100644
index 0000000..ed92328
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/arduino7.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino7.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino7.zcos")
diff --git a/scilab-arduino/tools/windows/demos/arduino8.dem.sce b/scilab-arduino/tools/windows/demos/arduino8.dem.sce
new file mode 100644
index 0000000..2dd5dbf
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/arduino8.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino8.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino8.zcos")
diff --git a/scilab-arduino/tools/windows/demos/arduino9.dem.sce b/scilab-arduino/tools/windows/demos/arduino9.dem.sce
new file mode 100644
index 0000000..7d86a46
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/arduino9.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("arduino9.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"Arduino9.zcos")
diff --git a/scilab-arduino/tools/windows/demos/asserv.dem.sce b/scilab-arduino/tools/windows/demos/asserv.dem.sce
new file mode 100644
index 0000000..68d575e
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/asserv.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("asserv.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"asservissement.zcos")
diff --git a/scilab-arduino/tools/windows/demos/clignotement_led.dem.sce b/scilab-arduino/tools/windows/demos/clignotement_led.dem.sce
new file mode 100644
index 0000000..165e3d0
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/clignotement_led.dem.sce
@@ -0,0 +1,14 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+demopath = get_absolute_file_path("clignotement_led.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"MAXPID_Asservi.xcos")
diff --git a/scilab-arduino/tools/windows/demos/digital_read_write.dem.sce b/scilab-arduino/tools/windows/demos/digital_read_write.dem.sce
new file mode 100644
index 0000000..60e1e77
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/digital_read_write.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("digital_read_write.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"boutonpoussoir.zcos")
diff --git a/scilab-arduino/tools/windows/demos/encodeur.dem.sce b/scilab-arduino/tools/windows/demos/encodeur.dem.sce
new file mode 100644
index 0000000..eeec86a
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/encodeur.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("encodeur.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"encodeur.zcos")
diff --git a/scilab-arduino/tools/windows/demos/exemples_livret.dem.gateway.sce b/scilab-arduino/tools/windows/demos/exemples_livret.dem.gateway.sce
new file mode 100644
index 0000000..68d9517
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/exemples_livret.dem.gateway.sce
@@ -0,0 +1,29 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab Enterprises - Vincent COUVERT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function subdemolist = demo_gateway()
+ demopath = get_absolute_file_path("exemples_livret.dem.gateway.sce");
+
+ subdemolist = ["Example 1", "arduino2.dem.sce" ;
+ "Example 2", "arduino3.dem.sce" ;
+ "Example 3", "arduino4.dem.sce" ;
+ "Example 4", "arduino5.dem.sce" ;
+ "Example 5", "arduino7.dem.sce" ;
+ "Example 6", "arduino8.dem.sce" ;
+ "Example 7", "arduino9.dem.sce" ;
+ ];
+
+ subdemolist(:,2) = demopath + subdemolist(:,2);
+
+endfunction
+subdemolist = demo_gateway();
+clear demo_gateway; // remove demo_gateway on stack
diff --git a/scilab-arduino/tools/windows/demos/interrupt_compteur.dem.sce b/scilab-arduino/tools/windows/demos/interrupt_compteur.dem.sce
new file mode 100644
index 0000000..c78c5c1
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/interrupt_compteur.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("interrupt_compteur.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"interrupt_compteur.zcos")
diff --git a/scilab-arduino/tools/windows/demos/motor.dem.sce b/scilab-arduino/tools/windows/demos/motor.dem.sce
new file mode 100644
index 0000000..66c0ea5
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/motor.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("motor.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"moteurBO.zcos")
diff --git a/scilab-arduino/tools/windows/demos/servomotor.dem.sce b/scilab-arduino/tools/windows/demos/servomotor.dem.sce
new file mode 100644
index 0000000..7ed1b13
--- /dev/null
+++ b/scilab-arduino/tools/windows/demos/servomotor.dem.sce
@@ -0,0 +1,13 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+demopath = get_absolute_file_path("servomotor.dem.sce");
+xcos(demopath+filesep()+".."+filesep()+"examples"+filesep()+"servomoteur.zcos")
diff --git a/scilab-arduino/tools/windows/etc/arduino.quit b/scilab-arduino/tools/windows/etc/arduino.quit
new file mode 100644
index 0000000..9693278
--- /dev/null
+++ b/scilab-arduino/tools/windows/etc/arduino.quit
@@ -0,0 +1,31 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+clear arduinolib ;
+try
+ // ulink previous function with same name
+[bOK, ilib] = c_link('open_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('close_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('write_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('status_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('read_serial');
+if bOK then
+ ulink(ilib);
+end
+
+xcosPalDelete('Arduino');
+end
diff --git a/scilab-arduino/tools/windows/etc/arduino.start b/scilab-arduino/tools/windows/etc/arduino.start
new file mode 100644
index 0000000..fd66007
--- /dev/null
+++ b/scilab-arduino/tools/windows/etc/arduino.start
@@ -0,0 +1,117 @@
+// Copyright (C) 2012 - Scilab Enterprises
+
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function arduinolib = startModule()
+
+ mprintf("Start Arduino\n");
+ defaultpath = pwd();
+ if isdef("arduinolib") then
+ warning("Arduino toolbox library is already loaded");
+ return;
+ end
+
+// if win64() then
+// warning("Arduino toolbox library is only available for scilab 32 bits");
+// return;
+// end
+
+// check minimal version (xcosPal required)
+// =============================================================================
+ if ~isdef('xcosPal') then
+ // and xcos features required
+ error(gettext('Scilab 5.3.2 or more is required.'));
+ end
+// =============================================================================
+// force to load some libraries (dependancies)
+ loadScicos();
+// =============================================================================
+ etc_tlbx = get_absolute_file_path("arduino.start");
+ etc_tlbx = getshortpathname(etc_tlbx);
+ root_tlbx = strncpy( etc_tlbx, length(etc_tlbx)-length("\etc\") );
+
+// Load functions library
+// =============================================================================
+ mprintf("\tLoad macros\n");
+ pathmacros = pathconvert( root_tlbx ) + "macros" + filesep();
+ arduinolib = lib(pathmacros);
+
+// Load serial dll and link
+// =============================================================================
+if getos() == "Windows"
+ mprintf("\tLoad serial dll\n");
+ pathdll = pathconvert( root_tlbx ) + "src" + filesep();
+ chdir(pathdll)
+ exec('loader.sce');
+ chdir('..')
+end
+
+// Add blocks to the Xcos palette
+// =============================================================================
+ mprintf("\tLoad palette\n");
+ pal = xcosPal("Arduino");
+
+ sous_pal=["Configuration" "Digital" "Analog" "Motors"]
+
+ sous_blocks=cell(size(sous_pal));
+
+ sous_blocks(1).entries=["ARDUINO_SETUP" "TIME_SAMPLE" "ARDUINO_SCOPE"]
+ sous_blocks(2).entries=["DIGITAL_READ_SB" "DIGITAL_WRITE_SB" "ENCODER_SB" "INTERRUPT_SB"]
+ sous_blocks(3).entries=["ANALOG_READ_SB" "ANALOG_WRITE_SB" ]
+ sous_blocks(4).entries=["DCMOTOR_SB" "SERVO_WRITE_SB" ]
+
+// blocks = ["ARDUINO_SETUP" "TIME_SAMPLE" "ARDUINO_ANALOG_READ" "ARDUINO_ANALOG_WRITE" "ARDUINO_DCMOTOR" ...
+// "ARDUINO_DIGITAL_READ" "ARDUINO_DIGITAL_WRITE" "ARDUINO_ENCODER" ...
+// "ARDUINO_SERVO_READ" "ARDUINO_SERVO_WRITE" ...
+// "ARDUINO_STEPPER" "ARDUINO_WRITE" ];
+
+ for p=1:size(sous_pal,2)
+ local_pal = xcosPal(sous_pal(p));
+ blocks=sous_blocks(p).entries;
+ for i=1:size(blocks, "*")
+ h5 = ls(root_tlbx + "/images/h5/" + blocks(i) + "." + ["sod" "h5"]);
+ gif = ls(root_tlbx + "/images/gif/" + blocks(i) + "." + ["png" "jpg" "gif"]);
+ svg = ls(root_tlbx + "/images/svg/" + blocks(i) + "." + ["png" "jpg" "gif" "svg"]);
+
+ local_pal = xcosPalAddBlock(local_pal, h5(1), gif(1), svg(1));
+ end
+
+ if ~xcosPalAdd(local_pal,'Arduino') then
+ error(msprintf(gettext("%s: Unable to export %s.\n"), "arduino.start", "pal"));
+ end
+
+ end
+
+// Load and add help chapter
+// =============================================================================
+ if or(getscilabmode() == ["NW";"STD"]) then
+ mprintf("\tLoad help\n");
+ path_addchapter = pathconvert(root_tlbx+"/jar");
+ if ( isdir(path_addchapter) <> [] ) then
+ add_help_chapter("Arduino", path_addchapter, %F);
+ end
+ end
+
+// Load demos
+// =============================================================================
+ if or(getscilabmode() == ["NW";"STD"]) then
+ mprintf("\tLoad demos\n");
+ pathdemos = pathconvert(root_tlbx+"/demos/arduino.dem.gateway.sce", %F, %T);
+ add_demo("Arduino", pathdemos);
+ end
+
+// Display version
+fd=mopen(root_tlbx+filesep()+"VERSION");
+version=mgetl(fd,-1);
+mclose(fd);
+mprintf("\tArduino Version: "+version);
+
+chdir(defaultpath);
+
+endfunction
+
+if with_module('xcos') then
+ arduinolib = startModule();
+ clear startModule; // remove startModule on stack
+end
+
diff --git a/scilab-arduino/tools/windows/examples/Arduino1.zcos b/scilab-arduino/tools/windows/examples/Arduino1.zcos
new file mode 100644
index 0000000..870db84
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/Arduino1.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/Arduino2.zcos b/scilab-arduino/tools/windows/examples/Arduino2.zcos
new file mode 100644
index 0000000..1d85a80
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/Arduino2.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/Arduino3.zcos b/scilab-arduino/tools/windows/examples/Arduino3.zcos
new file mode 100644
index 0000000..8a73f5f
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/Arduino3.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/Arduino4.zcos b/scilab-arduino/tools/windows/examples/Arduino4.zcos
new file mode 100644
index 0000000..551b10b
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/Arduino4.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/Arduino5.zcos b/scilab-arduino/tools/windows/examples/Arduino5.zcos
new file mode 100644
index 0000000..b2f8360
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/Arduino5.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/Arduino6.zcos b/scilab-arduino/tools/windows/examples/Arduino6.zcos
new file mode 100644
index 0000000..2c3139e
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/Arduino6.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/Arduino7.zcos b/scilab-arduino/tools/windows/examples/Arduino7.zcos
new file mode 100644
index 0000000..9c0f370
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/Arduino7.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/Arduino8.zcos b/scilab-arduino/tools/windows/examples/Arduino8.zcos
new file mode 100644
index 0000000..c1bd62c
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/Arduino8.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/Arduino9.zcos b/scilab-arduino/tools/windows/examples/Arduino9.zcos
new file mode 100644
index 0000000..b2035e3
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/Arduino9.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/asservissement.zcos b/scilab-arduino/tools/windows/examples/asservissement.zcos
new file mode 100644
index 0000000..7032631
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/asservissement.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/asservpos.zcos b/scilab-arduino/tools/windows/examples/asservpos.zcos
new file mode 100644
index 0000000..a9fdcd4
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/asservpos.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/boutonpoussoir.zcos b/scilab-arduino/tools/windows/examples/boutonpoussoir.zcos
new file mode 100644
index 0000000..4602922
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/boutonpoussoir.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/encodeur.zcos b/scilab-arduino/tools/windows/examples/encodeur.zcos
new file mode 100644
index 0000000..ce3ba95
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/encodeur.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/interrupt_compteur.zcos b/scilab-arduino/tools/windows/examples/interrupt_compteur.zcos
new file mode 100644
index 0000000..d3bb15e
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/interrupt_compteur.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/moteurBO.zcos b/scilab-arduino/tools/windows/examples/moteurBO.zcos
new file mode 100644
index 0000000..1f0ff99
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/moteurBO.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/potentiometre.zcos b/scilab-arduino/tools/windows/examples/potentiometre.zcos
new file mode 100644
index 0000000..57e1a55
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/potentiometre.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/servomoteur.zcos b/scilab-arduino/tools/windows/examples/servomoteur.zcos
new file mode 100644
index 0000000..d08cbcf
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/servomoteur.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/examples/variateurLED.zcos b/scilab-arduino/tools/windows/examples/variateurLED.zcos
new file mode 100644
index 0000000..01747f5
--- /dev/null
+++ b/scilab-arduino/tools/windows/examples/variateurLED.zcos
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/builder_help.sce b/scilab-arduino/tools/windows/help/builder_help.sce
new file mode 100644
index 0000000..f8e9e73
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/builder_help.sce
@@ -0,0 +1,3 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+tbx_builder_help_lang(["en_US"], get_absolute_file_path("builder_help.sce"));
diff --git a/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB.xml b/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB.xml
new file mode 100644
index 0000000..991e540
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ANALOG_READ_SB">
+<refnamediv>
+ <refname>ANALOG_READ_SB</refname>
+ <refpurpose>Analog ports of an Arduino board which allow the acquisition of an analog input</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ANALOG_READ_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ANALOG_READ_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ANALOG_READ_SB">Analog ports of an Arduino board which allow the acquisition of an analog input</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ANALOG_READ_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ANALOG_READ_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ANALOG_READ_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ANALOG_READ_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ANALOG_READ_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ANALOG_READ_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ANALOG_READ_SB">
+ <title>Description</title>
+<para> Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_ANALOG_READ_SB">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_READ_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The port number of 0-5 must be specified for the UNO card, 0-15 for a MEGA board. </para>
+<para> The card number can not be changed at this time. </para>
+<para> There would be no verification routine for the setting, please refer to the specification of your Arduino board to put a correct value. </para>
+
+</refsection>
+<refsection id="Example1_ANALOG_READ_SB">
+ <title>Example 1</title>
+<para> The following example shows the use of the block in connecting with an angular potentiometer which signal pin is connected to port 2 of Arduino board. The other two pins of the potentiometer are connected to ground (GND) and the 5 Volt the card directly. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_READ_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ANALOG_READ_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB_dialogbox.png
new file mode 100644
index 0000000..0a4a823
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB_help.tst b/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB_help.tst
new file mode 100644
index 0000000..7ba080c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+ANALOG_READ_SB
+
+\palette
+Arduino
+
+\smalldescription
+Analog ports of an Arduino board which allow the acquisition of an analog input
+
+\description
+Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+\image{ANALOG_READ_SB_dialogbox.png}
+The port number of 0-5 must be specified for the UNO card, 0-15 for a MEGA board.
+The card number can not be changed at this time.
+There would be no verification routine for the setting, please refer to the specification of your Arduino board to put a correct value.
+
+\example1
+The following example shows the use of the block in connecting with an angular potentiometer which signal pin is connected to port 2 of Arduino board. The other two pins of the potentiometer are connected to ground (GND) and the 5 Volt the card directly.
+\image{ANALOG_READ_example.png}
+
+\seealso
+ANALOG_WRITE_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_example.png b/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_example.png
new file mode 100644
index 0000000..4df93cf
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ANALOG_READ_example.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB.xml b/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB.xml
new file mode 100644
index 0000000..0d191b8
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ANALOG_WRITE_SB">
+<refnamediv>
+ <refname>ANALOG_WRITE_SB</refname>
+ <refpurpose>Analog outputs which allow generation of analog voltage on a given port</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ANALOG_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ANALOG_WRITE_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">Analog outputs which allow generation of analog voltage on a given port</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ANALOG_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ANALOG_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ANALOG_WRITE_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ANALOG_WRITE_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ANALOG_WRITE_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ANALOG_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ANALOG_WRITE_SB">
+ <title>Description</title>
+<para> The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage. </para>
+<para> The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256). </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_ANALOG_WRITE_SB">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_WRITE_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The port number must be 3, 5, 6, 9, 10, 11 for UNO card (PWM ports with symbol ~) and must be 1 to 13 or 44 to 46 for the MEGA board. Using other ports would either cause the output to 0 or 5V according to the value sent. </para>
+<para> The card number can not be changed at this time. </para>
+
+</refsection>
+<refsection id="Example1_ANALOG_WRITE_SB">
+ <title>Example 1</title>
+<para> The following example shows the use of the block to control the brightness of a LED by a potentiometer. The LED (in series with a resistor with proper ohmic) is connected to ground (GND) and to the port 10 while potentiometer is connected to the analog input A2. As the analog input is 10 bits while the PWM is bits, it is necessary to add a gain to convert 0 - 1023 to 0 - 255. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_WRITE_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ANALOG_WRITE_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..febf848
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB_help.tst b/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB_help.tst
new file mode 100644
index 0000000..bd305ed
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+ANALOG_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Analog outputs which allow generation of analog voltage on a given port
+
+\description
+The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage.
+The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+\image{ANALOG_WRITE_SB_dialogbox.png}
+The port number must be 3, 5, 6, 9, 10, 11 for UNO card (PWM ports with symbol ~) and must be 1 to 13 or 44 to 46 for the MEGA board. Using other ports would either cause the output to 0 or 5V according to the value sent.
+The card number can not be changed at this time.
+
+\example1
+The following example shows the use of the block to control the brightness of a LED by a potentiometer. The LED (in series with a resistor with proper ohmic) is connected to ground (GND) and to the port 10 while potentiometer is connected to the analog input A2. As the analog input is 10 bits while the PWM is bits, it is necessary to add a gain to convert 0 - 1023 to 0 - 255.
+\image{ANALOG_WRITE_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_exemple.png b/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_exemple.png
new file mode 100644
index 0000000..8b84651
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ANALOG_WRITE_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP.xml b/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP.xml
new file mode 100644
index 0000000..d5654d4
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ARDUINO_SETUP">
+<refnamediv>
+ <refname>ARDUINO_SETUP</refname>
+ <refpurpose>This block is used to configure the serial port setting for communication between the Arduino and Scilab.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ARDUINO_SETUP.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ARDUINO_SETUP">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ARDUINO_SETUP">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ARDUINO_SETUP">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ARDUINO_SETUP">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ARDUINO_SETUP">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ARDUINO_SETUP">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ARDUINO_SETUP">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ARDUINO_SETUP">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ARDUINO_SETUP">
+ <title>Description</title>
+<para> This block is <emphasis role="bold">compulsory</emphasis> to be placed in the xcos model to use this toolbox. </para>
+<para> It defines the communication setting between the Arduino board and Xcos. </para>
+<para> The port setting can be determined by running the Arduino application from the menu item "Tools / Serial Port". The port number can also be changed by going to computer's "Device Manager / Ports (Advanced options)". </para>
+<para> Currently it is not possible to use multiple Arduino boards. </para>
+
+<para> The toolbox can be used only on Windows for now. </para>
+
+<para> <emphasis role="bold">Before using Arduino toolbox, it is necessary to upload the program "toolbox_arduino.ino" to the board, which is available at:</emphasis> http://www.demosciences.fr </para>
+
+
+</refsection>
+<refsection id="Dialogbox_ARDUINO_SETUP">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The communication port must be specified (between 2 and 9 or an error message would appear). </para>
+<para> The card number Arduino must be equal to 1 now (or an error message would appear) </para>
+
+</refsection>
+<refsection id="Example1_ARDUINO_SETUP">
+ <title>Example 1</title>
+<para> The example below shows the use of the block to blink the LED at port 13 of the UNO card set on the serial port 5. All blocks are using the default settings, except for the PULSE block from the source palette where the phase shift is changed to 0. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ARDUINO_SETUP">
+ <title>See Also</title>
+ <para>
+ <link linkend="TIME_SAMPLE">TIME_SAMPLE</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_dialogbox.png
new file mode 100644
index 0000000..715ec38
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_example.png b/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_example.png
new file mode 100644
index 0000000..22f0da8
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_example.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_help.tst b/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_help.tst
new file mode 100644
index 0000000..f7de181
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ARDUINO_SETUP_help.tst
@@ -0,0 +1,31 @@
+\name
+ARDUINO_SETUP
+
+\palette
+Arduino
+
+\smalldescription
+This block is used to configure the serial port setting for communication between the Arduino and Scilab.
+
+\description
+This block is \bold{compulsory} to be placed in the xcos model to use this toolbox.
+It defines the communication setting between the Arduino board and Xcos.
+The port setting can be determined by running the Arduino application from the menu item "Tools / Serial Port". The port number can also be changed by going to computer's "Device Manager / Ports (Advanced options)".
+Currently it is not possible to use multiple Arduino boards.
+
+The toolbox can be used only on Windows for now.
+
+\bold{Before using Arduino toolbox, it is necessary to upload the program "toolbox_arduino.ino" to the board, which is available at:} http://www.demosciences.fr
+
+
+\dialogbox
+\image{ARDUINO_SETUP_dialogbox.png}
+The communication port must be specified (between 2 and 9 or an error message would appear).
+The card number Arduino must be equal to 1 now (or an error message would appear)
+
+\example1
+The example below shows the use of the block to blink the LED at port 13 of the UNO card set on the serial port 5. All blocks are using the default settings, except for the PULSE block from the source palette where the phase shift is changed to 0.
+\image{ARDUINO_SETUP_example.png}
+
+\seealso
+TIME_SAMPLE
diff --git a/scilab-arduino/tools/windows/help/en_US/ASSERV_POS_exemple.png b/scilab-arduino/tools/windows/help/en_US/ASSERV_POS_exemple.png
new file mode 100644
index 0000000..2ddb447
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ASSERV_POS_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB.tst b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB.tst
new file mode 100644
index 0000000..c14ffbe
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB.tst
@@ -0,0 +1,42 @@
+\name
+DCMOTOR_SB
+
+\palette
+Arduino
+
+\smalldescription
+This block is used to control a DC motor
+
+\description
+The DCMOTOR block is used to control one or more DC motors. Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+This is why the block is used to select the type of card or H-bridge used and depending on the choice, a different menu would pop up to for the device dependent setting (port numbers or motor number ...)
+Remember that the PWM is 8-bit (0 to 255).
+The input of the block could accept any value, but it would saturate at +- 255.
+Do note that the sampling rate is 8 ms minimum for this block.
+
+\dialogbox
+The block has two menus.
+The first lets you choose the type of card used:
+1 for official Motorshield Rev3 available on the website arduino.cc card
+2 H-bridge L298 using PWM and a current sense
+3 H-bridge L293 using two PWM
+The card number can not be changed at this time.
+\image{DCMOTOR_SB_dialogbox1.png}
+
+The second menu is for the setting of the selected card used
+For Motorshield channel number 1 or 2 correspond to the motor A or B on the Shield.
+
+\image{DCMOTOR_SB_dialogbox2.png}
+For L298, one informs the port number specification of meaning (any digital port), the number of the port for PWM speed (3,5,6,9,10,11) and the number of motor-driven (limited 1 to 4)
+\image{DCMOTOR_SB_dialogbox3.png}
+For L293, the setting are 2 PWM port and the motor number (1 to 3)
+\image{DCMOTOR_SB_dialogbox4.png}
+
+\example1
+The following example shows the of the motor unit associated with a potentiometer. When the knob is in the middle position, the motor is not moving while when the knob is turned in one direction or the other, the motor is moving faster or slower in one direction or the other.
+A gain block is used to convert the 10 bits analog input to the 8 bits motor output. (or the input of this block)
+\image{DCMOTOR_exemple.png}
+
+\seealso
+ENCODER_SB
+SERVO_WRITE_SB
diff --git a/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB.xml b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB.xml
new file mode 100644
index 0000000..f5e51dc
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DCMOTOR_SB">
+<refnamediv>
+ <refname>DCMOTOR_SB</refname>
+ <refpurpose>This block is used to control a DC motor </refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DCMOTOR_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DCMOTOR_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DCMOTOR_SB">This block is used to control a DC motor </link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DCMOTOR_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DCMOTOR_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DCMOTOR_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DCMOTOR_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DCMOTOR_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DCMOTOR_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DCMOTOR_SB">
+ <title>Description</title>
+<para> The DCMOTOR block is used to control one or more DC motors. Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available. </para>
+<para> This is why the block is used to select the type of card or H-bridge used and depending on the choice, a different menu would pop up to for the device dependent setting (port numbers or motor number ...) </para>
+<para> Remember that the PWM is 8-bit (0 to 255). </para>
+<para> The input of the block could accept any value, but it would saturate at +- 255. </para>
+<para> Do note that the sampling rate is 8 ms minimum for this block. </para>
+<para> </para>
+</refsection>
+<refsection id="Dialogbox_DCMOTOR_SB">
+ <title>Dialog box</title>
+<para> The block has two menus. </para>
+<para> The first lets you choose the type of card used: </para>
+<para> 1 for official Motorshield Rev3 available on the website arduino.cc card </para>
+<para> 2 H-bridge L298 using PWM and a current sense </para>
+<para> 3 H-bridge L293 using two PWM </para>
+<para> The card number can not be changed at this time. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>
+
+<para> The second menu is for the setting of the selected card used </para>
+<para> For Motorshield channel number 1 or 2 correspond to the motor A or B on the Shield. </para>
+
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox2.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> For L298, one informs the port number specification of meaning (any digital port), the number of the port for PWM speed (3,5,6,9,10,11) and the number of motor-driven (limited 1 to 4) </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox3.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> For L293, the setting are 2 PWM port and the motor number (1 to 3) </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox4.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Example1_DCMOTOR_SB">
+ <title>Example 1</title>
+<para> The following example shows the of the motor unit associated with a potentiometer. When the knob is in the middle position, the motor is not moving while when the knob is turned in one direction or the other, the motor is moving faster or slower in one direction or the other. </para>
+<para> A gain block is used to convert the 10 bits analog input to the 8 bits motor output. (or the input of this block) </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DCMOTOR_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ENCODER_SB">ENCODER_SB</link>
+ </para>
+ <para>
+ <link linkend="SERVO_WRITE_SB">SERVO_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox1.png b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox1.png
new file mode 100644
index 0000000..5bf8920
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox2.png b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox2.png
new file mode 100644
index 0000000..4d2a7b4
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox3.png b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox3.png
new file mode 100644
index 0000000..34a15d0
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox3.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox4.png b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox4.png
new file mode 100644
index 0000000..c80e6c3
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_SB_dialogbox4.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/DCMOTOR_exemple.png b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_exemple.png
new file mode 100644
index 0000000..24e50fe
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DCMOTOR_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB.xml b/scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB.xml
new file mode 100644
index 0000000..81a5cda
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DIGITAL_READ_SB">
+<refnamediv>
+ <refname>DIGITAL_READ_SB</refname>
+ <refpurpose>Allows to receive a logical value 0 or 1 on a given port.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DIGITAL_READ_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DIGITAL_READ_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DIGITAL_READ_SB">Allows to receive a logical value 0 or 1 on a given port.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DIGITAL_READ_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DIGITAL_READ_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DIGITAL_READ_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DIGITAL_READ_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DIGITAL_READ_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DIGITAL_READ_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DIGITAL_READ_SB">
+ <title>Description</title>
+<para> The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component. </para>
+<para> To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage. </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_DIGITAL_READ_SB">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_READ_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The digital port number is between 2 and 53, chosen based on his Arduino. </para>
+<para> The card number can not be changed at this time. </para>
+
+</refsection>
+<refsection id="Example1_DIGITAL_READ_SB">
+ <title>Example 1</title>
+<para> The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DIGITAL_READ_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB_dialogbox.png
new file mode 100644
index 0000000..244b37d
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB_help.tst b/scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB_help.tst
new file mode 100644
index 0000000..39ce410
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DIGITAL_READ_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+DIGITAL_READ_SB
+
+\palette
+Arduino
+
+\smalldescription
+Allows to receive a logical value 0 or 1 on a given port.
+
+\description
+The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+\image{DIGITAL_READ_SB_dialogbox.png}
+The digital port number is between 2 and 53, chosen based on his Arduino.
+The card number can not be changed at this time.
+
+\example1
+The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up.
+\image{DIGITAL_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+ANALOG_WRITE_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB.xml b/scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB.xml
new file mode 100644
index 0000000..b079f4c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DIGITAL_WRITE_SB">
+<refnamediv>
+ <refname>DIGITAL_WRITE_SB</refname>
+ <refpurpose>Allows to send a logical value 0 or 1 on a given port.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DIGITAL_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DIGITAL_WRITE_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">Allows to send a logical value 0 or 1 on a given port.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DIGITAL_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DIGITAL_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DIGITAL_WRITE_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DIGITAL_WRITE_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DIGITAL_WRITE_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DIGITAL_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DIGITAL_WRITE_SB">
+ <title>Description</title>
+<para> The UNO card has a set of logical ports (digital) which are used for writing or reading data from a component. </para>
+<para> To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage. </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+<para> </para>
+</refsection>
+<refsection id="Dialogbox_DIGITAL_WRITE_SB">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_WRITE_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The digital port number is between 2 and 53, chosen based on his Arduino. </para>
+<para> The card number can not be changed at this time. </para>
+
+</refsection>
+<refsection id="Example1_DIGITAL_WRITE_SB">
+ <title>Example 1</title>
+<para> The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DIGITAL_WRITE_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..4abc644
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB_help.tst b/scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB_help.tst
new file mode 100644
index 0000000..742a23f
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DIGITAL_WRITE_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+DIGITAL_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Allows to send a logical value 0 or 1 on a given port.
+
+\description
+The UNO card has a set of logical ports (digital) which are used for writing or reading data from a component.
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+\image{DIGITAL_WRITE_SB_dialogbox.png}
+The digital port number is between 2 and 53, chosen based on his Arduino.
+The card number can not be changed at this time.
+
+\example1
+The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up.
+\image{DIGITAL_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+ANALOG_WRITE_SB
+DIGITAL_READ_SB
diff --git a/scilab-arduino/tools/windows/help/en_US/DIGITAL_exemple.png b/scilab-arduino/tools/windows/help/en_US/DIGITAL_exemple.png
new file mode 100644
index 0000000..22832fa
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/DIGITAL_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/ENCODER_SB.tst b/scilab-arduino/tools/windows/help/en_US/ENCODER_SB.tst
new file mode 100644
index 0000000..33fbfef
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ENCODER_SB.tst
@@ -0,0 +1,42 @@
+\name
+ENCODER_SB
+
+\palette
+Arduino
+
+\smalldescription
+Used to read encoder signal from one or more channels.
+
+\description
+Many sensors (incremental encoder, Hall sensor ...) return a pulses signal for which one wishes to count the edges. The block is used to perform this operation for one or two encoders. It uses the interrupts inputs available on the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment or decrement a counter.
+Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and from 18 to 21. It is necessary to use an additional signal to determine the direction of the encoder.
+Thus, the block offers the possibility to read from a quadrature encoder. It is then necessary that the two channels are wired to the interrupt and the rising and falling edges are taken into account on two channels pins (the precision is increased and can also determine the direction).
+On the contrary, if a mode other than the quadrature is used, only one pin must be connected to the interrupt, the other pin can be connected to a conventional digital input.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+
+The block has two menus.
+The first allows you to select the mode on how to read the signal from the encoder (choice of 1, 2 or 4).
+The card number can not be changed at this time.
+\image{ENCODER_SB_dialogbox1.png}
+Mode 1 uses a one interrupt and any digital channel to determine the direction. Only the rising edges of the channel interrupt is taken into account in this mode.
+Mode 2 uses the same channels, but both the rising and falling edges of the channel interrupt is taken into account.
+Mode 4 corresponds to the quadrature mode. In this mode, the rising and falling edges of the two channels are taken into account.
+
+The second menu allows you to specify the ports used in the mode selected:
+\image{ENCODER_SB_dialogbox2.png}
+mode 1x : Declaration of interrupt pins 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and a declaration of any digital pin 2 to 13 for a UNO card (2 to 53 MEGA)
+mode 2x : Same as above.
+mode 4x : Mandatory use of two interrupt pins 2 and 3 on a UNO card. 2 from pin 2, 3 or from 18 to 21 for MEGA.
+
+\example1
+The following example shows the use of the block in the case of a motor whose position is noted over time and speed from the signal from the encoder. The 4x mode was chosen to improve the accuracy. The setting of the motor is the same as that of motor example.
+\image{ENCODER_exemple.png}
+
+\example2
+The following example shows a position control using information from the encoder for comparison with a reference variable. A PI controller is used to correct the difference and outputting the control voltage for the DC motor.
+\image{ASSERV_POS_exemple.png}
+
+\seealso
+DCMOTOR_SB
diff --git a/scilab-arduino/tools/windows/help/en_US/ENCODER_SB.xml b/scilab-arduino/tools/windows/help/en_US/ENCODER_SB.xml
new file mode 100644
index 0000000..d054e97
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ENCODER_SB.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ENCODER_SB">
+<refnamediv>
+ <refname>ENCODER_SB</refname>
+ <refpurpose>Used to read encoder signal from one or more channels.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ENCODER_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ENCODER_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ENCODER_SB">Used to read encoder signal from one or more channels.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ENCODER_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ENCODER_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ENCODER_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ENCODER_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example2_ENCODER_SB">Example 2</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ENCODER_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ENCODER_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ENCODER_SB">
+ <title>Description</title>
+<para> Many sensors (incremental encoder, Hall sensor ...) return a pulses signal for which one wishes to count the edges. The block is used to perform this operation for one or two encoders. It uses the interrupts inputs available on the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment or decrement a counter. </para>
+<para> Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and from 18 to 21. It is necessary to use an additional signal to determine the direction of the encoder. </para>
+<para> Thus, the block offers the possibility to read from a quadrature encoder. It is then necessary that the two channels are wired to the interrupt and the rising and falling edges are taken into account on two channels pins (the precision is increased and can also determine the direction). </para>
+<para> On the contrary, if a mode other than the quadrature is used, only one pin must be connected to the interrupt, the other pin can be connected to a conventional digital input. </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_ENCODER_SB">
+ <title>Dialog box</title>
+
+<para> The block has two menus. </para>
+<para> The first allows you to select the mode on how to read the signal from the encoder (choice of 1, 2 or 4). </para>
+<para> The card number can not be changed at this time. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Mode 1 uses a one interrupt and any digital channel to determine the direction. Only the rising edges of the channel interrupt is taken into account in this mode. </para>
+<para> Mode 2 uses the same channels, but both the rising and falling edges of the channel interrupt is taken into account. </para>
+<para> Mode 4 corresponds to the quadrature mode. In this mode, the rising and falling edges of the two channels are taken into account. </para>
+
+<para> The second menu allows you to specify the ports used in the mode selected: </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_SB_dialogbox2.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> mode 1x : Declaration of interrupt pins 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and a declaration of any digital pin 2 to 13 for a UNO card (2 to 53 MEGA) </para>
+<para> mode 2x : Same as above. </para>
+<para> mode 4x : Mandatory use of two interrupt pins 2 and 3 on a UNO card. 2 from pin 2, 3 or from 18 to 21 for MEGA. </para>
+
+</refsection>
+<refsection id="Example1_ENCODER_SB">
+ <title>Example 1</title>
+<para> The following example shows the use of the block in the case of a motor whose position is noted over time and speed from the signal from the encoder. The 4x mode was chosen to improve the accuracy. The setting of the motor is the same as that of motor example. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Example2_ENCODER_SB">
+ <title>Example 2</title>
+<para> The following example shows a position control using information from the encoder for comparison with a reference variable. A PI controller is used to correct the difference and outputting the control voltage for the DC motor. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ASSERV_POS_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ENCODER_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="DCMOTOR_SB">DCMOTOR_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/ENCODER_SB_dialogbox1.png b/scilab-arduino/tools/windows/help/en_US/ENCODER_SB_dialogbox1.png
new file mode 100644
index 0000000..8dbe19c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ENCODER_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/ENCODER_SB_dialogbox2.png b/scilab-arduino/tools/windows/help/en_US/ENCODER_SB_dialogbox2.png
new file mode 100644
index 0000000..b63878e
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ENCODER_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/ENCODER_exemple.png b/scilab-arduino/tools/windows/help/en_US/ENCODER_exemple.png
new file mode 100644
index 0000000..9c477cf
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/ENCODER_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB.tst b/scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB.tst
new file mode 100644
index 0000000..ae09246
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB.tst
@@ -0,0 +1,27 @@
+\name
+INTERRUPT_SB
+
+\palette
+Arduino
+
+\smalldescription
+Used to track a set of events on one or more channels.
+
+\description
+This is a read counter that counts the information from absolute position sensors (Hall effect sensor ...).
+The block is used to read the rising edges detected on the interruption inputs of the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment a counter.
+Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and 18 to 21.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\dialogbox
+The device offers a menu that allows the declaration of the interrupt pin 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and declaration of any digital pin 2 to 13 for a UNO card (2-53 for the MEGA board).
+The card number can not be changed at this time.
+\image{INTERRUPT_SB_dialogbox.png}
+
+
+\example1
+The example below shows the use of the block to count the signal of a optical sensor connected to pin 3.
+\image{INTERRUPT_exemple.png}
+
+\seealso
+ENCODER_SB
diff --git a/scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB.xml b/scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB.xml
new file mode 100644
index 0000000..58e90c2
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="INTERRUPT_SB">
+<refnamediv>
+ <refname>INTERRUPT_SB</refname>
+ <refpurpose>Used to track a set of events on one or more channels.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/INTERRUPT_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_INTERRUPT_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="INTERRUPT_SB">Used to track a set of events on one or more channels.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_INTERRUPT_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_INTERRUPT_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_INTERRUPT_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_INTERRUPT_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_INTERRUPT_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_INTERRUPT_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_INTERRUPT_SB">
+ <title>Description</title>
+<para> This is a read counter that counts the information from absolute position sensors (Hall effect sensor ...). </para>
+<para> The block is used to read the rising edges detected on the interruption inputs of the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment a counter. </para>
+<para> Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and 18 to 21. </para>
+<para> Do note that the minimum sampling rate is 8 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_INTERRUPT_SB">
+ <title>Dialog box</title>
+<para> The device offers a menu that allows the declaration of the interrupt pin 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and declaration of any digital pin 2 to 13 for a UNO card (2-53 for the MEGA board). </para>
+<para> The card number can not be changed at this time. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="INTERRUPT_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+
+
+</refsection>
+<refsection id="Example1_INTERRUPT_SB">
+ <title>Example 1</title>
+<para> The example below shows the use of the block to count the signal of a optical sensor connected to pin 3. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="INTERRUPT_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_INTERRUPT_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="ENCODER_SB">ENCODER_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB_dialogbox.png
new file mode 100644
index 0000000..ec3f62c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/INTERRUPT_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/INTERRUPT_exemple.png b/scilab-arduino/tools/windows/help/en_US/INTERRUPT_exemple.png
new file mode 100644
index 0000000..7807247
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/INTERRUPT_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/SERVO_SB.tst b/scilab-arduino/tools/windows/help/en_US/SERVO_SB.tst
new file mode 100644
index 0000000..93323c3
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/SERVO_SB.tst
@@ -0,0 +1,31 @@
+\name
+SERVO_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Drive a servomotor by sending command of the angle from 0 to 180°
+
+\description
+A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+A servomotor for continuous rotation, the pulse width control the rotational speed and the direction.
+It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power.
+For simplicity, the block takes an input commnad in degrees from 0 to 180.
+Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+
+Do note that the sampling rate is at least 10 ms for this block.
+
+\dialogbox
+\image{SERVO_SB_dialogbox.png}
+The block is used to set the number of servomotor to be driven. Servo 1 corresponds to port 9 on Arduino and Servo 2 corresponds to port 10 on Arduino.
+The card number can not be changed at this time.
+
+\example1
+The example below shows the use of the servomotor block which position is controlled by the potentiometer at analog port 0 .
+A gain block is used to convert the 10 bits analog input signal from the potentiometer to the range of 0 to 180 to which specify the desired position of the servomotor.
+\image{SERVO_SB_exemple.png}
+
+\seealso
+DCMOTOR_SB
diff --git a/scilab-arduino/tools/windows/help/en_US/SERVO_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/SERVO_SB_dialogbox.png
new file mode 100644
index 0000000..a421e75
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/SERVO_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/SERVO_SB_exemple.png b/scilab-arduino/tools/windows/help/en_US/SERVO_SB_exemple.png
new file mode 100644
index 0000000..86cb244
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/SERVO_SB_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/SERVO_WRITE_SB.xml b/scilab-arduino/tools/windows/help/en_US/SERVO_WRITE_SB.xml
new file mode 100644
index 0000000..27b9d3c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/SERVO_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="SERVO_WRITE_SB">
+<refnamediv>
+ <refname>SERVO_WRITE_SB</refname>
+ <refpurpose>Drive a servomotor by sending command of the angle from 0 to 180°</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/SERVO_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_SERVO_WRITE_SB">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="SERVO_WRITE_SB">Drive a servomotor by sending command of the angle from 0 to 180°</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_SERVO_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_SERVO_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_SERVO_WRITE_SB">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_SERVO_WRITE_SB">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_SERVO_WRITE_SB">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_SERVO_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_SERVO_WRITE_SB">
+ <title>Description</title>
+<para> A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos). </para>
+<para> The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​. </para>
+<para> A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. </para>
+<para> It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. </para>
+<para> For simplicity, the block takes an input commnad in degrees from 0 to 180. </para>
+<para> Two actuators can be controlled with this toolbox. (modified version of 3 motors available) </para>
+
+<para> Do note that the sampling rate is at least 10 ms for this block. </para>
+
+</refsection>
+<refsection id="Dialogbox_SERVO_WRITE_SB">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="SERVO_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The block is used to set the number of servomotor to be driven. Servo 1 corresponds to port 9 on Arduino and Servo 2 corresponds to port 10 on Arduino. </para>
+<para> The card number can not be changed at this time. </para>
+
+</refsection>
+<refsection id="Example1_SERVO_WRITE_SB">
+ <title>Example 1</title>
+<para> The example below shows the use of the servomotor block which position is controlled by the potentiometer at analog port 0 . </para>
+<para> A gain block is used to convert the 10 bits analog input signal from the potentiometer to the range of 0 to 180 to which specify the desired position of the servomotor. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="SERVO_SB_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_SERVO_WRITE_SB">
+ <title>See Also</title>
+ <para>
+ <link linkend="DCMOTOR_SB">DCMOTOR_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE.xml b/scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE.xml
new file mode 100644
index 0000000..ae10a49
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="TIME_SAMPLE">
+<refnamediv>
+ <refname>TIME_SAMPLE</refname>
+ <refpurpose>Set the control duration and the sampling time</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Block Screenshot</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/TIME_SAMPLE.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_TIME_SAMPLE">
+ <title>Contents</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="TIME_SAMPLE">Set the control duration and the sampling time</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_TIME_SAMPLE">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_TIME_SAMPLE">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_TIME_SAMPLE">Dialog box</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_TIME_SAMPLE">Example 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_TIME_SAMPLE">See Also</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_TIME_SAMPLE">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_TIME_SAMPLE">
+ <title>Description</title>
+<para> This block is <emphasis role="bold">compulsory</emphasis> to be placed in the xcos model to use this toolbox. </para>
+<para> It defines the simulation time of the model as well as the sampling time used for the model (each block is sampled by this step). </para>
+<para> Due to the limitation of serial communication the sampling time is about 8 ms (it is possible to go down to 4 ms) per block. </para>
+<para> For the complex model, do make sure that the sampling is sufficient for the execution. This could be done by measuring the simulation time is the actual time (10 s simulation should last 10 s). Otherwise, increase the sampling period to suit the need of the model. </para>
+
+</refsection>
+<refsection id="Dialogbox_TIME_SAMPLE">
+ <title>Dialog box</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="TIME_SAMPLE_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> The simulation time (positive) must be specified. </para>
+<para> The sampling time must be set completed according to the complexity of the model </para>
+
+</refsection>
+<refsection id="Example1_TIME_SAMPLE">
+ <title>Example 1</title>
+<para> The example below shows the use of the block to blink the LED on port 13 of the UNO card set on the communication port 5. All blocks are using the default settings, except for the PULSE block the standard palette of which the phase shift is set to 0. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_TIME_SAMPLE">
+ <title>See Also</title>
+ <para>
+ <link linkend="ARDUINO_SETUP">ARDUINO_SETUP</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE_dialogbox.png
new file mode 100644
index 0000000..45022af
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE_help.tst b/scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE_help.tst
new file mode 100644
index 0000000..6f51d62
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/TIME_SAMPLE_help.tst
@@ -0,0 +1,26 @@
+\name
+TIME_SAMPLE
+
+\palette
+Arduino
+
+\smalldescription
+Set the control duration and the sampling time
+
+\description
+This block is \bold{compulsory} to be placed in the xcos model to use this toolbox.
+It defines the simulation time of the model as well as the sampling time used for the model (each block is sampled by this step).
+Due to the limitation of serial communication the sampling time is about 8 ms (it is possible to go down to 4 ms) per block.
+For the complex model, do make sure that the sampling is sufficient for the execution. This could be done by measuring the simulation time is the actual time (10 s simulation should last 10 s). Otherwise, increase the sampling period to suit the need of the model.
+
+\dialogbox
+\image{TIME_SAMPLE_dialogbox.png}
+The simulation time (positive) must be specified.
+The sampling time must be set completed according to the complexity of the model
+
+\example1
+The example below shows the use of the block to blink the LED on port 13 of the UNO card set on the communication port 5. All blocks are using the default settings, except for the PULSE block the standard palette of which the phase shift is set to 0.
+\image{ARDUINO_SETUP_example.png}
+
+\seealso
+ARDUINO_SETUP
diff --git a/scilab-arduino/tools/windows/help/en_US/build_help.sce b/scilab-arduino/tools/windows/help/en_US/build_help.sce
new file mode 100644
index 0000000..7065316
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/build_help.sce
@@ -0,0 +1,3 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+tbx_build_help(TOOLBOX_TITLE,get_absolute_file_path("build_help.sce"));
diff --git a/scilab-arduino/tools/windows/help/en_US/close_serial.xml b/scilab-arduino/tools/windows/help/en_US/close_serial.xml
new file mode 100644
index 0000000..7b50eb6
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/close_serial.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from close_serial.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="close_serial" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>close_serial</refname>
+ <refpurpose>Command to close the serial port which is connected to Arduino</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ res=close_serial(nHandle)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>nHandle :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>res :</term>
+ <listitem><para> 0 if the connection is successful, else the connection fail</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+It is important to close the serial port after use, else the port would be busy and restart of Scilab might required to connect to it again.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="open_serial">open_serial</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_analog_in.tst b/scilab-arduino/tools/windows/help/en_US/cmd_analog_in.tst
new file mode 100644
index 0000000..e2504b0
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_analog_in.tst
@@ -0,0 +1,25 @@
+\name
+cmd_analog_in
+
+\module
+Arduino
+
+\smalldescription
+Analog ports of an Arduino board which allow the acquisition of an analog input
+
+\description
+Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+Do note that the minimum sampling rate is 8 ms for this block.
+
+\callingsequences
+The port number of 0-5 must be specified for the UNO card, 0-15 for a MEGA board.
+The card number can not be changed at this time.
+There would be no verification routine for the setting, please refer to the specification of your Arduino board to put a correct value.
+
+\example1
+The following example shows the use of the block in connecting with an angular potentiometer which signal pin is connected to port 2 of Arduino board. The other two pins of the potentiometer are connected to ground (GND) and the 5 Volt the card directly.
+
+\seealso
+ANALOG_WRITE_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_analog_in.xml b/scilab-arduino/tools/windows/help/en_US/cmd_analog_in.xml
new file mode 100644
index 0000000..76c48e9
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_analog_in.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_analog_in.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_analog_in" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_analog_in</refname>
+ <refpurpose>Command to read in analog signal from a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ val = cmd_analog_in(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Analog pin to measure the signal</para></listitem></varlistentry>
+ <varlistentry><term>val :</term>
+ <listitem><para> Reading in the range of 0-1023 to to indicate the input voltage from 0-5V</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+val = cmd_analog_in(1,9)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_analog_in_volt">cmd_analog_in_volt</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_analog_in_volt.xml b/scilab-arduino/tools/windows/help/en_US/cmd_analog_in_volt.xml
new file mode 100644
index 0000000..d140c13
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_analog_in_volt.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_analog_in_volt.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_analog_in_volt" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_analog_in_volt</refname>
+ <refpurpose>Command to read in analog signal from a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ val = cmd_analog_in_volt(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Analog pin to measure the signal</para></listitem></varlistentry>
+ <varlistentry><term>val :</term>
+ <listitem><para> Reading in the input voltage from 0-5V</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. This function scale the reading to 0-5 so the user could get the measured voltage directly
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+val = cmd_analog_in_volt(1,9)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_analog_out">cmd_analog_out</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_analog_out.xml b/scilab-arduino/tools/windows/help/en_US/cmd_analog_out.xml
new file mode 100644
index 0000000..9895f79
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_analog_out.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_analog_out.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_analog_out" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_analog_out</refname>
+ <refpurpose>Command to sent out analog signal to a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_analog_out(h,pin_no,val)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin with ~ to sent the signal</para></listitem></varlistentry>
+ <varlistentry><term>val :</term>
+ <listitem><para> The value of 0-255 to be sent to the digital pins with ~ sign. It will be then scaled to 0-5V</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses,
+the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+voltage across the component connected to this port, which has the effect of having a analog output voltage.
+ </para>
+ <para>
+The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_analog_out(1,9,100)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_analog_out_volt">cmd_analog_out_volt</link></member>
+ <member><link linkend="cmd_arduino_a_control">cmd_arduino_a_control</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_analog_out_volt.xml b/scilab-arduino/tools/windows/help/en_US/cmd_analog_out_volt.xml
new file mode 100644
index 0000000..05f345c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_analog_out_volt.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_analog_out_volt.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_analog_out_volt" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_analog_out_volt</refname>
+ <refpurpose>Command to sent out analog signal to a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_analog_out_volt(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin with ~ to sent the signal</para></listitem></varlistentry>
+ <varlistentry><term>val :</term>
+ <listitem><para> The value in volt (0-5) to be sent to the digital pins with ~ sign.</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses,
+the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+voltage across the component connected to this port, which has the effect of having a analog output voltage.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_analog_out_volt(1,9,100)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_analog_out">cmd_analog_out</link></member>
+ <member><link linkend="cmd_arduino_a_control">cmd_arduino_a_control</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_arduino_a_control.xml b/scilab-arduino/tools/windows/help/en_US/cmd_arduino_a_control.xml
new file mode 100644
index 0000000..f2d73cd
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_arduino_a_control.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_arduino_a_control.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_arduino_a_control" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_arduino_a_control</refname>
+ <refpurpose>GUI to control analog signal to be sent to a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_arduino_a_control(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin with ~ to sent the signal</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_arduino_a_control(1,9,100)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_analog_out_volt">cmd_analog_out_volt</link></member>
+ <member><link linkend="cmd_analog_out">cmd_analog_out</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_arduino_d_control.xml b/scilab-arduino/tools/windows/help/en_US/cmd_arduino_d_control.xml
new file mode 100644
index 0000000..43ec03b
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_arduino_d_control.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_arduino_d_control.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_arduino_d_control" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_arduino_d_control</refname>
+ <refpurpose>GUI to control digital signal to be sent to a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_arduino_d_control(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin to sent the signal</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_arduino_d_control(1,9)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_digital_out_volt">cmd_digital_out_volt</link></member>
+ <member><link linkend="cmd_digital_out">cmd_digital_out</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ <member>str = string(val)</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_arduino_meter.xml b/scilab-arduino/tools/windows/help/en_US/cmd_arduino_meter.xml
new file mode 100644
index 0000000..d64d3b2
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_arduino_meter.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_arduino_meter.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_arduino_meter" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_arduino_meter</refname>
+ <refpurpose>GUI to display continuous signal from a loop, and break the loop after termination of the GUI</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_arduino_meter(val)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>val :</term>
+ <listitem><para> Value to be displayed</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+This GUI provides a convenient way display a continuous data from a loop and break the loop after the termination of the GUI. By this, it behave like a digital meter by showing the data in a GUI instead of the console
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+val = cmd_analog_in_volt(1,9)
+cmd_arduino_meter(val)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_arduino_d_control">cmd_arduino_d_control</link></member>
+ <member><link linkend="cmd_arduino_a_control">cmd_arduino_a_control</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_release.xml b/scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_release.xml
new file mode 100644
index 0000000..9f7d7c5
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_release.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_dcmotor_release.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_dcmotor_release" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_dcmotor_release</refname>
+ <refpurpose>Command to release pins which have setup for DC motor</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_dcmotor_release(h,motor_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>motor_no :</term>
+ <listitem><para> ID in which the motor has been connected</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ </para>
+ <para>
+Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+cmd_dcmotor_run(1,1,255)
+sleep(1000)
+cmd_dcmotor_run(1,1,-255)
+sleep(1000)
+cmd_dcmotor_release(1,1)
+close_serial(1)
+ ]]></programlisting>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_run.xml b/scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_run.xml
new file mode 100644
index 0000000..c97faa0
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_run.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_dcmotor_run.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_dcmotor_run" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_dcmotor_run</refname>
+ <refpurpose>Command to run DC motor after setting up</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_dcmotor_run(h,motor_no,u1)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>motor_no :</term>
+ <listitem><para> ID in which the motor has been connected</para></listitem></varlistentry>
+ <varlistentry><term>u1 :</term>
+ <listitem><para> Value to sent, range from -255 to 255, for clockwise and anti-clockwise direction</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ </para>
+ <para>
+Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+cmd_dcmotor_run(1,1,255)
+sleep(1000)
+cmd_dcmotor_run(1,1,-255)
+sleep(1000)
+cmd_dcmotor_release(1,1)
+close_serial(1)
+ ]]></programlisting>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_setup.xml b/scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_setup.xml
new file mode 100644
index 0000000..abbe317
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_dcmotor_setup.xml
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_dcmotor_setup.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_dcmotor_setup" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_dcmotor_setup</refname>
+ <refpurpose>Command to setup pins to control DC motor</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_dcmotor_setup(h,driver_type,motor_no,pin_no_1,pin_no_2)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>driver_type :</term>
+ <listitem><para> 1=Motorshield Rev3, 2=L298, 3=L293</para></listitem></varlistentry>
+ <varlistentry><term>motor_no :</term>
+ <listitem><para> ID used to identify motor to be connected</para></listitem></varlistentry>
+ <varlistentry><term>pin_no_1 :</term>
+ <listitem><para> Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.</para></listitem></varlistentry>
+ <varlistentry><term>pin_no_2 :</term>
+ <listitem><para> Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+ </para>
+ <para>
+Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+cmd_dcmotor_run(1,1,255)
+sleep(1000)
+cmd_dcmotor_run(1,1,-255)
+sleep(1000)
+cmd_dcmotor_release(1,1)
+close_serial(1)
+ ]]></programlisting>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_digital_in.xml b/scilab-arduino/tools/windows/help/en_US/cmd_digital_in.xml
new file mode 100644
index 0000000..35d7117
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_digital_in.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_digital_in.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_digital_in" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_digital_in</refname>
+ <refpurpose>Command to read in digital signal from a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ values = cmd_digital_in(h,pin_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin to measure the signal</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+ </para>
+ <para>
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+val = cmd_digital_in(1,2)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_digital_out">cmd_digital_out</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_digital_out.xml b/scilab-arduino/tools/windows/help/en_US/cmd_digital_out.xml
new file mode 100644
index 0000000..40c8683
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_digital_out.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_digital_out.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_digital_out" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_digital_out</refname>
+ <refpurpose>Command to sent out digital signal to a connected Arduino board</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_digital_out(h,pin_no,val)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>pin_no :</term>
+ <listitem><para> Digital pin to sent the signal</para></listitem></varlistentry>
+ <varlistentry><term>val :</term>
+ <listitem><para> The value of 0 or 1 to be sent to the digital pins with. It is correspond to 0 and 5V</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+ </para>
+ <para>
+To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_digital_out(1,13,0)
+sleep(1000)
+cmd_digital_out(1,13,1)
+sleep(1000)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_digital_in">cmd_digital_in</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_servo_attach.xml b/scilab-arduino/tools/windows/help/en_US/cmd_servo_attach.xml
new file mode 100644
index 0000000..361c4c4
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_servo_attach.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_servo_attach.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_servo_attach" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_servo_attach</refname>
+ <refpurpose>Command to attach servo motor to Arduino</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_servo_attach(h,servo_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>servo_no :</term>
+ <listitem><para> 1=pin 9, 2=pin 10</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ </para>
+ <para>
+The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ </para>
+ <para>
+A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_servo_attach(1,1)
+sleep(1000)
+cmd_servo_move(1,1,90)
+sleep(1000)
+cmd_servo_move(1,1,45)
+sleep(1000)
+cmd_servo_detach(1,1)
+sleep(1000)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_servo_move">cmd_servo_move</link></member>
+ <member><link linkend="cmd_servo_detach">cmd_servo_detach</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_servo_detach.xml b/scilab-arduino/tools/windows/help/en_US/cmd_servo_detach.xml
new file mode 100644
index 0000000..29e1cfc
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_servo_detach.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_servo_detach.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_servo_detach" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_servo_detach</refname>
+ <refpurpose>Command to release the pin which has been setup for servo motor</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_servo_detach(h,servo_no)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>servo_no :</term>
+ <listitem><para> 1=pin 9, 2=pin 10</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ </para>
+ <para>
+The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ </para>
+ <para>
+A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_servo_attach(1,1)
+sleep(1000)
+cmd_servo_move(1,1,90)
+sleep(1000)
+cmd_servo_move(1,1,45)
+sleep(1000)
+cmd_servo_detach(1,1)
+sleep(1000)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_servo_setup">cmd_servo_setup</link></member>
+ <member><link linkend="cmd_servo_move">cmd_servo_move</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/cmd_servo_move.xml b/scilab-arduino/tools/windows/help/en_US/cmd_servo_move.xml
new file mode 100644
index 0000000..370b60c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/cmd_servo_move.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from cmd_servo_move.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="cmd_servo_move" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>cmd_servo_move</refname>
+ <refpurpose>Command to run servo motor which has been setup</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ cmd_servo_move(h,servo_no,u1)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>h :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>servo_no :</term>
+ <listitem><para> 1=pin 9, 2=pin 10</para></listitem></varlistentry>
+ <varlistentry><term>u1 :</term>
+ <listitem><para> 0 - 180 degree</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+ </para>
+ <para>
+The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+ </para>
+ <para>
+A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+cmd_servo_attach(1,1)
+sleep(1000)
+cmd_servo_move(1,1,90)
+sleep(1000)
+cmd_servo_move(1,1,45)
+sleep(1000)
+cmd_servo_detach(1,1)
+sleep(1000)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="cmd_servo_setup">cmd_servo_setup</link></member>
+ <member><link linkend="cmd_servo_detach">cmd_servo_detach</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET, Tan C.L.</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/master_help.xml b/scilab-arduino/tools/windows/help/en_US/master_help.xml
new file mode 100644
index 0000000..48cd646
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/master_help.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE book [
+<!--Begin Entities-->
+<!ENTITY aed1a39e4241b7492a9cb116d53ce8666 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/ANALOG_READ_SB.xml">
+<!ENTITY a17534586a867ff429fc2c8da30818a4c SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/ANALOG_WRITE_SB.xml">
+<!ENTITY a22b1336f277bbda21bb670f395e7437b SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/ARDUINO_SETUP.xml">
+<!ENTITY a8f77b5ae575a13d552e9e2f1435b0074 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/DCMOTOR_SB.xml">
+<!ENTITY ae0af83ebdceb76c8d96f3404b12b9a7a SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/DIGITAL_READ_SB.xml">
+<!ENTITY a4e8dfa3fdb824d1d1ee6e2a8e94034a2 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/DIGITAL_WRITE_SB.xml">
+<!ENTITY a5309966beee86d0a1b89780126194945 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/ENCODER_SB.xml">
+<!ENTITY a51c4963b31c613c1156a9de4aff6da07 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/INTERRUPT_SB.xml">
+<!ENTITY a378edf94b377b89124d910c1575bca55 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/SERVO_WRITE_SB.xml">
+<!ENTITY a0ccca9edfac965f7d46a6872cd0b1208 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/TIME_SAMPLE.xml">
+<!ENTITY a22bcccebf2404191d544c8d4094bf629 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/close_serial.xml">
+<!ENTITY a22ab23f800703a0b57c571ca2f119142 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_analog_in.xml">
+<!ENTITY ac6c4c38ea3c2bf2c6c61597332bf34e6 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_analog_in_volt.xml">
+<!ENTITY ac3b1a1bb41df69abae45eacd3f019bd0 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_analog_out.xml">
+<!ENTITY a5a2225f8d4a24869305fadac430885aa SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_analog_out_volt.xml">
+<!ENTITY a76ec745876964be1429a56310fd5dda3 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_arduino_a_control.xml">
+<!ENTITY a21b8018898c81ea3e92cc53cf8375ada SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_arduino_d_control.xml">
+<!ENTITY aa77098e5df42b51ed4eaed98a9e4cf35 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_arduino_meter.xml">
+<!ENTITY a21a86bcee7c5e8b5b38543bc602409cb SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_dcmotor_release.xml">
+<!ENTITY a4a74e95a0a886113f74b9025d006ea13 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_dcmotor_run.xml">
+<!ENTITY ae573b4724c1a820f5d33a155db7a5626 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_dcmotor_setup.xml">
+<!ENTITY a235ed3a8c7a15f388f75f1893c68bee4 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_digital_in.xml">
+<!ENTITY a9580a0123a0d4ee2f53f014e0056376a SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_digital_out.xml">
+<!ENTITY a6691c7611e233123a13cebd3efca3e60 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_servo_attach.xml">
+<!ENTITY a7d3cc9a11a3d2fac88825721b529be4b SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_servo_detach.xml">
+<!ENTITY af6cacc8bccd24ae69a671833e717ade5 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/cmd_servo_move.xml">
+<!ENTITY a6559701d2f4cecec81a9c1a03618f294 SYSTEM "file:///C:/Users/SONAL/Documents/MY_SCI/arduino-1.2/help/en_US/open_serial.xml">
+<!--End Entities-->
+]>
+<book version="5.0-subset Scilab" xml:lang="en_US"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:xi="http://www.w3.org/2001/XInclude"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns:db="http://docbook.org/ns/docbook">
+ <info xml:id='arduino_toolbox_manual'>
+ <title>Arduino toolbox</title>
+ </info>
+
+<part xml:id='section_147efb2e6adc067fcd27975e0e16385a'>
+<title>Arduino toolbox</title>
+&aed1a39e4241b7492a9cb116d53ce8666;
+&a17534586a867ff429fc2c8da30818a4c;
+&a22b1336f277bbda21bb670f395e7437b;
+&a8f77b5ae575a13d552e9e2f1435b0074;
+&ae0af83ebdceb76c8d96f3404b12b9a7a;
+&a4e8dfa3fdb824d1d1ee6e2a8e94034a2;
+&a5309966beee86d0a1b89780126194945;
+&a51c4963b31c613c1156a9de4aff6da07;
+&a378edf94b377b89124d910c1575bca55;
+&a0ccca9edfac965f7d46a6872cd0b1208;
+&a22bcccebf2404191d544c8d4094bf629;
+&a22ab23f800703a0b57c571ca2f119142;
+&ac6c4c38ea3c2bf2c6c61597332bf34e6;
+&ac3b1a1bb41df69abae45eacd3f019bd0;
+&a5a2225f8d4a24869305fadac430885aa;
+&a76ec745876964be1429a56310fd5dda3;
+&a21b8018898c81ea3e92cc53cf8375ada;
+&aa77098e5df42b51ed4eaed98a9e4cf35;
+&a21a86bcee7c5e8b5b38543bc602409cb;
+&a4a74e95a0a886113f74b9025d006ea13;
+&ae573b4724c1a820f5d33a155db7a5626;
+&a235ed3a8c7a15f388f75f1893c68bee4;
+&a9580a0123a0d4ee2f53f014e0056376a;
+&a6691c7611e233123a13cebd3efca3e60;
+&a7d3cc9a11a3d2fac88825721b529be4b;
+&af6cacc8bccd24ae69a671833e717ade5;
+&a6559701d2f4cecec81a9c1a03618f294;
+</part>
+</book>
diff --git a/scilab-arduino/tools/windows/help/en_US/open_serial.xml b/scilab-arduino/tools/windows/help/en_US/open_serial.xml
new file mode 100644
index 0000000..7f12d3c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/open_serial.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ *
+ * This help file was generated from open_serial.sci using help_from_sci().
+ *
+ -->
+
+<refentry version="5.0-subset Scilab" xml:id="open_serial" xml:lang="en"
+ xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:ns3="http://www.w3.org/1999/xhtml"
+ xmlns:mml="http://www.w3.org/1998/Math/MathML"
+ xmlns:scilab="http://www.scilab.org"
+ xmlns:db="http://docbook.org/ns/docbook">
+
+ <refnamediv>
+ <refname>open_serial</refname>
+ <refpurpose>Command to initialize the serial port which is connected to Arduino</refpurpose>
+ </refnamediv>
+
+
+<refsynopsisdiv>
+ <title>Calling Sequence</title>
+ <synopsis>
+ res=open_serial(nHandle, nPort,baudrate)
+
+ </synopsis>
+</refsynopsisdiv>
+
+<refsection>
+ <title>Parameters</title>
+ <variablelist>
+ <varlistentry><term>nHandle :</term>
+ <listitem><para> Board number, reserved for future use. For this version, any number would do</para></listitem></varlistentry>
+ <varlistentry><term>nPort :</term>
+ <listitem><para> Com port in which the Arduino is connected to</para></listitem></varlistentry>
+ <varlistentry><term>baudrate :</term>
+ <listitem><para> baudrate for the serial comminication</para></listitem></varlistentry>
+ <varlistentry><term>res :</term>
+ <listitem><para> 0 if the connection is successful, else the connection fail</para></listitem></varlistentry>
+ </variablelist>
+</refsection>
+
+<refsection>
+ <title>Description</title>
+ <para>
+To connect to the Arduino board. To check the port number, do to the device manager or check it from the Arduino software
+ </para>
+ <para>
+</para>
+</refsection>
+
+<refsection>
+ <title>Examples</title>
+ <programlisting role="example"><![CDATA[
+ok = open_serial(1,9,115200)
+close_serial(1)
+
+ ]]></programlisting>
+</refsection>
+
+<refsection>
+ <title>See also</title>
+ <simplelist type="inline">
+ <member><link linkend="close_serial">close_serial</link></member>
+ </simplelist>
+</refsection>
+
+<refsection>
+ <title>Authors</title>
+ <simplelist type="vert">
+ <member>Bruno JOFRET</member>
+ </simplelist>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/en_US/read_file_doc.sci b/scilab-arduino/tools/windows/help/en_US/read_file_doc.sci
new file mode 100644
index 0000000..dae0493
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/read_file_doc.sci
@@ -0,0 +1,284 @@
+
+function data=read_file_doc(file_name)
+ fd=mopen(file_name); //open file
+ txt=mgetl(fd,-1); //read all lines
+ err=mclose(fd);
+
+ //items to read (respect this order )
+ items_to_read=["\name","\smalldescription","\palette","\description","\dialogbox","\example1","\example2","\example3","\seealso"];
+ lign_of_items=0*ones(1,size(items_to_read,2));
+ nb_items=size(items_to_read,'*')
+ //definition de la structure de donnee
+ for i=1:size(txt,'*')
+ for j=1:nb_items
+
+ if ~isempty(strindex(txt(i),items_to_read(j))) then
+ lign_of_items(j)=i;
+ end
+ end
+ end
+
+ //to use if the ordre is not respected
+ [temp,order]=gsort(lign_of_items,'g','i');
+
+ //extract data by items
+ data_by_items=cell(nb_items,1);
+ for j=1:nb_items-1
+ data_by_items(j).entries=txt(lign_of_items(order(j))+1:lign_of_items(order(j+1))-1);
+ end
+ data_by_items(nb_items).entries=txt(lign_of_items(order(nb_items))+1:$);
+ data_by_items2=data_by_items;
+ data_by_items2(order)=data_by_items;
+ data.name=stripblanks(strcat(data_by_items2(1).entries),%t);
+ data.smalldescription=strcat(data_by_items2(2).entries);
+ data.palette=stripblanks(strcat(data_by_items2(3).entries),%t);
+ data.seealso=data_by_items2(9).entries;
+ data.description=data_by_items2(4).entries;
+ data.dialogbox=data_by_items2(5).entries;
+ data.example1=data_by_items2(6).entries;
+ data.example2=data_by_items2(7).entries;
+ data.example3=data_by_items2(8).entries;
+ data.to_replace=cell(5,1);
+ data.to_replace=data_by_items2(4:8);
+
+endfunction
+
+function data=change_keyword(data)
+
+
+ for d=1:size(data.to_replace,1)
+ to_replace=data.to_replace(d).entries;
+
+ //add <par> </par> for each non empty lign
+ for i=1:size(to_replace,'*')
+ if ~isempty(to_replace(i)) then
+ to_replace(i)='<para> '+to_replace(i)+' </para>';
+ end
+ end
+
+ //replace \bold{} by <emphasis role="bold">Step Time</emphasis>
+ for i=1:size(to_replace,'*')
+ ind_bold=strindex(to_replace(i),"\bold")
+ ind_acc1=strindex(to_replace(i),"{")
+ ind_acc2=strindex(to_replace(i),"}")
+ n=0
+ ind_bold_acc=[]
+ for j=ind_bold
+ n=n+1;
+ for k=ind_acc1
+ if k==j+5 then
+ ind_bold_acc($+1)=ind_acc2(n);
+ continue
+ end
+ end
+ end
+
+ sizestr=length(to_replace(i))
+ if ~isempty(ind_bold) then
+ new_str=[];
+ ind_ini=1;
+ for j=1:size(ind_bold,2)
+ new_str=new_str+part(to_replace(i),ind_ini:ind_bold(j)-1);
+ new_str=new_str+"<emphasis role='"bold'">";
+ new_str=new_str+part(to_replace(i),ind_bold(j)+6:ind_bold_acc(j)-1);
+ new_str=new_str+"</emphasis>";
+ ind_ini=ind_bold_acc(j)+1;
+ end
+ to_replace(i)=new_str+part(to_replace(i),ind_bold_acc($)+1:sizestr);
+ end
+ end
+
+ //replace \image by xml code
+ for i=1:size(to_replace,'*')
+ ind_image=strindex(to_replace(i),"\image")
+ ind_acc=strindex(to_replace(i),"}")
+ if ~isempty(ind_image) then
+ name=stripblanks(part(to_replace(i),ind_image+7:ind_acc-1));
+ to_replace(i) = "<inlinemediaobject> <imageobject> <imagedata fileref='""+name+"'" align='"center'"/> </imageobject> </inlinemediaobject>"
+ end
+
+ end
+
+
+ data.to_replace(d).entries=to_replace;
+
+
+ end
+
+ data.description=data.to_replace(1).entries
+ data.dialogbox=data.to_replace(2).entries;
+ data.example1=data.to_replace(3).entries;
+ data.example2=data.to_replace(4).entries;
+ data.example3=data.to_replace(5).entries;
+ //data.seealso=data.to_replace(6).entries;
+
+endfunction
+
+function write_xml(data)
+
+ fd = mopen(data.name+'.xml','w+');
+
+ //write entete
+ entete=['<?xml version='"1.0'" encoding='"UTF-8'"?>'
+ '<refentry xmlns='"http://docbook.org/ns/docbook'" xmlns:xlink='"http://www.w3.org/1999/xlink'" xmlns:svg='"http://www.w3.org/2000/svg'" xmlns:mml='"http://www.w3.org/1998/Math/MathML'" xmlns:db='"http://docbook.org/ns/docbook'" version='"5.0-subset Scilab'" xml:id='""+data.name+"'"> ']
+ mputl(entete,fd);
+ towrite= ['<refnamediv>'
+ ' <refname>'+data.name+'</refname>'
+ ' <refpurpose>'+data.smalldescription+'</refpurpose> '
+ '</refnamediv>']
+ mputl(towrite,fd);
+
+ towrite=['<refsection>'
+ ' <title>Block Screenshot</title>'
+ ' <para>'
+ ' <inlinemediaobject>'
+ ' <imageobject>'
+ ' <imagedata fileref='"../../images/gif/'+data.name'+'.gif'" align='"center'" valign='"middle'"/>'
+ ' </imageobject>'
+ ' </inlinemediaobject>'
+ ' </para>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd);
+
+ linkend=[]
+ linkend_name=[];
+ linkend_data=cell(7,1);
+ n=1;
+ if ~isempty(data.palette) then
+ linkend($+1)='Palette_'+data.name;
+ linkend_name($+1)='Palette';
+ linkend_data(n).entries=data.palette
+ n=n+1
+ end
+ if ~isempty(data.description) then
+ linkend($+1)='Description_'+data.name;
+ linkend_name($+1)='Description';
+ linkend_data(n).entries=data.description
+ n=n+1
+ end
+ if ~isempty(data.dialogbox) then
+ linkend($+1)='Dialogbox_'+data.name;
+ linkend_name($+1)='Dialog box';
+ linkend_data(n).entries=data.dialogbox;
+ n=n+1
+ end
+ if ~isempty(data.example1) then
+ linkend($+1)='Example1_'+data.name;
+ linkend_name($+1)='Example 1';
+ linkend_data(n).entries=data.example1;
+ n=n+1
+ end
+ if ~isempty(data.example2) then
+ linkend($+1)='Example2_'+data.name;
+ linkend_name($+1)='Example 2';
+ linkend_data(n).entries=data.example2;
+ n=n+1
+ end
+ if ~isempty(data.example3) then
+ linkend($+1)='Example3_'+data.name;
+ linkend_name($+1)='Example 3';
+ linkend_data(n).entries=data.example3;
+ n=n+1
+ end
+ if ~isempty(data.seealso) then
+ linkend($+1)='Seealso_'+data.name;
+ linkend_name($+1)='See Also';
+ linkend_data(n).entries=data.seealso;
+ n=n+1
+ end
+
+ towrite=[
+ '<refsection id='"Contents_'+data.name+''">'
+ ' <title>Contents</title>'
+ ' <itemizedlist>'
+ ' <listitem>'
+ ' <para>'
+ ' <link linkend='"'+data.name'+''">'+data.smalldescription+'</link>'
+ ' </para>'
+ ' </listitem>'
+ ' <listitem>'
+ ' <itemizedlist>'
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)
+ towrite=[
+ ' <listitem>'
+ ' <para>'
+ ' <xref linkend='"'+linkend(i)+''">'+linkend_name(i)+'</xref>'
+ ' </para>'
+ ' </listitem>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ towrite=[
+ ' </itemizedlist>'
+ ' </listitem>'
+ ' </itemizedlist>'
+ '</refsection> '
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)-1
+ towrite=[
+ '<refsection id='"'+linkend(i)+''">'
+ ' <title>'+linkend_name(i)+'</title>'
+ // ' <itemizedlist>'
+ // ' <listitem>'
+ //' <para>'
+ linkend_data(i).entries
+ //' </para>'
+ //' </listitem>'
+ //' </itemizedlist>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ //specific for see_also
+ towrite=[
+ '<refsection id='"'+linkend($)+''">'
+ ' <title>'+linkend_name(size(linkend,1))+'</title>'
+ ]
+ mputl(towrite,fd)
+
+ for j=1:size(linkend_data(size(linkend,1)).entries,'*')
+ towrite=[
+ ' <para>'
+ ' <link linkend='"'+linkend_data(size(linkend,1)).entries(j)+''">'+linkend_data(size(linkend,1)).entries(j)+'</link>'
+ ' </para>'
+ ]
+ mputl(towrite,fd)
+ end
+ towrite=[
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+
+
+towrite='</refentry>'
+mputl(towrite,fd)
+
+
+ mclose(fd);
+
+endfunction
+
+
+function create_xml(filename)
+ disp('Creation du fichier xml associé à '+filename)
+ data=read_file_doc(filename);
+ data=change_keyword(data);
+ write_xml(data);
+endfunction
+
+function create_all()
+ files=findfiles('./','*.tst')
+ for i=1:length(length(files))
+ if strindex(files(i),'~') ==[]
+ create_xml(files(i))
+ end
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/help/en_US/read_file_doc2.sci b/scilab-arduino/tools/windows/help/en_US/read_file_doc2.sci
new file mode 100644
index 0000000..45275bd
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/read_file_doc2.sci
@@ -0,0 +1,285 @@
+
+function data=read_file_doc(file_name)
+ fd=mopen(file_name); //open file
+ txt=mgetl(fd,-1); //read all lines
+ err=mclose(fd);
+
+ //items to read (respect this order )
+// items_to_read=["\name","\smalldescription","\palette","\description","\dialogbox","\example1","\example2","\example3","\seealso"];
+ items_to_read=["\name","\smalldescription","\module","\description","\callingsequences","\example1","\example2","\example3","\seealso"];
+ lign_of_items=0*ones(1,size(items_to_read,2));
+ nb_items=size(items_to_read,'*')
+ //definition de la structure de donnee
+ for i=1:size(txt,'*')
+ for j=1:nb_items
+
+ if ~isempty(strindex(txt(i),items_to_read(j))) then
+ lign_of_items(j)=i;
+ end
+ end
+ end
+
+ //to use if the ordre is not respected
+ [temp,order]=gsort(lign_of_items,'g','i');
+
+ //extract data by items
+ data_by_items=cell(nb_items,1);
+ for j=1:nb_items-1
+ data_by_items(j).entries=txt(lign_of_items(order(j))+1:lign_of_items(order(j+1))-1);
+ end
+ data_by_items(nb_items).entries=txt(lign_of_items(order(nb_items))+1:$);
+ data_by_items2=data_by_items;
+ data_by_items2(order)=data_by_items;
+ data.name=stripblanks(strcat(data_by_items2(1).entries),%t);
+ data.smalldescription=strcat(data_by_items2(2).entries);
+ data.palette=stripblanks(strcat(data_by_items2(3).entries),%t);
+ data.seealso=data_by_items2(9).entries;
+ data.description=data_by_items2(4).entries;
+ data.dialogbox=data_by_items2(5).entries;
+ data.example1=data_by_items2(6).entries;
+ data.example2=data_by_items2(7).entries;
+ data.example3=data_by_items2(8).entries;
+ data.to_replace=cell(5,1);
+ data.to_replace=data_by_items2(4:8);
+
+endfunction
+
+function data=change_keyword(data)
+
+
+ for d=1:size(data.to_replace,1)
+ to_replace=data.to_replace(d).entries;
+
+ //add <par> </par> for each non empty lign
+ for i=1:size(to_replace,'*')
+ if ~isempty(to_replace(i)) then
+ to_replace(i)='<para> '+to_replace(i)+' </para>';
+ end
+ end
+
+ //replace \bold{} by <emphasis role="bold">Step Time</emphasis>
+ for i=1:size(to_replace,'*')
+ ind_bold=strindex(to_replace(i),"\bold")
+ ind_acc1=strindex(to_replace(i),"{")
+ ind_acc2=strindex(to_replace(i),"}")
+ n=0
+ ind_bold_acc=[]
+ for j=ind_bold
+ n=n+1;
+ for k=ind_acc1
+ if k==j+5 then
+ ind_bold_acc($+1)=ind_acc2(n);
+ continue
+ end
+ end
+ end
+
+ sizestr=length(to_replace(i))
+ if ~isempty(ind_bold) then
+ new_str=[];
+ ind_ini=1;
+ for j=1:size(ind_bold,2)
+ new_str=new_str+part(to_replace(i),ind_ini:ind_bold(j)-1);
+ new_str=new_str+"<emphasis role='"bold'">";
+ new_str=new_str+part(to_replace(i),ind_bold(j)+6:ind_bold_acc(j)-1);
+ new_str=new_str+"</emphasis>";
+ ind_ini=ind_bold_acc(j)+1;
+ end
+ to_replace(i)=new_str+part(to_replace(i),ind_bold_acc($)+1:sizestr);
+ end
+ end
+
+ //replace \image by xml code
+ for i=1:size(to_replace,'*')
+ ind_image=strindex(to_replace(i),"\image")
+ ind_acc=strindex(to_replace(i),"}")
+ if ~isempty(ind_image) then
+ name=stripblanks(part(to_replace(i),ind_image+7:ind_acc-1));
+ to_replace(i) = "<inlinemediaobject> <imageobject> <imagedata fileref='""+name+"'" align='"center'"/> </imageobject> </inlinemediaobject>"
+ end
+
+ end
+
+
+ data.to_replace(d).entries=to_replace;
+
+
+ end
+
+ data.description=data.to_replace(1).entries
+ data.dialogbox=data.to_replace(2).entries;
+ data.example1=data.to_replace(3).entries;
+ data.example2=data.to_replace(4).entries;
+ data.example3=data.to_replace(5).entries;
+ //data.seealso=data.to_replace(6).entries;
+
+endfunction
+
+function write_xml(data)
+
+ fd = mopen(data.name+'.xml','w+');
+
+ //write entete
+ entete=['<?xml version='"1.0'" encoding='"UTF-8'"?>'
+ '<refentry xmlns='"http://docbook.org/ns/docbook'" xmlns:xlink='"http://www.w3.org/1999/xlink'" xmlns:svg='"http://www.w3.org/2000/svg'" xmlns:mml='"http://www.w3.org/1998/Math/MathML'" xmlns:db='"http://docbook.org/ns/docbook'" version='"5.0-subset Scilab'" xml:id='""+data.name+"'"> ']
+ mputl(entete,fd);
+ towrite= ['<refnamediv>'
+ ' <refname>'+data.name+'</refname>'
+ ' <refpurpose>'+data.smalldescription+'</refpurpose> '
+ '</refnamediv>']
+ mputl(towrite,fd);
+
+ towrite=['<refsection>'
+ ' <title>Block Screenshot</title>'
+ ' <para>'
+ ' <inlinemediaobject>'
+ ' <imageobject>'
+ ' <imagedata fileref='"../../images/gif/'+data.name'+'.gif'" align='"center'" valign='"middle'"/>'
+ ' </imageobject>'
+ ' </inlinemediaobject>'
+ ' </para>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd);
+
+ linkend=[]
+ linkend_name=[];
+ linkend_data=cell(7,1);
+ n=1;
+ if ~isempty(data.palette) then
+ linkend($+1)='Palette_'+data.name;
+ linkend_name($+1)='Palette';
+ linkend_data(n).entries=data.palette
+ n=n+1
+ end
+ if ~isempty(data.description) then
+ linkend($+1)='Description_'+data.name;
+ linkend_name($+1)='Description';
+ linkend_data(n).entries=data.description
+ n=n+1
+ end
+ if ~isempty(data.dialogbox) then
+ linkend($+1)='Dialogbox_'+data.name;
+ linkend_name($+1)='Dialog box';
+ linkend_data(n).entries=data.dialogbox;
+ n=n+1
+ end
+ if ~isempty(data.example1) then
+ linkend($+1)='Example1_'+data.name;
+ linkend_name($+1)='Example 1';
+ linkend_data(n).entries=data.example1;
+ n=n+1
+ end
+ if ~isempty(data.example2) then
+ linkend($+1)='Example2_'+data.name;
+ linkend_name($+1)='Example 2';
+ linkend_data(n).entries=data.example2;
+ n=n+1
+ end
+ if ~isempty(data.example3) then
+ linkend($+1)='Example3_'+data.name;
+ linkend_name($+1)='Example 3';
+ linkend_data(n).entries=data.example3;
+ n=n+1
+ end
+ if ~isempty(data.seealso) then
+ linkend($+1)='Seealso_'+data.name;
+ linkend_name($+1)='See Also';
+ linkend_data(n).entries=data.seealso;
+ n=n+1
+ end
+
+ towrite=[
+ '<refsection id='"Contents_'+data.name+''">'
+ ' <title>Contents</title>'
+ ' <itemizedlist>'
+ ' <listitem>'
+ ' <para>'
+ ' <link linkend='"'+data.name'+''">'+data.smalldescription+'</link>'
+ ' </para>'
+ ' </listitem>'
+ ' <listitem>'
+ ' <itemizedlist>'
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)
+ towrite=[
+ ' <listitem>'
+ ' <para>'
+ ' <xref linkend='"'+linkend(i)+''">'+linkend_name(i)+'</xref>'
+ ' </para>'
+ ' </listitem>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ towrite=[
+ ' </itemizedlist>'
+ ' </listitem>'
+ ' </itemizedlist>'
+ '</refsection> '
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)-1
+ towrite=[
+ '<refsection id='"'+linkend(i)+''">'
+ ' <title>'+linkend_name(i)+'</title>'
+ // ' <itemizedlist>'
+ // ' <listitem>'
+ //' <para>'
+ linkend_data(i).entries
+ //' </para>'
+ //' </listitem>'
+ //' </itemizedlist>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ //specific for see_also
+ towrite=[
+ '<refsection id='"'+linkend($)+''">'
+ ' <title>'+linkend_name(size(linkend,1))+'</title>'
+ ]
+ mputl(towrite,fd)
+
+ for j=1:size(linkend_data(size(linkend,1)).entries,'*')
+ towrite=[
+ ' <para>'
+ ' <link linkend='"'+linkend_data(size(linkend,1)).entries(j)+''">'+linkend_data(size(linkend,1)).entries(j)+'</link>'
+ ' </para>'
+ ]
+ mputl(towrite,fd)
+ end
+ towrite=[
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+
+
+towrite='</refentry>'
+mputl(towrite,fd)
+
+
+ mclose(fd);
+
+endfunction
+
+
+function create_xml(filename)
+ disp('Creation du fichier xml associé à '+filename)
+ data=read_file_doc(filename);
+ data=change_keyword(data);
+ write_xml(data);
+endfunction
+
+function create_all()
+ files=findfiles('./','*.tst')
+ for i=1:length(length(files))
+ if strindex(files(i),'~') ==[]
+ create_xml(files(i))
+ end
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB.gif b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB.gif
new file mode 100644
index 0000000..00a75c6
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB.html
new file mode 100644
index 0000000..bfc43f0
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>ANALOG_READ_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">&lt;&lt; Arduino toolbox</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ANALOG_WRITE_SB.html">ANALOG_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; ANALOG_READ_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">ANALOG_READ_SB</h1>
+ <p class="refpurpose">Analog ports of an Arduino board which allow the acquisition of an analog input</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./ANALOG_READ_SB.gif'/></div></span></p></div>
+<a name="Contents_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="ANALOG_READ_SB.html" class="link">Analog ports of an Arduino board which allow the acquisition of an analog input</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="ANALOG_READ_SB.html#Palette_ANALOG_READ_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="ANALOG_READ_SB.html#Description_ANALOG_READ_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="ANALOG_READ_SB.html#Dialogbox_ANALOG_READ_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="ANALOG_READ_SB.html#Example1_ANALOG_READ_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="ANALOG_READ_SB.html#Seealso_ANALOG_READ_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15). The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p></div>
+<a name="Dialogbox_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./ANALOG_READ_SB_dialogbox.png'/></div></span>
+<p class="para">The port number of 0-5 must be specified for the UNO card, 0-15 for a MEGA board.</p>
+<p class="para">The card number can not be changed at this time.</p>
+<p class="para">There would be no verification routine for the setting, please refer to the specification of your Arduino board to put a correct value.</p></div>
+<a name="Example1_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The following example shows the use of the block in connecting with an angular potentiometer which signal pin is connected to port 2 of Arduino board. The other two pins of the potentiometer are connected to ground (GND) and the 5 Volt the card directly.</p>
+<span><div style='text-align:center'><img src='./ANALOG_READ_example.png'/></div></span></div>
+<a name="Seealso_ANALOG_READ_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ANALOG_WRITE_SB.html" class="link">ANALOG_WRITE_SB</a></p>
+ <p class="para"><a href="DIGITAL_READ_SB.html" class="link">DIGITAL_READ_SB</a></p>
+ <p class="para"><a href="DIGITAL_WRITE_SB.html" class="link">DIGITAL_WRITE_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">&lt;&lt; Arduino toolbox</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ANALOG_WRITE_SB.html">ANALOG_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB_dialogbox.png
new file mode 100644
index 0000000..0a4a823
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_example.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_example.png
new file mode 100644
index 0000000..4df93cf
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_READ_example.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.gif b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.gif
new file mode 100644
index 0000000..1da5d03
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.html
new file mode 100644
index 0000000..6dbd86c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>ANALOG_WRITE_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="ANALOG_READ_SB.html">&lt;&lt; ANALOG_READ_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ARDUINO_SETUP.html">ARDUINO_SETUP &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; ANALOG_WRITE_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">ANALOG_WRITE_SB</h1>
+ <p class="refpurpose">Analog outputs which allow generation of analog voltage on a given port</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./ANALOG_WRITE_SB.gif'/></div></span></p></div>
+<a name="Contents_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="ANALOG_WRITE_SB.html" class="link">Analog outputs which allow generation of analog voltage on a given port</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="ANALOG_WRITE_SB.html#Palette_ANALOG_WRITE_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="ANALOG_WRITE_SB.html#Description_ANALOG_WRITE_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="ANALOG_WRITE_SB.html#Dialogbox_ANALOG_WRITE_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="ANALOG_WRITE_SB.html#Example1_ANALOG_WRITE_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="ANALOG_WRITE_SB.html#Seealso_ANALOG_WRITE_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46. It is a bit misleading to use the term &#0034;analog output&#0034;, because in order to generate this output while minimizing energy losses, the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average voltage across the component connected to this port, which has the effect of having a analog output voltage.</p>
+<p class="para">The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p></div>
+<a name="Dialogbox_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./ANALOG_WRITE_SB_dialogbox.png'/></div></span>
+<p class="para">The port number must be 3, 5, 6, 9, 10, 11 for UNO card (PWM ports with symbol ~) and must be 1 to 13 or 44 to 46 for the MEGA board. Using other ports would either cause the output to 0 or 5V according to the value sent.</p>
+<p class="para">The card number can not be changed at this time.</p></div>
+<a name="Example1_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The following example shows the use of the block to control the brightness of a LED by a potentiometer. The LED (in series with a resistor with proper ohmic) is connected to ground (GND) and to the port 10 while potentiometer is connected to the analog input A2. As the analog input is 10 bits while the PWM is bits, it is necessary to add a gain to convert 0 - 1023 to 0 - 255.</p>
+<span><div style='text-align:center'><img src='./ANALOG_WRITE_exemple.png'/></div></span></div>
+<a name="Seealso_ANALOG_WRITE_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ANALOG_READ_SB.html" class="link">ANALOG_READ_SB</a></p>
+ <p class="para"><a href="DIGITAL_READ_SB.html" class="link">DIGITAL_READ_SB</a></p>
+ <p class="para"><a href="DIGITAL_WRITE_SB.html" class="link">DIGITAL_WRITE_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="ANALOG_READ_SB.html">&lt;&lt; ANALOG_READ_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ARDUINO_SETUP.html">ARDUINO_SETUP &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..febf848
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_exemple.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_exemple.png
new file mode 100644
index 0000000..8b84651
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ANALOG_WRITE_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP.gif b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP.gif
new file mode 100644
index 0000000..e2e8d42
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP.html
new file mode 100644
index 0000000..60db553
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP.html
@@ -0,0 +1,88 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>ARDUINO_SETUP</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="ANALOG_WRITE_SB.html">&lt;&lt; ANALOG_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DCMOTOR_SB.html">DCMOTOR_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; ARDUINO_SETUP</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">ARDUINO_SETUP</h1>
+ <p class="refpurpose">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./ARDUINO_SETUP.gif'/></div></span></p></div>
+<a name="Contents_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="ARDUINO_SETUP.html" class="link">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="ARDUINO_SETUP.html#Palette_ARDUINO_SETUP" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="ARDUINO_SETUP.html#Description_ARDUINO_SETUP" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="ARDUINO_SETUP.html#Dialogbox_ARDUINO_SETUP" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="ARDUINO_SETUP.html#Example1_ARDUINO_SETUP" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="ARDUINO_SETUP.html#Seealso_ARDUINO_SETUP" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">This block is <b>compulsory</b> to be placed in the xcos model to use this toolbox.</p>
+<p class="para">It defines the communication setting between the Arduino board and Xcos.</p>
+<p class="para">The port setting can be determined by running the Arduino application from the menu item &#0034;Tools / Serial Port&#0034;. The port number can also be changed by going to computer&#0039;s &#0034;Device Manager / Ports (Advanced options)&#0034;.</p>
+<p class="para">Currently it is not possible to use multiple Arduino boards.</p>
+
+<p class="para">The toolbox can be used only on Windows for now.</p>
+
+<p class="para"><b>Before using Arduino toolbox, it is necessary to upload the program &#0034;toolbox_arduino.ino&#0034; to the board, which is available at:</b> http://www.demosciences.fr</p></div>
+<a name="Dialogbox_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./ARDUINO_SETUP_dialogbox.png'/></div></span>
+<p class="para">The communication port must be specified (between 2 and 9 or an error message would appear).</p>
+<p class="para">The card number Arduino must be equal to 1 now (or an error message would appear)</p></div>
+<a name="Example1_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the block to blink the LED at port 13 of the UNO card set on the serial port 5. All blocks are using the default settings, except for the PULSE block from the source palette where the phase shift is changed to 0.</p>
+<span><div style='text-align:center'><img src='./ARDUINO_SETUP_example.png'/></div></span></div>
+<a name="Seealso_ARDUINO_SETUP"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="TIME_SAMPLE.html" class="link">TIME_SAMPLE</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="ANALOG_WRITE_SB.html">&lt;&lt; ANALOG_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DCMOTOR_SB.html">DCMOTOR_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP_dialogbox.png
new file mode 100644
index 0000000..715ec38
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP_example.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP_example.png
new file mode 100644
index 0000000..22f0da8
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ARDUINO_SETUP_example.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ASSERV_POS_exemple.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ASSERV_POS_exemple.png
new file mode 100644
index 0000000..2ddb447
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ASSERV_POS_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB.gif b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB.gif
new file mode 100644
index 0000000..c5cf0e6
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB.html
new file mode 100644
index 0000000..4dbde67
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB.html
@@ -0,0 +1,101 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>DCMOTOR_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="ARDUINO_SETUP.html">&lt;&lt; ARDUINO_SETUP</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DIGITAL_READ_SB.html">DIGITAL_READ_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; DCMOTOR_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">DCMOTOR_SB</h1>
+ <p class="refpurpose">This block is used to control a DC motor</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./DCMOTOR_SB.gif'/></div></span></p></div>
+<a name="Contents_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="DCMOTOR_SB.html" class="link">This block is used to control a DC motor</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="DCMOTOR_SB.html#Palette_DCMOTOR_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="DCMOTOR_SB.html#Description_DCMOTOR_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="DCMOTOR_SB.html#Dialogbox_DCMOTOR_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="DCMOTOR_SB.html#Example1_DCMOTOR_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="DCMOTOR_SB.html#Seealso_DCMOTOR_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">The DCMOTOR block is used to control one or more DC motors. Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.</p>
+<p class="para">This is why the block is used to select the type of card or H-bridge used and depending on the choice, a different menu would pop up to for the device dependent setting (port numbers or motor number ...)</p>
+<p class="para">Remember that the PWM is 8-bit (0 to 255).</p>
+<p class="para">The input of the block could accept any value, but it would saturate at +- 255.</p>
+<p class="para">Do note that the sampling rate is 8 ms minimum for this block.</p>
+<p class="para"></p></div>
+<a name="Dialogbox_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<p class="para">The block has two menus.</p>
+<p class="para">The first lets you choose the type of card used:</p>
+<p class="para">1 for official Motorshield Rev3 available on the website arduino.cc card</p>
+<p class="para">2 H-bridge L298 using PWM and a current sense</p>
+<p class="para">3 H-bridge L293 using two PWM</p>
+<p class="para">The card number can not be changed at this time.</p>
+<span><div style='text-align:center'><img src='./DCMOTOR_SB_dialogbox1.png'/></div></span>
+
+<p class="para">The second menu is for the setting of the selected card used</p>
+<p class="para">For Motorshield channel number 1 or 2 correspond to the motor A or B on the Shield.</p>
+
+<span><div style='text-align:center'><img src='./DCMOTOR_SB_dialogbox2.png'/></div></span>
+<p class="para">For L298, one informs the port number specification of meaning (any digital port), the number of the port for PWM speed (3,5,6,9,10,11) and the number of motor-driven (limited 1 to 4)</p>
+<span><div style='text-align:center'><img src='./DCMOTOR_SB_dialogbox3.png'/></div></span>
+<p class="para">For L293, the setting are 2 PWM port and the motor number (1 to 3)</p>
+<span><div style='text-align:center'><img src='./DCMOTOR_SB_dialogbox4.png'/></div></span></div>
+<a name="Example1_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The following example shows the of the motor unit associated with a potentiometer. When the knob is in the middle position, the motor is not moving while when the knob is turned in one direction or the other, the motor is moving faster or slower in one direction or the other.</p>
+<p class="para">A gain block is used to convert the 10 bits analog input to the 8 bits motor output. (or the input of this block)</p>
+<span><div style='text-align:center'><img src='./DCMOTOR_exemple.png'/></div></span></div>
+<a name="Seealso_DCMOTOR_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ENCODER_SB.html" class="link">ENCODER_SB</a></p>
+ <p class="para"><a href="SERVO_WRITE_SB.html" class="link">SERVO_WRITE_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="ARDUINO_SETUP.html">&lt;&lt; ARDUINO_SETUP</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DIGITAL_READ_SB.html">DIGITAL_READ_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox1.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox1.png
new file mode 100644
index 0000000..5bf8920
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox2.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox2.png
new file mode 100644
index 0000000..4d2a7b4
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox3.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox3.png
new file mode 100644
index 0000000..34a15d0
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox3.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox4.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox4.png
new file mode 100644
index 0000000..c80e6c3
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_SB_dialogbox4.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_exemple.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_exemple.png
new file mode 100644
index 0000000..24e50fe
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DCMOTOR_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.gif b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.gif
new file mode 100644
index 0000000..39dea04
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.html
new file mode 100644
index 0000000..d4f4783
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>DIGITAL_READ_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="DCMOTOR_SB.html">&lt;&lt; DCMOTOR_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DIGITAL_WRITE_SB.html">DIGITAL_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; DIGITAL_READ_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">DIGITAL_READ_SB</h1>
+ <p class="refpurpose">Allows to receive a logical value 0 or 1 on a given port.</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./DIGITAL_READ_SB.gif'/></div></span></p></div>
+<a name="Contents_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="DIGITAL_READ_SB.html" class="link">Allows to receive a logical value 0 or 1 on a given port.</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="DIGITAL_READ_SB.html#Palette_DIGITAL_READ_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="DIGITAL_READ_SB.html#Description_DIGITAL_READ_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="DIGITAL_READ_SB.html#Dialogbox_DIGITAL_READ_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="DIGITAL_READ_SB.html#Example1_DIGITAL_READ_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="DIGITAL_READ_SB.html#Seealso_DIGITAL_READ_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.</p>
+<p class="para">To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p></div>
+<a name="Dialogbox_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./DIGITAL_READ_SB_dialogbox.png'/></div></span>
+<p class="para">The digital port number is between 2 and 53, chosen based on his Arduino.</p>
+<p class="para">The card number can not be changed at this time.</p></div>
+<a name="Example1_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up.</p>
+<span><div style='text-align:center'><img src='./DIGITAL_exemple.png'/></div></span></div>
+<a name="Seealso_DIGITAL_READ_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ANALOG_READ_SB.html" class="link">ANALOG_READ_SB</a></p>
+ <p class="para"><a href="ANALOG_WRITE_SB.html" class="link">ANALOG_WRITE_SB</a></p>
+ <p class="para"><a href="DIGITAL_WRITE_SB.html" class="link">DIGITAL_WRITE_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="DCMOTOR_SB.html">&lt;&lt; DCMOTOR_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="DIGITAL_WRITE_SB.html">DIGITAL_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB_dialogbox.png
new file mode 100644
index 0000000..244b37d
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.gif b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.gif
new file mode 100644
index 0000000..e47dca2
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.html
new file mode 100644
index 0000000..8cb0ad7
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB.html
@@ -0,0 +1,86 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>DIGITAL_WRITE_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="DIGITAL_READ_SB.html">&lt;&lt; DIGITAL_READ_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ENCODER_SB.html">ENCODER_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; DIGITAL_WRITE_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">DIGITAL_WRITE_SB</h1>
+ <p class="refpurpose">Allows to send a logical value 0 or 1 on a given port.</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./DIGITAL_WRITE_SB.gif'/></div></span></p></div>
+<a name="Contents_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="DIGITAL_WRITE_SB.html" class="link">Allows to send a logical value 0 or 1 on a given port.</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="DIGITAL_WRITE_SB.html#Palette_DIGITAL_WRITE_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="DIGITAL_WRITE_SB.html#Description_DIGITAL_WRITE_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="DIGITAL_WRITE_SB.html#Dialogbox_DIGITAL_WRITE_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="DIGITAL_WRITE_SB.html#Example1_DIGITAL_WRITE_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="DIGITAL_WRITE_SB.html#Seealso_DIGITAL_WRITE_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">The UNO card has a set of logical ports (digital) which are used for writing or reading data from a component.</p>
+<p class="para">To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p>
+<p class="para"></p></div>
+<a name="Dialogbox_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./DIGITAL_WRITE_SB_dialogbox.png'/></div></span>
+<p class="para">The digital port number is between 2 and 53, chosen based on his Arduino.</p>
+<p class="para">The card number can not be changed at this time.</p></div>
+<a name="Example1_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the block in the case of an assembly consisting of a switch which is connected to a digital pin 7 and a LED which connected to digital port 10. Pressing the button causes the LED to light up.</p>
+<span><div style='text-align:center'><img src='./DIGITAL_exemple.png'/></div></span></div>
+<a name="Seealso_DIGITAL_WRITE_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ANALOG_READ_SB.html" class="link">ANALOG_READ_SB</a></p>
+ <p class="para"><a href="ANALOG_WRITE_SB.html" class="link">ANALOG_WRITE_SB</a></p>
+ <p class="para"><a href="DIGITAL_READ_SB.html" class="link">DIGITAL_READ_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="DIGITAL_READ_SB.html">&lt;&lt; DIGITAL_READ_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="ENCODER_SB.html">ENCODER_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..4abc644
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_exemple.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_exemple.png
new file mode 100644
index 0000000..22832fa
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/DIGITAL_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB.gif b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB.gif
new file mode 100644
index 0000000..6cbd55b
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB.html
new file mode 100644
index 0000000..4c653bd
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB.html
@@ -0,0 +1,100 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>ENCODER_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="DIGITAL_WRITE_SB.html">&lt;&lt; DIGITAL_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="INTERRUPT_SB.html">INTERRUPT_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; ENCODER_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">ENCODER_SB</h1>
+ <p class="refpurpose">Used to read encoder signal from one or more channels.</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./ENCODER_SB.gif'/></div></span></p></div>
+<a name="Contents_ENCODER_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="ENCODER_SB.html" class="link">Used to read encoder signal from one or more channels.</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="ENCODER_SB.html#Palette_ENCODER_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="ENCODER_SB.html#Description_ENCODER_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="ENCODER_SB.html#Dialogbox_ENCODER_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="ENCODER_SB.html#Example1_ENCODER_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="ENCODER_SB.html#Example2_ENCODER_SB" class="xref">Example 2</a></p></li>
+ <li><p class="para"><a href="ENCODER_SB.html#Seealso_ENCODER_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_ENCODER_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_ENCODER_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">Many sensors (incremental encoder, Hall sensor ...) return a pulses signal for which one wishes to count the edges. The block is used to perform this operation for one or two encoders. It uses the interrupts inputs available on the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment or decrement a counter.</p>
+<p class="para">Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and from 18 to 21. It is necessary to use an additional signal to determine the direction of the encoder.</p>
+<p class="para">Thus, the block offers the possibility to read from a quadrature encoder. It is then necessary that the two channels are wired to the interrupt and the rising and falling edges are taken into account on two channels pins (the precision is increased and can also determine the direction).</p>
+<p class="para">On the contrary, if a mode other than the quadrature is used, only one pin must be connected to the interrupt, the other pin can be connected to a conventional digital input.</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p></div>
+<a name="Dialogbox_ENCODER_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+
+<p class="para">The block has two menus.</p>
+<p class="para">The first allows you to select the mode on how to read the signal from the encoder (choice of 1, 2 or 4).</p>
+<p class="para">The card number can not be changed at this time.</p>
+<span><div style='text-align:center'><img src='./ENCODER_SB_dialogbox1.png'/></div></span>
+<p class="para">Mode 1 uses a one interrupt and any digital channel to determine the direction. Only the rising edges of the channel interrupt is taken into account in this mode.</p>
+<p class="para">Mode 2 uses the same channels, but both the rising and falling edges of the channel interrupt is taken into account.</p>
+<p class="para">Mode 4 corresponds to the quadrature mode. In this mode, the rising and falling edges of the two channels are taken into account.</p>
+
+<p class="para">The second menu allows you to specify the ports used in the mode selected:</p>
+<span><div style='text-align:center'><img src='./ENCODER_SB_dialogbox2.png'/></div></span>
+<p class="para">mode 1x : Declaration of interrupt pins 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and a declaration of any digital pin 2 to 13 for a UNO card (2 to 53 MEGA)</p>
+<p class="para">mode 2x : Same as above.</p>
+<p class="para">mode 4x : Mandatory use of two interrupt pins 2 and 3 on a UNO card. 2 from pin 2, 3 or from 18 to 21 for MEGA.</p></div>
+<a name="Example1_ENCODER_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The following example shows the use of the block in the case of a motor whose position is noted over time and speed from the signal from the encoder. The 4x mode was chosen to improve the accuracy. The setting of the motor is the same as that of motor example.</p>
+<span><div style='text-align:center'><img src='./ENCODER_exemple.png'/></div></span></div>
+<a name="Example2_ENCODER_SB"></a><div class="refsection"><h3 class="title">Example 2</h3>
+<p class="para">The following example shows a position control using information from the encoder for comparison with a reference variable. A PI controller is used to correct the difference and outputting the control voltage for the DC motor.</p>
+<span><div style='text-align:center'><img src='./ASSERV_POS_exemple.png'/></div></span></div>
+<a name="Seealso_ENCODER_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="DCMOTOR_SB.html" class="link">DCMOTOR_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="DIGITAL_WRITE_SB.html">&lt;&lt; DIGITAL_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="INTERRUPT_SB.html">INTERRUPT_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox1.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox1.png
new file mode 100644
index 0000000..8dbe19c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox2.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox2.png
new file mode 100644
index 0000000..b63878e
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_exemple.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_exemple.png
new file mode 100644
index 0000000..9c477cf
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ENCODER_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB.gif b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB.gif
new file mode 100644
index 0000000..ec40a43
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB.html
new file mode 100644
index 0000000..b662daa
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB.html
@@ -0,0 +1,84 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>INTERRUPT_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="ENCODER_SB.html">&lt;&lt; ENCODER_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="SERVO_WRITE_SB.html">SERVO_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; INTERRUPT_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">INTERRUPT_SB</h1>
+ <p class="refpurpose">Used to track a set of events on one or more channels.</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./INTERRUPT_SB.gif'/></div></span></p></div>
+<a name="Contents_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="INTERRUPT_SB.html" class="link">Used to track a set of events on one or more channels.</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="INTERRUPT_SB.html#Palette_INTERRUPT_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="INTERRUPT_SB.html#Description_INTERRUPT_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="INTERRUPT_SB.html#Dialogbox_INTERRUPT_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="INTERRUPT_SB.html#Example1_INTERRUPT_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="INTERRUPT_SB.html#Seealso_INTERRUPT_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">This is a read counter that counts the information from absolute position sensors (Hall effect sensor ...).</p>
+<p class="para">The block is used to read the rising edges detected on the interruption inputs of the Arduino board. These inputs are capable of stopping the main program during a change of state (edges of a signal) to execute a subroutine. The subroutine in this case is to increment a counter.</p>
+<p class="para">Pins 2 and 3 are the only pins of the Arduino Uno that support interrupts. On the Mega board, the pins are 2, 3 and 18 to 21.</p>
+<p class="para">Do note that the minimum sampling rate is 8 ms for this block.</p></div>
+<a name="Dialogbox_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<p class="para">The device offers a menu that allows the declaration of the interrupt pin 2 or 3 on a UNO card (2, 3 or 18 to 21 for the MEGA board) and declaration of any digital pin 2 to 13 for a UNO card (2-53 for the MEGA board).</p>
+<p class="para">The card number can not be changed at this time.</p>
+<span><div style='text-align:center'><img src='./INTERRUPT_SB_dialogbox.png'/></div></span></div>
+<a name="Example1_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the block to count the signal of a optical sensor connected to pin 3.</p>
+<span><div style='text-align:center'><img src='./INTERRUPT_exemple.png'/></div></span></div>
+<a name="Seealso_INTERRUPT_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ENCODER_SB.html" class="link">ENCODER_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="ENCODER_SB.html">&lt;&lt; ENCODER_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="SERVO_WRITE_SB.html">SERVO_WRITE_SB &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB_dialogbox.png
new file mode 100644
index 0000000..ec3f62c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_exemple.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_exemple.png
new file mode 100644
index 0000000..7807247
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/INTERRUPT_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS
new file mode 100644
index 0000000..0726cd0
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
new file mode 100644
index 0000000..8bf9cd9
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/DOCS.TAB
@@ -0,0 +1,2 @@
+eÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿý×ÿÿÿÿÿÿÿÿÿÿÿÿ÷_ÿÿÿÿÿÿÿÙÿö_ý—ÿuý—ö_ÿÿö_ÿÿÿÿÿÿÿÿö_Ùÿö_ÿÿÙYÿÿÿÿÿÿÿÿÿÿý©ÿÿÿÿÿÿÿÿ÷_ÿÿ÷×ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿuý×÷_óIuÿÿÿÿÿÿÿÐ…á«êd¶¤Äñ¡3ËÆE]F¡RÆ¥I¥aq¡A#ÆÆaQ*8«£1†„†Ž–ÆJóñ¨^Q–Ìrñ‘Ró ÿÎW‹<dOÿ6/8¿8¿ó2óƆʱŒHÒªŒbŒq‘Qh¿ú7*£K«£
+¨Âª¨âÆa?ëΆqWËÏñˆP¿ãJ«ÆEÿ»“Š?£r£rû:’˜£ŠŽFJ(Òª4£–l`Rd¦J«ª¦’®dý‹4£Šúº3d­’¦V,åduÿý—ÿÿÿÝÿý×öBüè¿ÿÿÿÿÿÌ/ÿüîX¼Òÿÿ5”¿ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóËÿÿÿÿÿÿÿÿÿÿý€ \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
new file mode 100644
index 0000000..7be89b3
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/OFFSETS
@@ -0,0 +1 @@
+ˆí' tDÌb6·Ìänzg%c$CÞñŒh€ €6†j[úâýļÍrñl—ññ-ù`("äX> ö%¥À´YŠbP†y`v›·—^ƒÅ«‡??ÙÜ=®Ì­†7@À‘Úï ¯^¾Ã€ \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS
new file mode 100644
index 0000000..317823c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/POSITIONS
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA
new file mode 100644
index 0000000..8a01b4d
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/SCHEMA
@@ -0,0 +1,2 @@
+JavaSearch 1.0
+TMAP bs=2048 rt=1 fl=-1 id1=654 id2=1
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP
new file mode 100644
index 0000000..34ad582
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/JavaHelpSearch/TMAP
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_SB_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_SB_dialogbox.png
new file mode 100644
index 0000000..a421e75
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_SB_exemple.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_SB_exemple.png
new file mode 100644
index 0000000..86cb244
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_SB_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.gif b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.gif
new file mode 100644
index 0000000..f04d9fe
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.html
new file mode 100644
index 0000000..96eb16f
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/SERVO_WRITE_SB.html
@@ -0,0 +1,89 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>SERVO_WRITE_SB</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="INTERRUPT_SB.html">&lt;&lt; INTERRUPT_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="TIME_SAMPLE.html">TIME_SAMPLE &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; SERVO_WRITE_SB</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">SERVO_WRITE_SB</h1>
+ <p class="refpurpose">Drive a servomotor by sending command of the angle from 0 to 180°</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./SERVO_WRITE_SB.gif'/></div></span></p></div>
+<a name="Contents_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="SERVO_WRITE_SB.html" class="link">Drive a servomotor by sending command of the angle from 0 to 180°</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="SERVO_WRITE_SB.html#Palette_SERVO_WRITE_SB" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="SERVO_WRITE_SB.html#Description_SERVO_WRITE_SB" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="SERVO_WRITE_SB.html#Dialogbox_SERVO_WRITE_SB" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="SERVO_WRITE_SB.html#Example1_SERVO_WRITE_SB" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="SERVO_WRITE_SB.html#Seealso_SERVO_WRITE_SB" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).</p>
+<p class="para">The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.</p>
+<p class="para">A servomotor for continuous rotation, the pulse width control the rotational speed and the direction.</p>
+<p class="para">It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power.</p>
+<p class="para">For simplicity, the block takes an input commnad in degrees from 0 to 180.</p>
+<p class="para">Two actuators can be controlled with this toolbox. (modified version of 3 motors available)</p>
+
+<p class="para">Do note that the sampling rate is at least 10 ms for this block.</p></div>
+<a name="Dialogbox_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./SERVO_SB_dialogbox.png'/></div></span>
+<p class="para">The block is used to set the number of servomotor to be driven. Servo 1 corresponds to port 9 on Arduino and Servo 2 corresponds to port 10 on Arduino.</p>
+<p class="para">The card number can not be changed at this time.</p></div>
+<a name="Example1_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the servomotor block which position is controlled by the potentiometer at analog port 0 .</p>
+<p class="para">A gain block is used to convert the 10 bits analog input signal from the potentiometer to the range of 0 to 180 to which specify the desired position of the servomotor.</p>
+<span><div style='text-align:center'><img src='./SERVO_SB_exemple.png'/></div></span></div>
+<a name="Seealso_SERVO_WRITE_SB"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="DCMOTOR_SB.html" class="link">DCMOTOR_SB</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="INTERRUPT_SB.html">&lt;&lt; INTERRUPT_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="TIME_SAMPLE.html">TIME_SAMPLE &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabCaution.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabCaution.png
new file mode 100644
index 0000000..a9e4ff3
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabCaution.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabEdit.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabEdit.png
new file mode 100644
index 0000000..188e1c1
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabEdit.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabExecute.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabExecute.png
new file mode 100644
index 0000000..a7de0fe
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabExecute.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabImportant.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabImportant.png
new file mode 100644
index 0000000..81e9ed2
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabImportant.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabNote.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabNote.png
new file mode 100644
index 0000000..8851b99
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabNote.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabTip.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabTip.png
new file mode 100644
index 0000000..8851b99
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabTip.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabWarning.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabWarning.png
new file mode 100644
index 0000000..a9e4ff3
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/ScilabWarning.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE.gif b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE.gif
new file mode 100644
index 0000000..01837f0
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE.html
new file mode 100644
index 0000000..47b366b
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE.html
@@ -0,0 +1,84 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>TIME_SAMPLE</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="SERVO_WRITE_SB.html">&lt;&lt; SERVO_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="close_serial.html">close_serial &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; TIME_SAMPLE</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">TIME_SAMPLE</h1>
+ <p class="refpurpose">Set the control duration and the sampling time</p></div>
+<div class="refsection"><h3 class="title">Block Screenshot</h3>
+ <p class="para"><span><div style='text-align:center'><img src='./TIME_SAMPLE.gif'/></div></span></p></div>
+<a name="Contents_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">Contents</h3>
+ <ul class="itemizedlist"><li><p class="para"><a href="TIME_SAMPLE.html" class="link">Set the control duration and the sampling time</a></p></li>
+ <li><ul class="itemizedlist"><li><p class="para"><a href="TIME_SAMPLE.html#Palette_TIME_SAMPLE" class="xref">Palette</a></p></li>
+ <li><p class="para"><a href="TIME_SAMPLE.html#Description_TIME_SAMPLE" class="xref">Description</a></p></li>
+ <li><p class="para"><a href="TIME_SAMPLE.html#Dialogbox_TIME_SAMPLE" class="xref">Dialog box</a></p></li>
+ <li><p class="para"><a href="TIME_SAMPLE.html#Example1_TIME_SAMPLE" class="xref">Example 1</a></p></li>
+ <li><p class="para"><a href="TIME_SAMPLE.html#Seealso_TIME_SAMPLE" class="xref">See Also</a></p></li></ul></li></ul></div>
+<a name="Palette_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">Palette</h3>
+Arduino</div>
+<a name="Description_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">Description</h3>
+<p class="para">This block is <b>compulsory</b> to be placed in the xcos model to use this toolbox.</p>
+<p class="para">It defines the simulation time of the model as well as the sampling time used for the model (each block is sampled by this step).</p>
+<p class="para">Due to the limitation of serial communication the sampling time is about 8 ms (it is possible to go down to 4 ms) per block.</p>
+<p class="para">For the complex model, do make sure that the sampling is sufficient for the execution. This could be done by measuring the simulation time is the actual time (10 s simulation should last 10 s). Otherwise, increase the sampling period to suit the need of the model.</p></div>
+<a name="Dialogbox_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">Dialog box</h3>
+<span><div style='text-align:center'><img src='./TIME_SAMPLE_dialogbox.png'/></div></span>
+<p class="para">The simulation time (positive) must be specified.</p>
+<p class="para">The sampling time must be set completed according to the complexity of the model</p></div>
+<a name="Example1_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">Example 1</h3>
+<p class="para">The example below shows the use of the block to blink the LED on port 13 of the UNO card set on the communication port 5. All blocks are using the default settings, except for the PULSE block the standard palette of which the phase shift is set to 0.</p>
+<span><div style='text-align:center'><img src='./ARDUINO_SETUP_example.png'/></div></span></div>
+<a name="Seealso_TIME_SAMPLE"></a><div class="refsection"><h3 class="title">See Also</h3>
+ <p class="para"><a href="ARDUINO_SETUP.html" class="link">ARDUINO_SETUP</a></p></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="SERVO_WRITE_SB.html">&lt;&lt; SERVO_WRITE_SB</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="close_serial.html">close_serial &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE_dialogbox.png b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE_dialogbox.png
new file mode 100644
index 0000000..45022af
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/TIME_SAMPLE_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/c_code.css b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/c_code.css
new file mode 100644
index 0000000..ae8e1c9
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/c_code.css
@@ -0,0 +1,54 @@
+.ccomment {
+ font-style: italic;
+ color: #b22222
+}
+
+.cdefault {
+ font-style: normal;
+ color: #000000
+}
+
+.copenclose {
+ font-style: normal;
+ color: #000000
+}
+
+.coperator {
+ font-style: normal;
+ color: #000000
+}
+
+.cstring {
+ font-style: normal;
+ color: #a6557a
+}
+
+.ctype {
+ font-style: normal;
+ color: #55a655
+}
+
+.cpreprocessor {
+ font-style: normal;
+ color: #9965a6
+}
+
+.cid {
+ font-style: normal;
+ color: #000000
+}
+
+.ckeyword {
+ font-style: normal;
+ color: #ad3ff2
+}
+
+.cmodifier {
+ font-style: normal;
+ color: #ad3ff2
+}
+
+.cnumber {
+ font-style: normal;
+ color: #008b8b
+}
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/close_serial.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/close_serial.html
new file mode 100644
index 0000000..da3f14d
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/close_serial.html
@@ -0,0 +1,83 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>close_serial</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="TIME_SAMPLE.html">&lt;&lt; TIME_SAMPLE</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_in.html">cmd_analog_in &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; close_serial</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">close_serial</h1>
+ <p class="refpurpose">Command to close the serial port which is connected to Arduino</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">res</span><span class="default">=</span><span class="functionid">close_serial</span><span class="default">(</span><span class="default">nHandle</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">nHandle :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">res :</span>
+ <dd><p class="para">0 if the connection is successful, else the connection fail</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">It is important to close the serial port after use, else the port would be busy and restart of Scilab might required to connect to it again.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="open_serial.html" class="link">open_serial</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="TIME_SAMPLE.html">&lt;&lt; TIME_SAMPLE</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_in.html">cmd_analog_in &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_in.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_in.html
new file mode 100644
index 0000000..f66ba47
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_in.html
@@ -0,0 +1,87 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_analog_in</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="close_serial.html">&lt;&lt; close_serial</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_in_volt.html">cmd_analog_in_volt &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_analog_in</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_analog_in</h1>
+ <p class="refpurpose">Command to read in analog signal from a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">val</span><span class="default"> = </span><span class="functionid">cmd_analog_in</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Analog pin to measure the signal</p></dd></dt>
+ <dt><span class="term">val :</span>
+ <dd><p class="para">Reading in the range of 0-1023 to to indicate the input voltage from 0-5V</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">val</span> <span class="scilaboperator">=</span> <span class="scilabid">cmd_analog_in</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_analog_in_volt.html" class="link">cmd_analog_in_volt</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="close_serial.html">&lt;&lt; close_serial</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_in_volt.html">cmd_analog_in_volt &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_in_volt.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_in_volt.html
new file mode 100644
index 0000000..0965d79
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_in_volt.html
@@ -0,0 +1,87 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_analog_in_volt</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_in.html">&lt;&lt; cmd_analog_in</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_out.html">cmd_analog_out &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_analog_in_volt</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_analog_in_volt</h1>
+ <p class="refpurpose">Command to read in analog signal from a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">val</span><span class="default"> = </span><span class="functionid">cmd_analog_in_volt</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Analog pin to measure the signal</p></dd></dt>
+ <dt><span class="term">val :</span>
+ <dd><p class="para">Reading in the input voltage from 0-5V</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. This function scale the reading to 0-5 so the user could get the measured voltage directly</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">val</span> <span class="scilaboperator">=</span> <span class="scilabid">cmd_analog_in_volt</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_analog_out.html" class="link">cmd_analog_out</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_in.html">&lt;&lt; cmd_analog_in</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_out.html">cmd_analog_out &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_out.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_out.html
new file mode 100644
index 0000000..af1a887
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_out.html
@@ -0,0 +1,91 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_analog_out</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_in_volt.html">&lt;&lt; cmd_analog_in_volt</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_out_volt.html">cmd_analog_out_volt &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_analog_out</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_analog_out</h1>
+ <p class="refpurpose">Command to sent out analog signal to a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_analog_out</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">,</span><span class="default">val</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin with ~ to sent the signal</p></dd></dt>
+ <dt><span class="term">val :</span>
+ <dd><p class="para">The value of 0-255 to be sent to the digital pins with ~ sign. It will be then scaled to 0-5V</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+It is a bit misleading to use the term &#0034;analog output&#0034;, because in order to generate this output while minimizing energy losses,
+the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+voltage across the component connected to this port, which has the effect of having a analog output voltage.</p>
+ <p class="para">The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_analog_out</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_analog_out_volt.html" class="link">cmd_analog_out_volt</a></li>
+ <li class="member"><a href="cmd_arduino_a_control.html" class="link">cmd_arduino_a_control</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_in_volt.html">&lt;&lt; cmd_analog_in_volt</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_analog_out_volt.html">cmd_analog_out_volt &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_out_volt.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_out_volt.html
new file mode 100644
index 0000000..f9d2c45
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_analog_out_volt.html
@@ -0,0 +1,90 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_analog_out_volt</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_out.html">&lt;&lt; cmd_analog_out</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_a_control.html">cmd_arduino_a_control &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_analog_out_volt</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_analog_out_volt</h1>
+ <p class="refpurpose">Command to sent out analog signal to a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_analog_out_volt</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin with ~ to sent the signal</p></dd></dt>
+ <dt><span class="term">val :</span>
+ <dd><p class="para">The value in volt (0-5) to be sent to the digital pins with ~ sign.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+It is a bit misleading to use the term &#0034;analog output&#0034;, because in order to generate this output while minimizing energy losses,
+the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+voltage across the component connected to this port, which has the effect of having a analog output voltage.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_analog_out_volt</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_analog_out.html" class="link">cmd_analog_out</a></li>
+ <li class="member"><a href="cmd_arduino_a_control.html" class="link">cmd_arduino_a_control</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_out.html">&lt;&lt; cmd_analog_out</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_a_control.html">cmd_arduino_a_control &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_a_control.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_a_control.html
new file mode 100644
index 0000000..af8367e
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_a_control.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_arduino_a_control</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_out_volt.html">&lt;&lt; cmd_analog_out_volt</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_d_control.html">cmd_arduino_d_control &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_arduino_a_control</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_arduino_a_control</h1>
+ <p class="refpurpose">GUI to control analog signal to be sent to a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_arduino_a_control</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin with ~ to sent the signal</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_arduino_a_control</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">100</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_analog_out_volt.html" class="link">cmd_analog_out_volt</a></li>
+ <li class="member"><a href="cmd_analog_out.html" class="link">cmd_analog_out</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_analog_out_volt.html">&lt;&lt; cmd_analog_out_volt</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_d_control.html">cmd_arduino_d_control &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_d_control.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_d_control.html
new file mode 100644
index 0000000..d20b8f8
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_d_control.html
@@ -0,0 +1,86 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_arduino_d_control</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_a_control.html">&lt;&lt; cmd_arduino_a_control</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_meter.html">cmd_arduino_meter &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_arduino_d_control</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_arduino_d_control</h1>
+ <p class="refpurpose">GUI to control digital signal to be sent to a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_arduino_d_control</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin to sent the signal</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_arduino_d_control</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="scilab://cmd_digital_out_volt" class="link">cmd_digital_out_volt</a></li>
+ <li class="member"><a href="cmd_digital_out.html" class="link">cmd_digital_out</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li>
+ <li class="member">str = string(val)</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_a_control.html">&lt;&lt; cmd_arduino_a_control</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_arduino_meter.html">cmd_arduino_meter &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_meter.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_meter.html
new file mode 100644
index 0000000..d981317
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_arduino_meter.html
@@ -0,0 +1,84 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_arduino_meter</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_d_control.html">&lt;&lt; cmd_arduino_d_control</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_release.html">cmd_dcmotor_release &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_arduino_meter</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_arduino_meter</h1>
+ <p class="refpurpose">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_arduino_meter</span><span class="default">(</span><span class="default">val</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">val :</span>
+ <dd><p class="para">Value to be displayed</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">This GUI provides a convenient way display a continuous data from a loop and break the loop after the termination of the GUI. By this, it behave like a digital meter by showing the data in a GUI instead of the console</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">val</span> <span class="scilaboperator">=</span> <span class="scilabid">cmd_analog_in_volt</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_arduino_meter</span><span class="scilabopenclose">(</span><span class="scilabid">val</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_arduino_d_control.html" class="link">cmd_arduino_d_control</a></li>
+ <li class="member"><a href="cmd_arduino_a_control.html" class="link">cmd_arduino_a_control</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_d_control.html">&lt;&lt; cmd_arduino_d_control</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_release.html">cmd_dcmotor_release &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_release.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_release.html
new file mode 100644
index 0000000..7f83c1d
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_release.html
@@ -0,0 +1,84 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_dcmotor_release</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_meter.html">&lt;&lt; cmd_arduino_meter</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_run.html">cmd_dcmotor_run &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_dcmotor_release</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_dcmotor_release</h1>
+ <p class="refpurpose">Command to release pins which have setup for DC motor</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_dcmotor_release</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">motor_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">motor_no :</span>
+ <dd><p class="para">ID in which the motor has been connected</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.</p>
+ <p class="para">Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_setup</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">10</span><span class="scilabopenclose">)</span> <span class="scilabcomment">// Setup DC motor of type 3 (L293), motor 1, pin 9 and 10</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_release</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_arduino_meter.html">&lt;&lt; cmd_arduino_meter</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_run.html">cmd_dcmotor_run &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_run.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_run.html
new file mode 100644
index 0000000..ac57caf
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_run.html
@@ -0,0 +1,86 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_dcmotor_run</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_release.html">&lt;&lt; cmd_dcmotor_release</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_setup.html">cmd_dcmotor_setup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_dcmotor_run</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_dcmotor_run</h1>
+ <p class="refpurpose">Command to run DC motor after setting up</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_dcmotor_run</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">motor_no</span><span class="default">,</span><span class="default">u1</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">motor_no :</span>
+ <dd><p class="para">ID in which the motor has been connected</p></dd></dt>
+ <dt><span class="term">u1 :</span>
+ <dd><p class="para">Value to sent, range from -255 to 255, for clockwise and anti-clockwise direction</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.</p>
+ <p class="para">Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_setup</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">10</span><span class="scilabopenclose">)</span> <span class="scilabcomment">// Setup DC motor of type 3 (L293), motor 1, pin 9 and 10</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_release</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_release.html">&lt;&lt; cmd_dcmotor_release</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_dcmotor_setup.html">cmd_dcmotor_setup &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_setup.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_setup.html
new file mode 100644
index 0000000..16df1dc
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_dcmotor_setup.html
@@ -0,0 +1,90 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_dcmotor_setup</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_run.html">&lt;&lt; cmd_dcmotor_run</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_digital_in.html">cmd_digital_in &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_dcmotor_setup</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_dcmotor_setup</h1>
+ <p class="refpurpose">Command to setup pins to control DC motor</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_dcmotor_setup</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">driver_type</span><span class="default">,</span><span class="default">motor_no</span><span class="default">,</span><span class="default">pin_no_1</span><span class="default">,</span><span class="default">pin_no_2</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">driver_type :</span>
+ <dd><p class="para">1=Motorshield Rev3, 2=L298, 3=L293</p></dd></dt>
+ <dt><span class="term">motor_no :</span>
+ <dd><p class="para">ID used to identify motor to be connected</p></dd></dt>
+ <dt><span class="term">pin_no_1 :</span>
+ <dd><p class="para">Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.</p></dd></dt>
+ <dt><span class="term">pin_no_2 :</span>
+ <dd><p class="para">Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.</p>
+ <p class="para">Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_setup</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">3</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">10</span><span class="scilabopenclose">)</span> <span class="scilabcomment">// Setup DC motor of type 3 (L293), motor 1, pin 9 and 10</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_run</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">255</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_dcmotor_release</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_run.html">&lt;&lt; cmd_dcmotor_run</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_digital_in.html">cmd_digital_in &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_digital_in.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_digital_in.html
new file mode 100644
index 0000000..d4f84de
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_digital_in.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_digital_in</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_setup.html">&lt;&lt; cmd_dcmotor_setup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_digital_out.html">cmd_digital_out &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_digital_in</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_digital_in</h1>
+ <p class="refpurpose">Command to read in digital signal from a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">values</span><span class="default"> = </span><span class="functionid">cmd_digital_in</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin to measure the signal</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.</p>
+ <p class="para">To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">val</span> <span class="scilaboperator">=</span> <span class="scilabid">cmd_digital_in</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_digital_out.html" class="link">cmd_digital_out</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_dcmotor_setup.html">&lt;&lt; cmd_dcmotor_setup</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_digital_out.html">cmd_digital_out &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_digital_out.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_digital_out.html
new file mode 100644
index 0000000..d7b255a
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_digital_out.html
@@ -0,0 +1,90 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_digital_out</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_digital_in.html">&lt;&lt; cmd_digital_in</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_attach.html">cmd_servo_attach &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_digital_out</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_digital_out</h1>
+ <p class="refpurpose">Command to sent out digital signal to a connected Arduino board</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_digital_out</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">pin_no</span><span class="default">,</span><span class="default">val</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">pin_no :</span>
+ <dd><p class="para">Digital pin to sent the signal</p></dd></dt>
+ <dt><span class="term">val :</span>
+ <dd><p class="para">The value of 0 or 1 to be sent to the digital pins with. It is correspond to 0 and 5V</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.</p>
+ <p class="para">To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_digital_out</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">13</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_digital_out</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">13</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_digital_in.html" class="link">cmd_digital_in</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_digital_in.html">&lt;&lt; cmd_digital_in</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_attach.html">cmd_servo_attach &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_attach.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_attach.html
new file mode 100644
index 0000000..766368c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_attach.html
@@ -0,0 +1,94 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_servo_attach</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_digital_out.html">&lt;&lt; cmd_digital_out</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_detach.html">cmd_servo_detach &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_servo_attach</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_servo_attach</h1>
+ <p class="refpurpose">Command to attach servo motor to Arduino</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_servo_attach</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">servo_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">servo_no :</span>
+ <dd><p class="para">1=pin 9, 2=pin 10</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).</p>
+ <p class="para">The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.</p>
+ <p class="para">A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_attach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">90</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">45</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_detach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="cmd_servo_move.html" class="link">cmd_servo_move</a></li>
+ <li class="member"><a href="cmd_servo_detach.html" class="link">cmd_servo_detach</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_digital_out.html">&lt;&lt; cmd_digital_out</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_detach.html">cmd_servo_detach &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_detach.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_detach.html
new file mode 100644
index 0000000..5a79a7e
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_detach.html
@@ -0,0 +1,94 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_servo_detach</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_attach.html">&lt;&lt; cmd_servo_attach</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_move.html">cmd_servo_move &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_servo_detach</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_servo_detach</h1>
+ <p class="refpurpose">Command to release the pin which has been setup for servo motor</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_servo_detach</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">servo_no</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">servo_no :</span>
+ <dd><p class="para">1=pin 9, 2=pin 10</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).</p>
+ <p class="para">The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.</p>
+ <p class="para">A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_attach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">90</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">45</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_detach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="scilab://cmd_servo_setup" class="link">cmd_servo_setup</a></li>
+ <li class="member"><a href="cmd_servo_move.html" class="link">cmd_servo_move</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_attach.html">&lt;&lt; cmd_servo_attach</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="cmd_servo_move.html">cmd_servo_move &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_move.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_move.html
new file mode 100644
index 0000000..3f0bd41
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/cmd_servo_move.html
@@ -0,0 +1,96 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>cmd_servo_move</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_detach.html">&lt;&lt; cmd_servo_detach</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="open_serial.html">open_serial &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; cmd_servo_move</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">cmd_servo_move</h1>
+ <p class="refpurpose">Command to run servo motor which has been setup</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="functionid">cmd_servo_move</span><span class="default">(</span><span class="default">h</span><span class="default">,</span><span class="default">servo_no</span><span class="default">,</span><span class="default">u1</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">h :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">servo_no :</span>
+ <dd><p class="para">1=pin 9, 2=pin 10</p></dd></dt>
+ <dt><span class="term">u1 :</span>
+ <dd><p class="para">0 - 180 degree</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).</p>
+ <p class="para">The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.</p>
+ <p class="para">A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_attach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">90</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_move</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">45</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">cmd_servo_detach</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span>
+<a class="scilabcommand" href="scilab://sleep">sleep</a><span class="scilabopenclose">(</span><span class="scilabnumber">1000</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="scilab://cmd_servo_setup" class="link">cmd_servo_setup</a></li>
+ <li class="member"><a href="cmd_servo_detach.html" class="link">cmd_servo_detach</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET, Tan C.L.</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_detach.html">&lt;&lt; cmd_servo_detach</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+ <span class="next"><a href="open_serial.html">open_serial &gt;&gt;</a></span>
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/index.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/index.html
new file mode 100644
index 0000000..c1962a5
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/index.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+
+ <br /><br />
+ <h3 class="book-title">Arduino toolbox</h3>
+<ul class="list-part"><a name="arduino_toolbox_manual"></a><div class="info"></div>
+
+<li><a href="section_147efb2e6adc067fcd27975e0e16385a.html" class="part">Arduino toolbox</a>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpidx.xml b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpidx.xml
new file mode 100644
index 0000000..aa5a66e
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpidx.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE index PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Index Version 1.0//EN" "http://java.sun.com/products/javahelp/index_1_0.dtd">
+<index version="1.0"/> \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpmap.jhm b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpmap.jhm
new file mode 100644
index 0000000..c73e02b
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpmap.jhm
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE map PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp Map Version 1.0//EN" "http://java.sun.com/products/javahelp/map_1_0.dtd">
+<map version="1.0">
+<mapID target="index" url="index.html"/>
+<mapID target="section_147efb2e6adc067fcd27975e0e16385a" url="section_147efb2e6adc067fcd27975e0e16385a.html"/>
+<mapID target="ANALOG_READ_SB" url="ANALOG_READ_SB.html"/>
+<mapID target="Contents_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Contents_ANALOG_READ_SB"/>
+<mapID target="Palette_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Palette_ANALOG_READ_SB"/>
+<mapID target="Description_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Description_ANALOG_READ_SB"/>
+<mapID target="Dialogbox_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Dialogbox_ANALOG_READ_SB"/>
+<mapID target="Example1_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Example1_ANALOG_READ_SB"/>
+<mapID target="Seealso_ANALOG_READ_SB" url="ANALOG_READ_SB.html#Seealso_ANALOG_READ_SB"/>
+<mapID target="ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html"/>
+<mapID target="Contents_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Contents_ANALOG_WRITE_SB"/>
+<mapID target="Palette_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Palette_ANALOG_WRITE_SB"/>
+<mapID target="Description_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Description_ANALOG_WRITE_SB"/>
+<mapID target="Dialogbox_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Dialogbox_ANALOG_WRITE_SB"/>
+<mapID target="Example1_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Example1_ANALOG_WRITE_SB"/>
+<mapID target="Seealso_ANALOG_WRITE_SB" url="ANALOG_WRITE_SB.html#Seealso_ANALOG_WRITE_SB"/>
+<mapID target="ARDUINO_SETUP" url="ARDUINO_SETUP.html"/>
+<mapID target="Contents_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Contents_ARDUINO_SETUP"/>
+<mapID target="Palette_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Palette_ARDUINO_SETUP"/>
+<mapID target="Description_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Description_ARDUINO_SETUP"/>
+<mapID target="Dialogbox_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Dialogbox_ARDUINO_SETUP"/>
+<mapID target="Example1_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Example1_ARDUINO_SETUP"/>
+<mapID target="Seealso_ARDUINO_SETUP" url="ARDUINO_SETUP.html#Seealso_ARDUINO_SETUP"/>
+<mapID target="DCMOTOR_SB" url="DCMOTOR_SB.html"/>
+<mapID target="Contents_DCMOTOR_SB" url="DCMOTOR_SB.html#Contents_DCMOTOR_SB"/>
+<mapID target="Palette_DCMOTOR_SB" url="DCMOTOR_SB.html#Palette_DCMOTOR_SB"/>
+<mapID target="Description_DCMOTOR_SB" url="DCMOTOR_SB.html#Description_DCMOTOR_SB"/>
+<mapID target="Dialogbox_DCMOTOR_SB" url="DCMOTOR_SB.html#Dialogbox_DCMOTOR_SB"/>
+<mapID target="Example1_DCMOTOR_SB" url="DCMOTOR_SB.html#Example1_DCMOTOR_SB"/>
+<mapID target="Seealso_DCMOTOR_SB" url="DCMOTOR_SB.html#Seealso_DCMOTOR_SB"/>
+<mapID target="DIGITAL_READ_SB" url="DIGITAL_READ_SB.html"/>
+<mapID target="Contents_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Contents_DIGITAL_READ_SB"/>
+<mapID target="Palette_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Palette_DIGITAL_READ_SB"/>
+<mapID target="Description_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Description_DIGITAL_READ_SB"/>
+<mapID target="Dialogbox_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Dialogbox_DIGITAL_READ_SB"/>
+<mapID target="Example1_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Example1_DIGITAL_READ_SB"/>
+<mapID target="Seealso_DIGITAL_READ_SB" url="DIGITAL_READ_SB.html#Seealso_DIGITAL_READ_SB"/>
+<mapID target="DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html"/>
+<mapID target="Contents_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Contents_DIGITAL_WRITE_SB"/>
+<mapID target="Palette_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Palette_DIGITAL_WRITE_SB"/>
+<mapID target="Description_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Description_DIGITAL_WRITE_SB"/>
+<mapID target="Dialogbox_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Dialogbox_DIGITAL_WRITE_SB"/>
+<mapID target="Example1_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Example1_DIGITAL_WRITE_SB"/>
+<mapID target="Seealso_DIGITAL_WRITE_SB" url="DIGITAL_WRITE_SB.html#Seealso_DIGITAL_WRITE_SB"/>
+<mapID target="ENCODER_SB" url="ENCODER_SB.html"/>
+<mapID target="Contents_ENCODER_SB" url="ENCODER_SB.html#Contents_ENCODER_SB"/>
+<mapID target="Palette_ENCODER_SB" url="ENCODER_SB.html#Palette_ENCODER_SB"/>
+<mapID target="Description_ENCODER_SB" url="ENCODER_SB.html#Description_ENCODER_SB"/>
+<mapID target="Dialogbox_ENCODER_SB" url="ENCODER_SB.html#Dialogbox_ENCODER_SB"/>
+<mapID target="Example1_ENCODER_SB" url="ENCODER_SB.html#Example1_ENCODER_SB"/>
+<mapID target="Example2_ENCODER_SB" url="ENCODER_SB.html#Example2_ENCODER_SB"/>
+<mapID target="Seealso_ENCODER_SB" url="ENCODER_SB.html#Seealso_ENCODER_SB"/>
+<mapID target="INTERRUPT_SB" url="INTERRUPT_SB.html"/>
+<mapID target="Contents_INTERRUPT_SB" url="INTERRUPT_SB.html#Contents_INTERRUPT_SB"/>
+<mapID target="Palette_INTERRUPT_SB" url="INTERRUPT_SB.html#Palette_INTERRUPT_SB"/>
+<mapID target="Description_INTERRUPT_SB" url="INTERRUPT_SB.html#Description_INTERRUPT_SB"/>
+<mapID target="Dialogbox_INTERRUPT_SB" url="INTERRUPT_SB.html#Dialogbox_INTERRUPT_SB"/>
+<mapID target="Example1_INTERRUPT_SB" url="INTERRUPT_SB.html#Example1_INTERRUPT_SB"/>
+<mapID target="Seealso_INTERRUPT_SB" url="INTERRUPT_SB.html#Seealso_INTERRUPT_SB"/>
+<mapID target="SERVO_WRITE_SB" url="SERVO_WRITE_SB.html"/>
+<mapID target="Contents_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Contents_SERVO_WRITE_SB"/>
+<mapID target="Palette_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Palette_SERVO_WRITE_SB"/>
+<mapID target="Description_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Description_SERVO_WRITE_SB"/>
+<mapID target="Dialogbox_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Dialogbox_SERVO_WRITE_SB"/>
+<mapID target="Example1_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Example1_SERVO_WRITE_SB"/>
+<mapID target="Seealso_SERVO_WRITE_SB" url="SERVO_WRITE_SB.html#Seealso_SERVO_WRITE_SB"/>
+<mapID target="TIME_SAMPLE" url="TIME_SAMPLE.html"/>
+<mapID target="Contents_TIME_SAMPLE" url="TIME_SAMPLE.html#Contents_TIME_SAMPLE"/>
+<mapID target="Palette_TIME_SAMPLE" url="TIME_SAMPLE.html#Palette_TIME_SAMPLE"/>
+<mapID target="Description_TIME_SAMPLE" url="TIME_SAMPLE.html#Description_TIME_SAMPLE"/>
+<mapID target="Dialogbox_TIME_SAMPLE" url="TIME_SAMPLE.html#Dialogbox_TIME_SAMPLE"/>
+<mapID target="Example1_TIME_SAMPLE" url="TIME_SAMPLE.html#Example1_TIME_SAMPLE"/>
+<mapID target="Seealso_TIME_SAMPLE" url="TIME_SAMPLE.html#Seealso_TIME_SAMPLE"/>
+<mapID target="close_serial" url="close_serial.html"/>
+<mapID target="cmd_analog_in" url="cmd_analog_in.html"/>
+<mapID target="cmd_analog_in_volt" url="cmd_analog_in_volt.html"/>
+<mapID target="cmd_analog_out" url="cmd_analog_out.html"/>
+<mapID target="cmd_analog_out_volt" url="cmd_analog_out_volt.html"/>
+<mapID target="cmd_arduino_a_control" url="cmd_arduino_a_control.html"/>
+<mapID target="cmd_arduino_d_control" url="cmd_arduino_d_control.html"/>
+<mapID target="cmd_arduino_meter" url="cmd_arduino_meter.html"/>
+<mapID target="cmd_dcmotor_release" url="cmd_dcmotor_release.html"/>
+<mapID target="cmd_dcmotor_run" url="cmd_dcmotor_run.html"/>
+<mapID target="cmd_dcmotor_setup" url="cmd_dcmotor_setup.html"/>
+<mapID target="cmd_digital_in" url="cmd_digital_in.html"/>
+<mapID target="cmd_digital_out" url="cmd_digital_out.html"/>
+<mapID target="cmd_servo_attach" url="cmd_servo_attach.html"/>
+<mapID target="cmd_servo_detach" url="cmd_servo_detach.html"/>
+<mapID target="cmd_servo_move" url="cmd_servo_move.html"/>
+<mapID target="open_serial" url="open_serial.html"/>
+</map> \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpset.hs b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpset.hs
new file mode 100644
index 0000000..80509ea
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelpset.hs
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE helpset
+ PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp HelpSet Version 1.0//EN" "http://java.sun.com/products/javahelp/helpset_1_0.dtd">
+<helpset version="1.0">
+<title>Arduino toolbox</title>
+<maps>
+<homeID>top</homeID>
+<mapref location="jhelpmap.jhm"/>
+</maps>
+<view>
+<name>TOC</name>
+<label>Table Of Contents</label>
+<type>javax.help.TOCView</type>
+<data>jhelptoc.xml</data>
+</view>
+<view>
+<name>Index</name>
+<label>Index</label>
+<type>javax.help.IndexView</type>
+<data>jhelpidx.xml</data>
+</view>
+<view>
+<name>Search</name>
+<label>Search</label>
+<type>javax.help.SearchView</type>
+<data engine="com.sun.java.help.search.DefaultSearchEngine">JavaHelpSearch</data>
+</view>
+</helpset> \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelptoc.xml b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelptoc.xml
new file mode 100644
index 0000000..82bfd2e
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/jhelptoc.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE toc PUBLIC "-//Sun Microsystems Inc.//DTD JavaHelp TOC Version 1.0//EN" "http://java.sun.com/products/javahelp/toc_1_0.dtd">
+<toc version="1.0">
+<tocitem target="index" text="Arduino toolbox">
+<tocitem target="section_147efb2e6adc067fcd27975e0e16385a" text="Arduino toolbox">
+<tocitem target="ANALOG_READ_SB" text="ANALOG_READ_SB"/>
+<tocitem target="ANALOG_WRITE_SB" text="ANALOG_WRITE_SB"/>
+<tocitem target="ARDUINO_SETUP" text="ARDUINO_SETUP"/>
+<tocitem target="DCMOTOR_SB" text="DCMOTOR_SB"/>
+<tocitem target="DIGITAL_READ_SB" text="DIGITAL_READ_SB"/>
+<tocitem target="DIGITAL_WRITE_SB" text="DIGITAL_WRITE_SB"/>
+<tocitem target="ENCODER_SB" text="ENCODER_SB"/>
+<tocitem target="INTERRUPT_SB" text="INTERRUPT_SB"/>
+<tocitem target="SERVO_WRITE_SB" text="SERVO_WRITE_SB"/>
+<tocitem target="TIME_SAMPLE" text="TIME_SAMPLE"/>
+<tocitem target="close_serial" text="close_serial"/>
+<tocitem target="cmd_analog_in" text="cmd_analog_in"/>
+<tocitem target="cmd_analog_in_volt" text="cmd_analog_in_volt"/>
+<tocitem target="cmd_analog_out" text="cmd_analog_out"/>
+<tocitem target="cmd_analog_out_volt" text="cmd_analog_out_volt"/>
+<tocitem target="cmd_arduino_a_control" text="cmd_arduino_a_control"/>
+<tocitem target="cmd_arduino_d_control" text="cmd_arduino_d_control"/>
+<tocitem target="cmd_arduino_meter" text="cmd_arduino_meter"/>
+<tocitem target="cmd_dcmotor_release" text="cmd_dcmotor_release"/>
+<tocitem target="cmd_dcmotor_run" text="cmd_dcmotor_run"/>
+<tocitem target="cmd_dcmotor_setup" text="cmd_dcmotor_setup"/>
+<tocitem target="cmd_digital_in" text="cmd_digital_in"/>
+<tocitem target="cmd_digital_out" text="cmd_digital_out"/>
+<tocitem target="cmd_servo_attach" text="cmd_servo_attach"/>
+<tocitem target="cmd_servo_detach" text="cmd_servo_detach"/>
+<tocitem target="cmd_servo_move" text="cmd_servo_move"/>
+<tocitem target="open_serial" text="open_serial"/>
+</tocitem>
+</tocitem>
+</toc> \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/open_serial.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/open_serial.html
new file mode 100644
index 0000000..235cb6d
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/open_serial.html
@@ -0,0 +1,85 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title>open_serial</title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_move.html">&lt;&lt; cmd_servo_move</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; <a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a> &gt; open_serial</span>
+
+ <br /><br />
+ <div class="refnamediv"><h1 class="refname">open_serial</h1>
+ <p class="refpurpose">Command to initialize the serial port which is connected to Arduino</p></div>
+
+
+<div class="refsynopsisdiv"><h3 class="title">Calling Sequence</h3>
+ <div class="synopsis"><pre><span class="default">res</span><span class="default">=</span><span class="functionid">open_serial</span><span class="default">(</span><span class="default">nHandle</span><span class="default">, </span><span class="default">nPort</span><span class="default">,</span><span class="default">baudrate</span><span class="default">)</span></pre></div></div>
+
+<div class="refsection"><h3 class="title">Parameters</h3>
+ <dl><dt><span class="term">nHandle :</span>
+ <dd><p class="para">Board number, reserved for future use. For this version, any number would do</p></dd></dt>
+ <dt><span class="term">nPort :</span>
+ <dd><p class="para">Com port in which the Arduino is connected to</p></dd></dt>
+ <dt><span class="term">baudrate :</span>
+ <dd><p class="para">baudrate for the serial comminication</p></dd></dt>
+ <dt><span class="term">res :</span>
+ <dd><p class="para">0 if the connection is successful, else the connection fail</p></dd></dt></dl></div>
+
+<div class="refsection"><h3 class="title">Description</h3>
+ <p class="para">To connect to the Arduino board. To check the port number, do to the device manager or check it from the Arduino software</p>
+ <p class="para"></p></div>
+
+<div class="refsection"><h3 class="title">Examples</h3>
+ <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabid">ok</span> <span class="scilaboperator">=</span> <span class="scilabid">open_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabdefault">,</span><span class="scilabnumber">9</span><span class="scilabdefault">,</span><span class="scilabnumber">115200</span><span class="scilabopenclose">)</span>
+<span class="scilabid">close_serial</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div>
+
+<div class="refsection"><h3 class="title">See also</h3>
+ <ul class="itemizedlist"><li class="member"><a href="close_serial.html" class="link">close_serial</a></li></ul></div>
+
+<div class="refsection"><h3 class="title">Authors</h3>
+ <ul class="itemizedlist"><li class="member">Bruno JOFRET</li></ul></div>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+ <span class="previous"><a href="cmd_servo_move.html">&lt;&lt; cmd_servo_move</a></span>
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="section_147efb2e6adc067fcd27975e0e16385a.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/scilab_code.css b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/scilab_code.css
new file mode 100644
index 0000000..e36a084
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/scilab_code.css
@@ -0,0 +1,96 @@
+.scilabcomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.scilabdefault {
+ font-style: normal;
+ color: #000000
+}
+
+.scilabspecial {
+ font-style: normal;
+ color: #ffaa00
+}
+
+.scilabconstants {
+ font-style: normal;
+ color: #da70d6
+}
+
+.scilaboperator {
+ font-style: normal;
+ color: #5c5c5c
+}
+
+.scilabnumber {
+ font-style: normal;
+ color: #bc8f8f
+}
+
+.scilabfkeyword {
+ font-style: normal;
+ color: #b01813
+}
+
+.scilabskeyword {
+ font-style: normal;
+ color: #a020f0
+}
+
+.scilabckeyword {
+ font-style: normal;
+ color: #5f9ea0
+}
+
+.scilabcommand {
+ font-style: normal;
+ color: #32b9b9
+}
+
+.scilabmacro {
+ font-style: normal;
+ color: #ae5cb0
+}
+
+a.scilabcommand {
+ font-style: normal;
+ text-decoration: underline;
+ color: #32b9b9
+}
+
+a.scilabmacro {
+ font-style: normal;
+ text-decoration: underline;
+ color: #ae5cb0
+}
+
+.scilabstring {
+ font-style: normal;
+ color: #bc8f8f
+}
+
+.scilabid {
+ font-style: normal;
+ color: #000000
+}
+
+.scilabinputoutputargs {
+ font-weight: bold;
+ color: #834310
+}
+
+.scilabfunctionid {
+ font-weight: bold;
+ color: #000000
+}
+
+.scilabfield {
+ font-style: normal;
+ color: #aaaaaa
+}
+
+.scilabopenclose {
+ font-style: normal;
+ color: #4a55db
+}
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_147efb2e6adc067fcd27975e0e16385a.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_147efb2e6adc067fcd27975e0e16385a.html
new file mode 100644
index 0000000..d7feab5
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_147efb2e6adc067fcd27975e0e16385a.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_d8c18d63fe0e0a7831b9ab7a10831e5a.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_d8c18d63fe0e0a7831b9ab7a10831e5a.html
new file mode 100644
index 0000000..d7feab5
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_d8c18d63fe0e0a7831b9ab7a10831e5a.html
@@ -0,0 +1,184 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li>
+
+
+
+
+
+<li><a href="close_serial.html" class="refentry">close_serial</a> &#8212; <span class="refentry-description">Command to close the serial port which is connected to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in.html" class="refentry">cmd_analog_in</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_in_volt.html" class="refentry">cmd_analog_in_volt</a> &#8212; <span class="refentry-description">Command to read in analog signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out.html" class="refentry">cmd_analog_out</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_analog_out_volt.html" class="refentry">cmd_analog_out_volt</a> &#8212; <span class="refentry-description">Command to sent out analog signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_a_control.html" class="refentry">cmd_arduino_a_control</a> &#8212; <span class="refentry-description">GUI to control analog signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_d_control.html" class="refentry">cmd_arduino_d_control</a> &#8212; <span class="refentry-description">GUI to control digital signal to be sent to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_arduino_meter.html" class="refentry">cmd_arduino_meter</a> &#8212; <span class="refentry-description">GUI to display continuous signal from a loop, and break the loop after termination of the GUI</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_release.html" class="refentry">cmd_dcmotor_release</a> &#8212; <span class="refentry-description">Command to release pins which have setup for DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_run.html" class="refentry">cmd_dcmotor_run</a> &#8212; <span class="refentry-description">Command to run DC motor after setting up</span></li>
+
+
+
+
+
+<li><a href="cmd_dcmotor_setup.html" class="refentry">cmd_dcmotor_setup</a> &#8212; <span class="refentry-description">Command to setup pins to control DC motor</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_in.html" class="refentry">cmd_digital_in</a> &#8212; <span class="refentry-description">Command to read in digital signal from a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_digital_out.html" class="refentry">cmd_digital_out</a> &#8212; <span class="refentry-description">Command to sent out digital signal to a connected Arduino board</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_attach.html" class="refentry">cmd_servo_attach</a> &#8212; <span class="refentry-description">Command to attach servo motor to Arduino</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_detach.html" class="refentry">cmd_servo_detach</a> &#8212; <span class="refentry-description">Command to release the pin which has been setup for servo motor</span></li>
+
+
+
+
+
+<li><a href="cmd_servo_move.html" class="refentry">cmd_servo_move</a> &#8212; <span class="refentry-description">Command to run servo motor which has been setup</span></li>
+
+
+
+
+
+<li><a href="open_serial.html" class="refentry">open_serial</a> &#8212; <span class="refentry-description">Command to initialize the serial port which is connected to Arduino</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_f3a404459a61fd97daa21459936e95ac.html b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_f3a404459a61fd97daa21459936e95ac.html
new file mode 100644
index 0000000..51f6ce1
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/section_f3a404459a61fd97daa21459936e95ac.html
@@ -0,0 +1,82 @@
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <title></title>
+ <style type="text/css" media="all">
+ @import url("scilab_code.css");
+ @import url("xml_code.css");
+ @import url("c_code.css");
+ @import url("style.css");
+ </style>
+ </head>
+ <body>
+ <div class="manualnavbar">
+ <table width="100%"><tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+
+
+
+ <span class="path"><a href="index.html">Arduino toolbox</a> &gt;&gt; Arduino toolbox</span>
+
+ <br /><br />
+ <h3 class="title-part">Arduino toolbox</h3>
+<ul class="list-chapter"><li><a href="ANALOG_READ_SB.html" class="refentry">ANALOG_READ_SB</a> &#8212; <span class="refentry-description">Analog ports of an Arduino board which allow the acquisition of an analog input</span></li>
+
+
+<li><a href="ANALOG_WRITE_SB.html" class="refentry">ANALOG_WRITE_SB</a> &#8212; <span class="refentry-description">Analog outputs which allow generation of analog voltage on a given port</span></li>
+
+
+<li><a href="ARDUINO_SETUP.html" class="refentry">ARDUINO_SETUP</a> &#8212; <span class="refentry-description">This block is used to configure the serial port setting for communication between the Arduino and Scilab.</span></li>
+
+
+<li><a href="DCMOTOR_SB.html" class="refentry">DCMOTOR_SB</a> &#8212; <span class="refentry-description">This block is used to control a DC motor</span></li>
+
+
+<li><a href="DIGITAL_READ_SB.html" class="refentry">DIGITAL_READ_SB</a> &#8212; <span class="refentry-description">Allows to receive a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="DIGITAL_WRITE_SB.html" class="refentry">DIGITAL_WRITE_SB</a> &#8212; <span class="refentry-description">Allows to send a logical value 0 or 1 on a given port.</span></li>
+
+
+<li><a href="ENCODER_SB.html" class="refentry">ENCODER_SB</a> &#8212; <span class="refentry-description">Used to read encoder signal from one or more channels.</span></li>
+
+
+<li><a href="INTERRUPT_SB.html" class="refentry">INTERRUPT_SB</a> &#8212; <span class="refentry-description">Used to track a set of events on one or more channels.</span></li>
+
+
+<li><a href="SERVO_WRITE_SB.html" class="refentry">SERVO_WRITE_SB</a> &#8212; <span class="refentry-description">Drive a servomotor by sending command of the angle from 0 to 180°</span></li>
+
+
+<li><a href="TIME_SAMPLE.html" class="refentry">TIME_SAMPLE</a> &#8212; <span class="refentry-description">Set the control duration and the sampling time</span></li></ul>
+ <br />
+
+ <div class="manualnavbar">
+ <table width="100%">
+ <tr><td colspan="3" class="next"><a href="http://bugzilla.scilab.org/enter_bug.cgi?product=Scilab%20software&component=Documentation%20pages" class="ulink">Report an issue</a></td></tr>
+<tr>
+ <td width="30%">
+
+ </td>
+ <td width="40%" class="center">
+ <span class="top"><a href="index.html">Arduino toolbox</a></span>
+
+ </td>
+ <td width="30%" class="next">
+
+ </td>
+ </tr></table>
+ <hr />
+ </div>
+ </body>
+</html>
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/style.css b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/style.css
new file mode 100644
index 0000000..618870f
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/style.css
@@ -0,0 +1,350 @@
+body {
+ color:#000000;
+ background-color:#ffffff;
+ font-family:sans-serif;
+ font-size:100%;
+ margin:5px;
+ padding:0;
+ background : url("/img/body.png");
+ background-repeat : repeat-x;
+}
+
+.para {
+ padding-left: 10px;
+}
+
+.refname {
+ color: #ff6c0a;
+}
+.refpurpose {
+ font-size: 110%;
+}
+
+.synopsis {
+ border: 1px solid black;
+ width:80%;
+ padding: 0.5em;
+}
+
+.editbar {
+ text-align: right;
+}
+
+.term {
+ color:#800000;
+ font-size:100%;
+}
+
+h3 {
+ color: #000063;
+ font-weight: bold;
+ font-size:130%;
+ margin-bottom: 10px;
+}
+
+.programlisting {
+ font-family: monospace;
+ font-size: 100%;
+ background-color:#EEEEFF;
+ border-color:#CCCCCC;
+ border-style:solid;
+ border-width:2px medium;
+ width:80%;
+ color:#333333;
+ line-height:120%;
+ padding:10px;
+}
+
+.literal {
+ font-family: monospace;
+ font-size: 100%;
+}
+
+.option {
+ font-family: monospace;
+ font-style: italic;
+ font-size: 100%;
+}
+
+.command {
+ font-family: monospace;
+ font-size: 100%;
+ color: #32b9b9;
+}
+
+.function {
+ font-family: monospace;
+ font-size: 100%;
+ color: #32b9b9;
+}
+
+.varname {
+ font-family: monospace;
+ font-weight: bold;
+ font-size: 100%;
+}
+
+.constant {
+ font-family: monospace;
+ font-size: 100%;
+ color: #da70d6;
+}
+
+a {
+ color: blue;
+ text-decoration:none;
+}
+
+a:hover {
+ text-decoration:underline;
+}
+
+.itemizedlist {
+ list-style-type: disk;
+}
+
+.inline-list li {
+ display: inline;
+ list-style-type: disk;
+}
+
+.vert-list {
+ list-style-type: disk;
+}
+
+pre {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+.leftpart {
+ position:absolute;
+ float:left;
+ width: 186px;
+ padding: 5px;
+ font-size: smaller;
+}
+
+.content {
+ margin-top: 100px;
+ margin-left: 196px
+}
+
+.container {
+ margin: 0 auto;
+ width:1024px;
+}
+
+ul.toc li.list-active {
+ list-style-type:disc;
+ font-weight:bold;
+}
+
+ul.toc li.parent {
+ font-size: 115%;
+ padding: 5px 0px 5px 11px;
+ border-bottom: 1px solid #cccccc;
+ margin-bottom: 5px;
+}
+
+ul.toc li.root {
+ font-size: 135%;
+ padding: 5px 0px 5px 11px;
+ border-bottom: 1px solid #cccccc;
+ margin-bottom: 5px;
+}
+
+ul.toc li {
+ font-size: 85%;
+ margin: 1px 0 1px 1px;
+ padding: 1px 0 1px 11px;
+ background-repeat: no-repeat;
+ background-position: center left;
+ list-style-type: circle;
+}
+
+.next {
+ float:right;
+ text-align: right;
+}
+
+.center {
+ text-align: center;
+}
+
+.screen {
+ font-family: monospace;
+ font-size: 100%;
+ background-color:#FFFFFF;
+ border-color:#CCCCCC;
+ border-style:solid;
+ border-width:2px medium;
+ width:80%;
+ color:#333333;
+ line-height:120%;
+ padding:10px;
+}
+
+/* Top and bottom navigation controls on manual pages --------------------- */
+div.manualnavbar {
+ background-color: #E0E0E0;
+ color: inherit;
+ padding: 4px;
+ margin-bottom: 10px;
+}
+div.manualnavbar .prev {
+ padding-right: 4px;
+}
+div.manualnavbar .next {
+ text-align: right;
+ padding-left: 4px;
+}
+
+div.manualnavbar .top {
+ text-align: center;
+ display: block;
+}
+
+div.manualnavbar hr {
+ color: #cccccc;
+ background-color: #cccccc;
+}
+
+/* Footer navigation area ------------------------------------------------- */
+
+#pagefooter {
+ position: relative;
+ font-size: 75%;
+ color: inherit;
+ background-color: #e5e5e5;
+ width: 100%;
+}
+
+#pagefooterleft {
+ top: 0px;
+ left: 0px;
+ padding: 6px;
+ margin-right: 30%;
+}
+
+#pagefooterright {
+ text-align: right;
+ margin-left: 50%;
+ padding: 6px;
+}
+#footnav {
+ color: inherit;
+ background-color: #9999cc;
+ border-width: 1px 0px;
+ border-color: #333366;
+ border-style: solid;
+ text-align: right;
+ padding-right: 6px;
+}
+
+
+
+
+ #global{
+/* width: 90%; */
+ max-width: 90em;
+/* min-width: 850px; */
+ margin-left: auto;
+ margin-right: auto;
+ }
+
+ #myHeader{
+ background-color:#000000;
+ color:white;
+ margin-bottom : 10px;
+ position : relative;
+ text-align: center;
+/* width : 1024px;*/
+ height : 100px;
+ padding-left : 20px;
+ background : url("http://atoms.scilab.org/images/homepage/cadre_head.png");
+ background-repeat : no-repeat;
+ background-position : 0px 0px;
+
+ }
+
+ #myFooter{
+ background-color:#E5E5E5;
+ font-color:black;
+/* width: 90%;*/
+ max-width: 90em;
+/* min-width: 850px;
+ margin-left: 5%;
+ margin-right: 5%;*/
+ margin-top:10px;
+ padding:10px;
+ }
+
+ #mainArea{
+ width: 100%;
+ overflow: hidden;
+ }
+
+ #myLeftArea{
+ color:white;
+ float: left;
+ width: 180px;
+ padding:5px;
+ }
+
+ #myMiddleArea{
+ color:black;
+ margin-left: 200px;
+ padding: 10px 20px;
+ }
+
+ #myRightArea{
+ color:white;
+ float: right;
+ width: 200px;
+ padding: 12px 20px;
+ }
+
+
+div#cadre_head
+{
+ position : relative;
+ text-align: center;
+/* width : 1024px;*/
+ height : 100px;
+ padding-left : 20px;
+ background : url("/img/cadre_head.png");
+ background-repeat : no-repeat;
+ background-position : 0px 0px;
+}
+
+
+div#slogan{
+ position: absolute;
+ top : 50px;
+ left:251px;
+ color:#0000AA;
+ font: 120%, Georgia,Serif;
+}
+div#cadre_help
+{
+ position: absolute;
+ top:45px;
+ right:0px;
+ font-size:0.8em;
+ color:#0000AA;
+}
+
+table.revhistory
+{
+ width:80%;
+ border-color:#CCCCCC;
+ border-style:solid;
+ border-width:2px medium;
+ margin-bottom: 10px;
+}
+
+table.revhistory tr.title td
+{
+ background-color: #9999CC;
+} \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/xml_code.css b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/xml_code.css
new file mode 100644
index 0000000..f75ac01
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/en_US/scilab_en_US_help/xml_code.css
@@ -0,0 +1,94 @@
+.xmlcomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmldefault {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlentity {
+ font-style: normal;
+ color: #ffaa00
+}
+
+.xmlopeninstr {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlcloseinstr {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlinstrname {
+ font-style: normal;
+ color: #9965a6
+}
+
+.xmllowtag {
+ font-style: normal;
+ color: #000000
+}
+
+.xmltagname {
+ font-style: normal;
+ color: #0303ff
+}
+
+.xmllowclose {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlopencomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmlcommentend {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmlcomment {
+ font-style: italic;
+ color: #01a801
+}
+
+.xmlopencdata {
+ font-style: normal;
+ color: #c45555
+}
+
+.xmlcdataend {
+ font-style: normal;
+ color: #c45555
+}
+
+.xmlcdata {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlattributename {
+ font-style: normal;
+ color: #9965a6
+}
+
+.xmlequal {
+ font-style: normal;
+ color: #000000
+}
+
+.xmlattributevalue {
+ font-style: normal;
+ color: #973964
+}
+
+.xmlautoclose {
+ font-style: normal;
+ color: #000000
+}
diff --git a/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB.xml b/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB.xml
new file mode 100644
index 0000000..408fb79
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ANALOG_READ_SB">
+<refnamediv>
+ <refname>ANALOG_READ_SB</refname>
+ <refpurpose>Permet de réaliser l'acquisition d'une grandeur analogique sur le port Analogique d'une carte Arduino.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ANALOG_READ_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ANALOG_READ_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ANALOG_READ_SB">Permet de réaliser l'acquisition d'une grandeur analogique sur le port Analogique d'une carte Arduino.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ANALOG_READ_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ANALOG_READ_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ANALOG_READ_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ANALOG_READ_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ANALOG_READ_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ANALOG_READ_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ANALOG_READ_SB">
+ <title>Description</title>
+<para> La carte Arduino UNO possède 6 ports d'entrées analogiques (de A0 à A5), la carte Arduino Mega possède 16 ports d'entrée analogique (de A0 à A15). Le bloc proposé permet de transmettre la valeur numérique codée sur 10 bits (de 0 à 1023) d'une grandeur analogique associée à un port d'entrée. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_ANALOG_READ_SB">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_READ_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le numéro du port de 0 à 5 doit être spécifié pour la carte UNO, de 0 à 15 pour une carte MEGA. </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+<para> Il n'y a pas de vérification de la valeur donnée, veuillez vous reporter à la spécification de votre carte Arduino pour mettre une valeur correcte. </para>
+
+</refsection>
+<refsection id="Example1_ANALOG_READ_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un potentiomètre angulaire dont la broche de mesure est connectée au port 2. Les deux autres broches du potentiomètre sont reliées à la masse (GND) et le 5 Volt de la carte directement. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_READ_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ANALOG_READ_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB_dialogbox.png b/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB_dialogbox.png
new file mode 100644
index 0000000..0a4a823
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB_help.tst b/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB_help.tst
new file mode 100644
index 0000000..a580e42
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+ANALOG_READ_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet de réaliser l'acquisition d'une grandeur analogique sur le port Analogique d'une carte Arduino.
+
+\description
+La carte Arduino UNO possède 6 ports d'entrées analogiques (de A0 à A5), la carte Arduino Mega possède 16 ports d'entrée analogique (de A0 à A15). Le bloc proposé permet de transmettre la valeur numérique codée sur 10 bits (de 0 à 1023) d'une grandeur analogique associée à un port d'entrée.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+\image{ANALOG_READ_SB_dialogbox.png}
+Le numéro du port de 0 à 5 doit être spécifié pour la carte UNO, de 0 à 15 pour une carte MEGA.
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+Il n'y a pas de vérification de la valeur donnée, veuillez vous reporter à la spécification de votre carte Arduino pour mettre une valeur correcte.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un potentiomètre angulaire dont la broche de mesure est connectée au port 2. Les deux autres broches du potentiomètre sont reliées à la masse (GND) et le 5 Volt de la carte directement.
+\image{ANALOG_READ_example.png}
+
+\seealso
+ANALOG_WRITE_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_example.png b/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_example.png
new file mode 100644
index 0000000..4df93cf
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ANALOG_READ_example.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB.xml b/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB.xml
new file mode 100644
index 0000000..39baf4b
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ANALOG_WRITE_SB">
+<refnamediv>
+ <refname>ANALOG_WRITE_SB</refname>
+ <refpurpose>Permet d'envoyer une valeur continûment variable sur un port donné</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ANALOG_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ANALOG_WRITE_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">Permet d'envoyer une valeur continûment variable sur un port donné</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ANALOG_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ANALOG_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ANALOG_WRITE_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ANALOG_WRITE_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ANALOG_WRITE_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ANALOG_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ANALOG_WRITE_SB">
+ <title>Description</title>
+<para> Les sorties analogiques de l'Arduino Uno sont disponibles sur les pins de sorties logiques (digital) 3,5,6,9,10 et 11. Sur la carte Mega, les sorties sont sur les pins 1 à 13 et 44 à 46. Parler de sorties analogiques est donc un abus de langage. En effet, pour générer cette sortie en minimisant les pertes d’énergie, l'Arduino utilise des PWM (Pulse With Modulation, MLI en français) disponibles sur ces ports. En faisant varier le rapport cyclique de ces PWM, on modifie la tension moyenne aux bornes du composant connecté à ce port, celui-ci a donc l'impression d'avoir une tension d'entrée variable. </para>
+<para> Le rapport cyclique qui théoriquement varie de 0 à 1 est codé sur 8 bits, ainsi une valeur de 0 correspond à un rapport cyclique de 0 et une valeur de 255 à un rapport cyclique de 1. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_ANALOG_WRITE_SB">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_WRITE_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le numéro du port doit être 3, 5, 6, 9, 10, 11 pour une carte UNO (ports ayant le symbole PWM) et doit être de 1 à 13 ou 44 à 46 pour la carte MEGA. L'utilisation d'un port digital provoquera soit la mise à 0 soit la mise à 1 de celui-ci en fonction de la valeur envoyée. </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+
+</refsection>
+<refsection id="Example1_ANALOG_WRITE_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un variateur de l'intensité lumineuse d'une LED à partir d'une consigne issue d'un potentiomètre. La LED (en série avec une résistance bien choisie) est connectée à la masse (GND) et au port digital 10 tandis que le potentiomètre est connecté sur le port analogique 2. La valeur lue pour le potentiomètre étant codée sur 10 bits et le signal du PWM étant codé sur 8 bits, il est nécessaire d'ajouter une gain d'adaptation. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ANALOG_WRITE_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ANALOG_WRITE_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB_dialogbox.png b/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..febf848
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB_help.tst b/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB_help.tst
new file mode 100644
index 0000000..dffcda1
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+ANALOG_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet d'envoyer une valeur continûment variable sur un port donné
+
+\description
+Les sorties analogiques de l'Arduino Uno sont disponibles sur les pins de sorties logiques (digital) 3,5,6,9,10 et 11. Sur la carte Mega, les sorties sont sur les pins 1 à 13 et 44 à 46. Parler de sorties analogiques est donc un abus de langage. En effet, pour générer cette sortie en minimisant les pertes d’énergie, l'Arduino utilise des PWM (Pulse With Modulation, MLI en français) disponibles sur ces ports. En faisant varier le rapport cyclique de ces PWM, on modifie la tension moyenne aux bornes du composant connecté à ce port, celui-ci a donc l'impression d'avoir une tension d'entrée variable.
+Le rapport cyclique qui théoriquement varie de 0 à 1 est codé sur 8 bits, ainsi une valeur de 0 correspond à un rapport cyclique de 0 et une valeur de 255 à un rapport cyclique de 1.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+\image{ANALOG_WRITE_SB_dialogbox.png}
+Le numéro du port doit être 3, 5, 6, 9, 10, 11 pour une carte UNO (ports ayant le symbole PWM) et doit être de 1 à 13 ou 44 à 46 pour la carte MEGA. L'utilisation d'un port digital provoquera soit la mise à 0 soit la mise à 1 de celui-ci en fonction de la valeur envoyée.
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un variateur de l'intensité lumineuse d'une LED à partir d'une consigne issue d'un potentiomètre. La LED (en série avec une résistance bien choisie) est connectée à la masse (GND) et au port digital 10 tandis que le potentiomètre est connecté sur le port analogique 2. La valeur lue pour le potentiomètre étant codée sur 10 bits et le signal du PWM étant codé sur 8 bits, il est nécessaire d'ajouter une gain d'adaptation.
+\image{ANALOG_WRITE_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_exemple.png b/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_exemple.png
new file mode 100644
index 0000000..8b84651
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ANALOG_WRITE_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP.xml b/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP.xml
new file mode 100644
index 0000000..51ba760
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ARDUINO_SETUP">
+<refnamediv>
+ <refname>ARDUINO_SETUP</refname>
+ <refpurpose>Permet de configuration le port de communication série entre l'arduino et scilab.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ARDUINO_SETUP.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ARDUINO_SETUP">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ARDUINO_SETUP">Permet de configuration le port de communication série entre l'arduino et scilab.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ARDUINO_SETUP">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ARDUINO_SETUP">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ARDUINO_SETUP">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ARDUINO_SETUP">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ARDUINO_SETUP">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ARDUINO_SETUP">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ARDUINO_SETUP">
+ <title>Description</title>
+<para> Ce bloc doit <emphasis role="bold">obligatoirement</emphasis> être placé sur le schéma lors de l'utilisation d'autres blocs de la toolbox. </para>
+<para> Il permet de définir le port de communication entre la carte Arduino et Xcos. </para>
+<para> Le port à utiliser peut être déterminé en lançant l'application Arduino et en vérifiant le com indiqué dans Outils/Port série. Celui-ci peut également être modifié dans le Gestionnaire de périphériques / Ports (options Avancées). </para>
+<para> Il n'est pas possible actuellement d'utiliser plusieurs cartes Arduino. </para>
+
+<para> La toolbox n'est utilisable que sous Windows pour l'instant. </para>
+
+<para> <emphasis role="bold">Attention pour utiliser la toolbox Arduino, il est indispensable de charger dans la carte Arduino le programme toolbox_arduino.ino disponible sur le site :</emphasis> http://www.demosciences.fr </para>
+
+
+</refsection>
+<refsection id="Dialogbox_ARDUINO_SETUP">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le port de communication doit être spécifié (entre 2 et 9 sinon un message d'erreur apparaît). </para>
+<para> Le numéro de carte Arduino doit être égal à 1 actuellement (sinon un message d'erreur apparaît) </para>
+
+</refsection>
+<refsection id="Example1_ARDUINO_SETUP">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessus montre l'utilisation du bloc dans le cas du clignotement de la led 13 de la carte UNO définie sur le port de communication 5. Les blocs utilisent les paramètres par défaut, sauf pour le bloc PULSE de la palette standard dont on spécifie le déphasage à 0. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ARDUINO_SETUP">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="TIME_SAMPLE">TIME_SAMPLE</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_dialogbox.png b/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_dialogbox.png
new file mode 100644
index 0000000..715ec38
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_example.png b/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_example.png
new file mode 100644
index 0000000..22f0da8
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_example.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_help.tst b/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_help.tst
new file mode 100644
index 0000000..01ec5af
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ARDUINO_SETUP_help.tst
@@ -0,0 +1,31 @@
+\name
+ARDUINO_SETUP
+
+\palette
+Arduino
+
+\smalldescription
+Permet de configuration le port de communication série entre l'arduino et scilab.
+
+\description
+Ce bloc doit \bold{obligatoirement} être placé sur le schéma lors de l'utilisation d'autres blocs de la toolbox.
+Il permet de définir le port de communication entre la carte Arduino et Xcos.
+Le port à utiliser peut être déterminé en lançant l'application Arduino et en vérifiant le com indiqué dans Outils/Port série. Celui-ci peut également être modifié dans le Gestionnaire de périphériques / Ports (options Avancées).
+Il n'est pas possible actuellement d'utiliser plusieurs cartes Arduino.
+
+La toolbox n'est utilisable que sous Windows pour l'instant.
+
+\bold{Attention pour utiliser la toolbox Arduino, il est indispensable de charger dans la carte Arduino le programme toolbox_arduino.ino disponible sur le site :} http://www.demosciences.fr
+
+
+\dialogbox
+\image{ARDUINO_SETUP_dialogbox.png}
+Le port de communication doit être spécifié (entre 2 et 9 sinon un message d'erreur apparaît).
+Le numéro de carte Arduino doit être égal à 1 actuellement (sinon un message d'erreur apparaît)
+
+\example1
+L'exemple ci-dessus montre l'utilisation du bloc dans le cas du clignotement de la led 13 de la carte UNO définie sur le port de communication 5. Les blocs utilisent les paramètres par défaut, sauf pour le bloc PULSE de la palette standard dont on spécifie le déphasage à 0.
+\image{ARDUINO_SETUP_example.png}
+
+\seealso
+TIME_SAMPLE
diff --git a/scilab-arduino/tools/windows/help/fr_En/ASSERV_POS_exemple.png b/scilab-arduino/tools/windows/help/fr_En/ASSERV_POS_exemple.png
new file mode 100644
index 0000000..2ddb447
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ASSERV_POS_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB.tst b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB.tst
new file mode 100644
index 0000000..bebb341
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB.tst
@@ -0,0 +1,42 @@
+\name
+DCMOTOR_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet de piloter un hacheur (relié à un moteur)
+
+\description
+Le bloc DCMOTOR permet de piloter 1 ou plusieurs moteurs à courant continu. La carte Arduino ne délivre pas suffisamment de puissance, c'est pourquoi il est nécessaire d'utiliser un préactionneur de type hacheur en amont du moteur. Il existe plusieurs types de hacheurs qui ne fonctionnent pas tous selon le même principe. Le L298 nécessite par exemple l'utilisation d'un PWM et d'un signal logique spécifiant le sens. Le L293 utilise deux PWM pour spécifier la vitesse et le sens. Des cartes prêtes à l'emploi sont également disponibles.
+C'est pourquoi le bloc permet de choisir le type de carte ou de hacheur utilisé et en fonction du choix, un menu propose de spécifier les caractéristiques de chaque composant (numéro des ports utilisés ou bien numéro du moteur...)
+On rappelle que le PWM est codé sur 8 bits (de 0 à 255).
+Cependant en entrée du bloc, il est possible d'entrer un nombre positif ou négatif quelconque, une saturation logicielle à +- 255 est integrée dans la définition du bloc.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+
+Le bloc propose deux menus.
+Le premier permet de choisir le type de carte utilisé :
+1 pour la carte officielle Motorshield Reverse 3 disponible sur le site arduino.cc,
+2 pour un hacheur L298 utilisant un PWM et un sens,
+3 pour un hacheur L293 utilisant deux PWM
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+\image{DCMOTOR_SB_dialogbox1.png}
+
+Le second menu est spécifique au type de carte retenue
+Pour la carte Motorshield on renseigne le numéro 1 ou 2 pour le moteur A ou B
+\image{DCMOTOR_SB_dialogbox2.png}
+Pour le L298, on renseigne le numéro du port de spécification du sens (n'importe quel port digital), le numéro du port PWM pour la vitesse (3,5,6,9,10,11) et le numéro du moteur piloté (limité de 1 à 4)
+\image{DCMOTOR_SB_dialogbox3.png}
+Pour le L293, on renseigne les numéros des 2 PWM et le numéro du moteur (de 1 à 3)
+\image{DCMOTOR_SB_dialogbox1.png}
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc moteur associé à un potentiomètre. Lorsque le potentiomètre est en position médiane, le moteur ne tourne pas tandis que lorsque le potentiomètre est tourné dans un sens ou dans l'autre, le moteur tourne plus ou moins vite dans un sens ou dans l'autre.
+Un gain d'adaptation a été utilisé pour convertir les données numériques codées sur 10 bits et l'entrée moteur codée sur 8 bits.
+\image{DCMOTOR_exemple.png}
+
+\seealso
+ENCODER_SB
+SERVO_WRITE_SB
diff --git a/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB.xml b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB.xml
new file mode 100644
index 0000000..f33cca0
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DCMOTOR_SB">
+<refnamediv>
+ <refname>DCMOTOR_SB</refname>
+ <refpurpose>Permet de piloter un hacheur (relié à un moteur)</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DCMOTOR_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DCMOTOR_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DCMOTOR_SB">Permet de piloter un hacheur (relié à un moteur)</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DCMOTOR_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DCMOTOR_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DCMOTOR_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DCMOTOR_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DCMOTOR_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DCMOTOR_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DCMOTOR_SB">
+ <title>Description</title>
+<para> Le bloc DCMOTOR permet de piloter 1 ou plusieurs moteurs à courant continu. La carte Arduino ne délivre pas suffisamment de puissance, c'est pourquoi il est nécessaire d'utiliser un préactionneur de type hacheur en amont du moteur. Il existe plusieurs types de hacheurs qui ne fonctionnent pas tous selon le même principe. Le L298 nécessite par exemple l'utilisation d'un PWM et d'un signal logique spécifiant le sens. Le L293 utilise deux PWM pour spécifier la vitesse et le sens. Des cartes prêtes à l'emploi sont également disponibles. </para>
+<para> C'est pourquoi le bloc permet de choisir le type de carte ou de hacheur utilisé et en fonction du choix, un menu propose de spécifier les caractéristiques de chaque composant (numéro des ports utilisés ou bien numéro du moteur...) </para>
+<para> On rappelle que le PWM est codé sur 8 bits (de 0 à 255). </para>
+<para> Cependant en entrée du bloc, il est possible d'entrer un nombre positif ou négatif quelconque, une saturation logicielle à +- 255 est integrée dans la définition du bloc. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_DCMOTOR_SB">
+ <title>Boite de dialogue</title>
+
+<para> Le bloc propose deux menus. </para>
+<para> Le premier permet de choisir le type de carte utilisé : </para>
+<para> 1 pour la carte officielle Motorshield Reverse 3 disponible sur le site arduino.cc, </para>
+<para> 2 pour un hacheur L298 utilisant un PWM et un sens, </para>
+<para> 3 pour un hacheur L293 utilisant deux PWM </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>
+
+<para> Le second menu est spécifique au type de carte retenue </para>
+<para> Pour la carte Motorshield on renseigne le numéro 1 ou 2 pour le moteur A ou B </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox2.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Pour le L298, on renseigne le numéro du port de spécification du sens (n'importe quel port digital), le numéro du port PWM pour la vitesse (3,5,6,9,10,11) et le numéro du moteur piloté (limité de 1 à 4) </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox3.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Pour le L293, on renseigne les numéros des 2 PWM et le numéro du moteur (de 1 à 3) </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Example1_DCMOTOR_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc moteur associé à un potentiomètre. Lorsque le potentiomètre est en position médiane, le moteur ne tourne pas tandis que lorsque le potentiomètre est tourné dans un sens ou dans l'autre, le moteur tourne plus ou moins vite dans un sens ou dans l'autre. </para>
+<para> Un gain d'adaptation a été utilisé pour convertir les données numériques codées sur 10 bits et l'entrée moteur codée sur 8 bits. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DCMOTOR_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ENCODER_SB">ENCODER_SB</link>
+ </para>
+ <para>
+ <link linkend="SERVO_WRITE_SB">SERVO_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox1.png b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox1.png
new file mode 100644
index 0000000..5bf8920
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox2.png b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox2.png
new file mode 100644
index 0000000..4d2a7b4
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox3.png b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox3.png
new file mode 100644
index 0000000..34a15d0
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox3.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox4.png b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox4.png
new file mode 100644
index 0000000..c80e6c3
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_SB_dialogbox4.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_exemple.png b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_exemple.png
new file mode 100644
index 0000000..24e50fe
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DCMOTOR_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB.xml b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB.xml
new file mode 100644
index 0000000..3a0bbc7
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DIGITAL_READ_SB">
+<refnamediv>
+ <refname>DIGITAL_READ_SB</refname>
+ <refpurpose>Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DIGITAL_READ_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DIGITAL_READ_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DIGITAL_READ_SB">Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DIGITAL_READ_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DIGITAL_READ_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DIGITAL_READ_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DIGITAL_READ_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DIGITAL_READ_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DIGITAL_READ_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DIGITAL_READ_SB">
+ <title>Description</title>
+<para> Les carte Arduino possède un ensemble de ports logiques (digital) qui sont utilisés pour l'écriture ou la lecture de données issues d'un composant. </para>
+<para> Pour une carte UNO, les ports de 2 à 13 sont disponibles (0 et 1 sont utilisés pour la transmission série). Pour une carte MEGA, les ports 2 à 53 sont disponibles. Le port prend le niveau logique bas (0) ou le niveau logique haut (1) qui correspond à la tension de référence. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_DIGITAL_READ_SB">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_READ_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le numéro du port digital est compris entre 2 et 53, à choisir en fonction de sa carte Arduino. </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+
+</refsection>
+<refsection id="Example1_DIGITAL_READ_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un montage constitué d'un interrupteur dont une broche est reliée au port digital 7 et une LED reliée au port digital 10. Un appui sur le bouton entraîne l'allumage de la LED. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DIGITAL_READ_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">DIGITAL_WRITE_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB_dialogbox.png b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB_dialogbox.png
new file mode 100644
index 0000000..244b37d
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB_help.tst b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB_help.tst
new file mode 100644
index 0000000..4527a64
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_READ_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+DIGITAL_READ_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.
+
+\description
+Les carte Arduino possède un ensemble de ports logiques (digital) qui sont utilisés pour l'écriture ou la lecture de données issues d'un composant.
+Pour une carte UNO, les ports de 2 à 13 sont disponibles (0 et 1 sont utilisés pour la transmission série). Pour une carte MEGA, les ports 2 à 53 sont disponibles. Le port prend le niveau logique bas (0) ou le niveau logique haut (1) qui correspond à la tension de référence.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+\image{DIGITAL_READ_SB_dialogbox.png}
+Le numéro du port digital est compris entre 2 et 53, à choisir en fonction de sa carte Arduino.
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un montage constitué d'un interrupteur dont une broche est reliée au port digital 7 et une LED reliée au port digital 10. Un appui sur le bouton entraîne l'allumage de la LED.
+\image{DIGITAL_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+ANALOG_WRITE_SB
+DIGITAL_WRITE_SB
diff --git a/scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB.xml b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB.xml
new file mode 100644
index 0000000..1170bfa
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DIGITAL_WRITE_SB">
+<refnamediv>
+ <refname>DIGITAL_WRITE_SB</refname>
+ <refpurpose>Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/DIGITAL_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_DIGITAL_WRITE_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="DIGITAL_WRITE_SB">Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_DIGITAL_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_DIGITAL_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_DIGITAL_WRITE_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_DIGITAL_WRITE_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_DIGITAL_WRITE_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_DIGITAL_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_DIGITAL_WRITE_SB">
+ <title>Description</title>
+<para> La carte UNO possède un ensemble de ports logiques (digital) qui sont utilisés pour l'écriture ou la lecture de données issues d'un composant. </para>
+<para> Pour une carte UNO, les ports de 2 à 13 sont disponibles (0 et 1 sont utilisés pour la transmission série). Pour une carte MEGA, les ports 2 à 53 sont disponibles. Le port prend le niveau logique bas (0) ou le niveau logique haut (1) qui correspond à la tension de référence. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_DIGITAL_WRITE_SB">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_WRITE_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le numéro du port digital est compris entre 2 et 53, à choisir en fonction de sa carte Arduino. </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+
+</refsection>
+<refsection id="Example1_DIGITAL_WRITE_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un montage constitué d'un interrupteur dont une broche est reliée au port digital 7 et une LED reliée au port digital 10. Un appui sur le bouton entraîne l'allumage de la LED. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="DIGITAL_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_DIGITAL_WRITE_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ANALOG_READ_SB">ANALOG_READ_SB</link>
+ </para>
+ <para>
+ <link linkend="ANALOG_WRITE_SB">ANALOG_WRITE_SB</link>
+ </para>
+ <para>
+ <link linkend="DIGITAL_READ_SB">DIGITAL_READ_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB_dialogbox.png b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB_dialogbox.png
new file mode 100644
index 0000000..4abc644
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB_help.tst b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB_help.tst
new file mode 100644
index 0000000..10a9262
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_WRITE_SB_help.tst
@@ -0,0 +1,27 @@
+\name
+DIGITAL_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet d'envoyer une valeur logique 0 ou 1 sur un port donné.
+
+\description
+La carte UNO possède un ensemble de ports logiques (digital) qui sont utilisés pour l'écriture ou la lecture de données issues d'un composant.
+Pour une carte UNO, les ports de 2 à 13 sont disponibles (0 et 1 sont utilisés pour la transmission série). Pour une carte MEGA, les ports 2 à 53 sont disponibles. Le port prend le niveau logique bas (0) ou le niveau logique haut (1) qui correspond à la tension de référence.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+\image{DIGITAL_WRITE_SB_dialogbox.png}
+Le numéro du port digital est compris entre 2 et 53, à choisir en fonction de sa carte Arduino.
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un montage constitué d'un interrupteur dont une broche est reliée au port digital 7 et une LED reliée au port digital 10. Un appui sur le bouton entraîne l'allumage de la LED.
+\image{DIGITAL_exemple.png}
+
+\seealso
+ANALOG_READ_SB
+ANALOG_WRITE_SB
+DIGITAL_READ_SB
diff --git a/scilab-arduino/tools/windows/help/fr_En/DIGITAL_exemple.png b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_exemple.png
new file mode 100644
index 0000000..22832fa
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/DIGITAL_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB.tst b/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB.tst
new file mode 100644
index 0000000..bc2c04d
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB.tst
@@ -0,0 +1,43 @@
+\name
+ENCODER_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet de compter un ensemble d'événements sur une ou plusieurs voies.
+
+\description
+Beaucoup de capteurs (codeur incrémental, capteur à effet Hall...) renvoient un signal créneau pour lequel on souhaite compter les fronts. Le bloc permet de réaliser cette opération pour un ou deux codeurs. On utilise pour cela les interruptions disponibles sur la carte Arduino. Ce sont des entrées capables d’arrêter le programme principal lors d'un changement d’état (fronts d'un signal) afin d’exécuter un sous-programme. Ce sous-programme consiste dans ce cas à incrémenter ou décrémenter un compteur.
+Les pins 2 et 3 sont les seuls pins de l'Arduino Uno supportant les interruptions. Sur la carte Mega, les pins sont 2, 3 et 18 à 21. Il est nécessaire d'utiliser un signal supplémentaire pour connaître le sens du codeur.
+Ainsi, le bloc offre la possibilité de fonctionner un codeur en quadrature, il faut alors que les deux voies soient câblées sur les pins d'interruption et les fronts montants et descendants sont pris en compte sur les deux voies (la précision est augmentée et on peut également déterminer le sens).
+Par contre si on utilise un mode autre que la quadrature, seule une voie doit être branchée en interruption, l'autre peut être reliée à une entrée logique classique.
+
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+
+Le bloc propose deux menus.
+Le premier permet de choisir le mode de lecture du signal délivré par le codeur (choix entre 1, 2 ou 4).
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+\image{ENCODER_SB_dialogbox1.png}
+Le mode 1 utilise une seule voie d'interruption et une voie digitale quelconque pour déterminer le sens. Seuls les fronts montants de la voie d'interruption sont pris en compte dans ce mode.
+Le mode 2 utilise les mêmes voies mais les fronts montants et descendants de la voie d'interruption sont pris en compte.
+Le mode 4 correspond au mode quadrature. Dans ce mode, les fronts montants et descendants des deux voies sont pris en compte.
+
+Le second menu permet de spécifier les ports utilisés en fonction du mode retenu :
+\image{ENCODER_SB_dialogbox2.png}
+mode 1x : déclaration du pin d'interruption 2 ou 3 sur une carte UNO (2, 3 ou 18 à 21 pour la carte MEGA) et déclaration d'un pin digital quelconque de 2 à 13 pour une carte UNO (2 à 53 pour la carte MEGA)
+mode 2x : même principe.
+mode 4x : utilisation obligatoire de deux pins d'interruptions 2 et 3 sur une carte UNO ou 2 parmi 2, 3 ou 18 à 21 pour une carte MEGA.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un moteur dont on relève la position au cours du temps et la vitesse à partir du signal provenant du codeur. Le mode 4x a été choisi pour améliorer la précision. Le paramétrage du moteur est le même que celui de l'exemple sur le moteur.
+\image{ENCODER_exemple.png}
+
+\example2
+L'exemple suivant montre un asservissement de position utilisant l'information du codeur pour comparaison avec une grandeur de consigne. Un correcteur PI est utilisé pour corrigé l'écart et délivrer la tension de commande du moteur à courant continu.
+\image{ASSERV_POS_exemple.png}
+
+\seealso
+DCMOTOR_SB
diff --git a/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB.xml b/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB.xml
new file mode 100644
index 0000000..827be7c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB.xml
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="ENCODER_SB">
+<refnamediv>
+ <refname>ENCODER_SB</refname>
+ <refpurpose>Permet de compter un ensemble d'événements sur une ou plusieurs voies.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/ENCODER_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_ENCODER_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="ENCODER_SB">Permet de compter un ensemble d'événements sur une ou plusieurs voies.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_ENCODER_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_ENCODER_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_ENCODER_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_ENCODER_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example2_ENCODER_SB">Exemple 2</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_ENCODER_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_ENCODER_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_ENCODER_SB">
+ <title>Description</title>
+<para> Beaucoup de capteurs (codeur incrémental, capteur à effet Hall...) renvoient un signal créneau pour lequel on souhaite compter les fronts. Le bloc permet de réaliser cette opération pour un ou deux codeurs. On utilise pour cela les interruptions disponibles sur la carte Arduino. Ce sont des entrées capables d’arrêter le programme principal lors d'un changement d’état (fronts d'un signal) afin d’exécuter un sous-programme. Ce sous-programme consiste dans ce cas à incrémenter ou décrémenter un compteur. </para>
+<para> Les pins 2 et 3 sont les seuls pins de l'Arduino Uno supportant les interruptions. Sur la carte Mega, les pins sont 2, 3 et 18 à 21. Il est nécessaire d'utiliser un signal supplémentaire pour connaître le sens du codeur. </para>
+<para> Ainsi, le bloc offre la possibilité de fonctionner un codeur en quadrature, il faut alors que les deux voies soient câblées sur les pins d'interruption et les fronts montants et descendants sont pris en compte sur les deux voies (la précision est augmentée et on peut également déterminer le sens). </para>
+<para> Par contre si on utilise un mode autre que la quadrature, seule une voie doit être branchée en interruption, l'autre peut être reliée à une entrée logique classique. </para>
+
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_ENCODER_SB">
+ <title>Boite de dialogue</title>
+
+<para> Le bloc propose deux menus. </para>
+<para> Le premier permet de choisir le mode de lecture du signal délivré par le codeur (choix entre 1, 2 ou 4). </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le mode 1 utilise une seule voie d'interruption et une voie digitale quelconque pour déterminer le sens. Seuls les fronts montants de la voie d'interruption sont pris en compte dans ce mode. </para>
+<para> Le mode 2 utilise les mêmes voies mais les fronts montants et descendants de la voie d'interruption sont pris en compte. </para>
+<para> Le mode 4 correspond au mode quadrature. Dans ce mode, les fronts montants et descendants des deux voies sont pris en compte. </para>
+
+<para> Le second menu permet de spécifier les ports utilisés en fonction du mode retenu : </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_SB_dialogbox2.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> mode 1x : déclaration du pin d'interruption 2 ou 3 sur une carte UNO (2, 3 ou 18 à 21 pour la carte MEGA) et déclaration d'un pin digital quelconque de 2 à 13 pour une carte UNO (2 à 53 pour la carte MEGA) </para>
+<para> mode 2x : même principe. </para>
+<para> mode 4x : utilisation obligatoire de deux pins d'interruptions 2 et 3 sur une carte UNO ou 2 parmi 2, 3 ou 18 à 21 pour une carte MEGA. </para>
+
+</refsection>
+<refsection id="Example1_ENCODER_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc dans le cas d'un moteur dont on relève la position au cours du temps et la vitesse à partir du signal provenant du codeur. Le mode 4x a été choisi pour améliorer la précision. Le paramétrage du moteur est le même que celui de l'exemple sur le moteur. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ENCODER_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Example2_ENCODER_SB">
+ <title>Exemple 2</title>
+<para> L'exemple suivant montre un asservissement de position utilisant l'information du codeur pour comparaison avec une grandeur de consigne. Un correcteur PI est utilisé pour corrigé l'écart et délivrer la tension de commande du moteur à courant continu. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ASSERV_POS_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_ENCODER_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="DCMOTOR_SB">DCMOTOR_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB_dialogbox1.png b/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB_dialogbox1.png
new file mode 100644
index 0000000..8dbe19c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB_dialogbox1.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB_dialogbox2.png b/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB_dialogbox2.png
new file mode 100644
index 0000000..b63878e
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ENCODER_SB_dialogbox2.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/ENCODER_exemple.png b/scilab-arduino/tools/windows/help/fr_En/ENCODER_exemple.png
new file mode 100644
index 0000000..9c477cf
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/ENCODER_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB.tst b/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB.tst
new file mode 100644
index 0000000..81c6117
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB.tst
@@ -0,0 +1,28 @@
+\name
+INTERRUPT_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet de compter un ensemble d'événements sur une ou plusieurs voies.
+
+\description
+Il s'agit de lire un compteur qui compte l'information issue de capteurs de position absolue (capteur à effet Hall...).
+Le bloc permet de lire les fronts montants détectés sur les entrées à interruptions disponibles de la carte Arduino. Ce sont des entrées capables d’arrêter le programme principal lors d'un changement d’état (fronts d'un signal) afin d’exécuter un sous-programme. Ce sous-programme consiste dans ce cas à incrémenter un compteur.
+Les pins 2 et 3 sont les seuls pins de l'Arduino Uno supportant les interruptions. Sur la carte Mega, les pins sont 2, 3 et 18 à 21.
+On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc.
+
+\dialogbox
+
+Le bloc propose un menu qui permet la déclaration du pin d'interruption 2 ou 3 sur une carte UNO (2, 3 ou 18 à 21 pour la carte MEGA) et déclaration d'un pin digital quelconque de 2 à 13 pour une carte UNO (2 à 53 pour la carte MEGA).
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+\image{INTERRUPT_SB_dialogbox.png}
+
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc pour compter le signal d'une fourche optique connecté sur le pin 3.
+\image{INTERRUPT_exemple.png}
+
+\seealso
+ENCODER_SB
diff --git a/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB.xml b/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB.xml
new file mode 100644
index 0000000..3f15c00
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="INTERRUPT_SB">
+<refnamediv>
+ <refname>INTERRUPT_SB</refname>
+ <refpurpose>Permet de compter un ensemble d'événements sur une ou plusieurs voies.</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/INTERRUPT_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_INTERRUPT_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="INTERRUPT_SB">Permet de compter un ensemble d'événements sur une ou plusieurs voies.</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_INTERRUPT_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_INTERRUPT_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_INTERRUPT_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_INTERRUPT_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_INTERRUPT_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_INTERRUPT_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_INTERRUPT_SB">
+ <title>Description</title>
+<para> Il s'agit de lire un compteur qui compte l'information issue de capteurs de position absolue (capteur à effet Hall...). </para>
+<para> Le bloc permet de lire les fronts montants détectés sur les entrées à interruptions disponibles de la carte Arduino. Ce sont des entrées capables d’arrêter le programme principal lors d'un changement d’état (fronts d'un signal) afin d’exécuter un sous-programme. Ce sous-programme consiste dans ce cas à incrémenter un compteur. </para>
+<para> Les pins 2 et 3 sont les seuls pins de l'Arduino Uno supportant les interruptions. Sur la carte Mega, les pins sont 2, 3 et 18 à 21. </para>
+<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_INTERRUPT_SB">
+ <title>Boite de dialogue</title>
+
+<para> Le bloc propose un menu qui permet la déclaration du pin d'interruption 2 ou 3 sur une carte UNO (2, 3 ou 18 à 21 pour la carte MEGA) et déclaration d'un pin digital quelconque de 2 à 13 pour une carte UNO (2 à 53 pour la carte MEGA). </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="INTERRUPT_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+
+
+</refsection>
+<refsection id="Example1_INTERRUPT_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc pour compter le signal d'une fourche optique connecté sur le pin 3. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="INTERRUPT_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_INTERRUPT_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ENCODER_SB">ENCODER_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB_dialogbox.png b/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB_dialogbox.png
new file mode 100644
index 0000000..ec3f62c
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_exemple.png b/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_exemple.png
new file mode 100644
index 0000000..7807247
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/INTERRUPT_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/SERVO_SB.tst b/scilab-arduino/tools/windows/help/fr_En/SERVO_SB.tst
new file mode 100644
index 0000000..a79340d
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/SERVO_SB.tst
@@ -0,0 +1,31 @@
+\name
+SERVO_WRITE_SB
+
+\palette
+Arduino
+
+\smalldescription
+Permet de piloter un servomoteur en renseignant l'angle de 0 à 180° souhaité
+
+\description
+Un servomoteur est un ensemble constitué d'un moteur électrique, d'un réducteur, d'un potentiomètre et d'une partie électronique analogique ou numérique pour la commande. C'est donc un asservissement de position (ou de vitesse pour les servomoteurs à rotation continue).
+L'utilisateur ne doit donc qu'envoyer la consigne de position ou de vitesse souhaitée. Cette consigne est transmise au servomoteur sous forme d'impulsions espacées de 10 à 20 ms. Le codage de ces impulsions est fait de telle façon qu'une impulsion de 1,5 ms correspond à la position centrée (de repos), une impulsion de 1 ms correspond à un angle de 90° dans le sens trigonométrique et enfin une impulsion de 2 ms correspond à un angle de 90° dans le sens horaire. Toutes les autres largeurs d'impulsion donneront des valeurs intermédiaires.
+Pour un servomoteur à rotation continue, la largeur des impulsions donne la vitesse de rotation ainsi que le sens.
+Il faut penser à utiliser un régulateur de tension plutôt que l'alimentation de la carte Arduino pour alimenter le servomoteur.
+Pour simplifier, le bloc ne demande en entrée que l'angle souhaité en degré de 0 à 180.
+Deux servomoteurs peuvent être pilotés avec la toolbox.
+
+On rappelle que l'échantillonnage est de 10 ms au minimum pour ce bloc.
+
+\dialogbox
+\image{SERVO_SB_dialogbox.png}
+Le bloc propose de choisir le numéro du servomoteur piloté.
+Le numéro de la carte ne peut pas être modifié pour l'instant.
+
+\example1
+L'exemple ci-dessous montre l'utilisation du bloc servomoteur dont la position est donnée par un potentiomètre relié sur le port analogique 0.
+Un gain d'adaptation a été utilisé pour convertir les données numériques codées sur 10 bits en sortie du potentiomètre en une grandeur variant de 0 à 180 pour spécifier la position souhaitée du servomoteur.
+\image{SERVO_SB_exemple.png}
+
+\seealso
+DCMOTOR_SB
diff --git a/scilab-arduino/tools/windows/help/fr_En/SERVO_SB_dialogbox.png b/scilab-arduino/tools/windows/help/fr_En/SERVO_SB_dialogbox.png
new file mode 100644
index 0000000..a421e75
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/SERVO_SB_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/SERVO_SB_exemple.png b/scilab-arduino/tools/windows/help/fr_En/SERVO_SB_exemple.png
new file mode 100644
index 0000000..45b7e51
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/SERVO_SB_exemple.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/SERVO_WRITE_SB.xml b/scilab-arduino/tools/windows/help/fr_En/SERVO_WRITE_SB.xml
new file mode 100644
index 0000000..a2bf3d1
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/SERVO_WRITE_SB.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="SERVO_WRITE_SB">
+<refnamediv>
+ <refname>SERVO_WRITE_SB</refname>
+ <refpurpose>Permet de piloter un servomoteur en renseignant l'angle de 0 à 180° souhaité</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/SERVO_WRITE_SB.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_SERVO_WRITE_SB">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="SERVO_WRITE_SB">Permet de piloter un servomoteur en renseignant l'angle de 0 à 180° souhaité</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_SERVO_WRITE_SB">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_SERVO_WRITE_SB">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_SERVO_WRITE_SB">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_SERVO_WRITE_SB">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_SERVO_WRITE_SB">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_SERVO_WRITE_SB">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_SERVO_WRITE_SB">
+ <title>Description</title>
+<para> Un servomoteur est un ensemble constitué d'un moteur électrique, d'un réducteur, d'un potentiomètre et d'une partie électronique analogique ou numérique pour la commande. C'est donc un asservissement de position (ou de vitesse pour les servomoteurs à rotation continue). </para>
+<para> L'utilisateur ne doit donc qu'envoyer la consigne de position ou de vitesse souhaitée. Cette consigne est transmise au servomoteur sous forme d'impulsions espacées de 10 à 20 ms. Le codage de ces impulsions est fait de telle façon qu'une impulsion de 1,5 ms correspond à la position centrée (de repos), une impulsion de 1 ms correspond à un angle de 90° dans le sens trigonométrique et enfin une impulsion de 2 ms correspond à un angle de 90° dans le sens horaire. Toutes les autres largeurs d'impulsion donneront des valeurs intermédiaires. </para>
+<para> Pour un servomoteur à rotation continue, la largeur des impulsions donne la vitesse de rotation ainsi que le sens. </para>
+<para> Il faut penser à utiliser un régulateur de tension plutôt que l'alimentation de la carte Arduino pour alimenter le servomoteur. </para>
+<para> Pour simplifier, le bloc ne demande en entrée que l'angle souhaité en degré de 0 à 180. </para>
+<para> Deux servomoteurs peuvent être pilotés avec la toolbox. </para>
+
+<para> On rappelle que l'échantillonnage est de 10 ms au minimum pour ce bloc. </para>
+
+</refsection>
+<refsection id="Dialogbox_SERVO_WRITE_SB">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="SERVO_SB_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> Le bloc propose de choisir le numéro du servomoteur piloté. </para>
+<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
+
+</refsection>
+<refsection id="Example1_SERVO_WRITE_SB">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessous montre l'utilisation du bloc servomoteur dont la position est donnée par un potentiomètre relié sur le port analogique 0. </para>
+<para> Un gain d'adaptation a été utilisé pour convertir les données numériques codées sur 10 bits en sortie du potentiomètre en une grandeur variant de 0 à 180 pour spécifier la position souhaitée du servomoteur. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="SERVO_SB_exemple.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_SERVO_WRITE_SB">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="DCMOTOR_SB">DCMOTOR_SB</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE.xml b/scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE.xml
new file mode 100644
index 0000000..9994a66
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="TIME_SAMPLE">
+<refnamediv>
+ <refname>TIME_SAMPLE</refname>
+ <refpurpose>Permet de spécifier la durée d'acquisition/pilotage et le pas d'échantillonnage</refpurpose>
+</refnamediv>
+<refsection>
+ <title>Aperçu</title>
+ <para>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="../../images/gif/TIME_SAMPLE.gif" align="center" valign="middle"/>
+ </imageobject>
+ </inlinemediaobject>
+ </para>
+</refsection>
+<refsection id="Contents_TIME_SAMPLE">
+ <title>Contenu</title>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <link linkend="TIME_SAMPLE">Permet de spécifier la durée d'acquisition/pilotage et le pas d'échantillonnage</link>
+ </para>
+ </listitem>
+ <listitem>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <xref linkend="Palette_TIME_SAMPLE">Palette</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Description_TIME_SAMPLE">Description</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Dialogbox_TIME_SAMPLE">Boite de dialogue</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Example1_TIME_SAMPLE">Exemple 1</xref>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <xref linkend="Seealso_TIME_SAMPLE">Voir aussi</xref>
+ </para>
+ </listitem>
+ </itemizedlist>
+ </listitem>
+ </itemizedlist>
+</refsection>
+<refsection id="Palette_TIME_SAMPLE">
+ <title>Palette</title>
+Arduino
+</refsection>
+<refsection id="Description_TIME_SAMPLE">
+ <title>Description</title>
+<para> Ce bloc doit <emphasis role="bold">obligatoirement</emphasis> être placé sur le schéma lors de l'utilisation d'autres blocs de la toolbox. </para>
+<para> Il permet de définir la durée de communication avec la carte Arduino ainsi que le pas d'échantillonnage utilisé pour les blocs (chaque bloc est cadencé par ce pas). </para>
+<para> La communication série impose un pas limite pour chaque bloc qui est d'environ 8 ms (il est possible de descendre à 4 ms) par bloc. </para>
+<para> Il conviendra de tester pour des acquisitions complexes que l'échantillonnage retenu est suffisant, pour cela, il faut mesurer que le temps de simulation correspond au temps réel (une simulation de 10 s doit durer 10 s) ; à défaut, il faudra augmenter la période d'échantillonnage. </para>
+
+</refsection>
+<refsection id="Dialogbox_TIME_SAMPLE">
+ <title>Boite de dialogue</title>
+<inlinemediaobject> <imageobject> <imagedata fileref="TIME_SAMPLE_dialogbox.png" align="center"/> </imageobject> </inlinemediaobject>
+<para> La durée de simulation (positive) doit être spécifiée. </para>
+<para> Le pas d'échantillonnage doit être renseigné en faisant attention au nombre de blocs Arduino utilisé. </para>
+
+</refsection>
+<refsection id="Example1_TIME_SAMPLE">
+ <title>Exemple 1</title>
+<para> L'exemple ci-dessus montre l'utilisation du bloc dans le cas du clignotement de la led 13 de la carte UNO définie sur le port de communication 5. Les blocs utilisent les paramètres par défaut, sauf pour le bloc PULSE de la palette standard dont on spécifie le déphasage à 0. </para>
+<inlinemediaobject> <imageobject> <imagedata fileref="ARDUINO_SETUP_example.png" align="center"/> </imageobject> </inlinemediaobject>
+
+</refsection>
+<refsection id="Seealso_TIME_SAMPLE">
+ <title>Voir aussi</title>
+ <para>
+ <link linkend="ARDUINO_SETUP">ARDUINO_SETUP</link>
+ </para>
+</refsection>
+</refentry>
diff --git a/scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE_dialogbox.png b/scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE_dialogbox.png
new file mode 100644
index 0000000..45022af
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE_dialogbox.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE_help.tst b/scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE_help.tst
new file mode 100644
index 0000000..56ed48a
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/TIME_SAMPLE_help.tst
@@ -0,0 +1,26 @@
+\name
+TIME_SAMPLE
+
+\palette
+Arduino
+
+\smalldescription
+Permet de spécifier la durée d'acquisition/pilotage et le pas d'échantillonnage
+
+\description
+Ce bloc doit \bold{obligatoirement} être placé sur le schéma lors de l'utilisation d'autres blocs de la toolbox.
+Il permet de définir la durée de communication avec la carte Arduino ainsi que le pas d'échantillonnage utilisé pour les blocs (chaque bloc est cadencé par ce pas).
+La communication série impose un pas limite pour chaque bloc qui est d'environ 8 ms (il est possible de descendre à 4 ms) par bloc.
+Il conviendra de tester pour des acquisitions complexes que l'échantillonnage retenu est suffisant, pour cela, il faut mesurer que le temps de simulation correspond au temps réel (une simulation de 10 s doit durer 10 s) ; à défaut, il faudra augmenter la période d'échantillonnage.
+
+\dialogbox
+\image{TIME_SAMPLE_dialogbox.png}
+La durée de simulation (positive) doit être spécifiée.
+Le pas d'échantillonnage doit être renseigné en faisant attention au nombre de blocs Arduino utilisé.
+
+\example1
+L'exemple ci-dessus montre l'utilisation du bloc dans le cas du clignotement de la led 13 de la carte UNO définie sur le port de communication 5. Les blocs utilisent les paramètres par défaut, sauf pour le bloc PULSE de la palette standard dont on spécifie le déphasage à 0.
+\image{ARDUINO_SETUP_example.png}
+
+\seealso
+ARDUINO_SETUP
diff --git a/scilab-arduino/tools/windows/help/fr_En/build_help.sce b/scilab-arduino/tools/windows/help/fr_En/build_help.sce
new file mode 100644
index 0000000..7065316
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/build_help.sce
@@ -0,0 +1,3 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+tbx_build_help(TOOLBOX_TITLE,get_absolute_file_path("build_help.sce"));
diff --git a/scilab-arduino/tools/windows/help/fr_En/read_file_doc.sci b/scilab-arduino/tools/windows/help/fr_En/read_file_doc.sci
new file mode 100644
index 0000000..254a1d1
--- /dev/null
+++ b/scilab-arduino/tools/windows/help/fr_En/read_file_doc.sci
@@ -0,0 +1,284 @@
+
+function data=read_file_doc(file_name)
+ fd=mopen(file_name); //open file
+ txt=mgetl(fd,-1); //read all lines
+ err=mclose(fd);
+
+ //items to read (respect this order )
+ items_to_read=["\name","\smalldescription","\palette","\description","\dialogbox","\example1","\example2","\example3","\seealso"];
+ lign_of_items=0*ones(1,size(items_to_read,2));
+ nb_items=size(items_to_read,'*')
+ //definition de la structure de donnee
+ for i=1:size(txt,'*')
+ for j=1:nb_items
+
+ if ~isempty(strindex(txt(i),items_to_read(j))) then
+ lign_of_items(j)=i;
+ end
+ end
+ end
+
+ //to use if the ordre is not respected
+ [temp,order]=gsort(lign_of_items,'g','i');
+
+ //extract data by items
+ data_by_items=cell(nb_items,1);
+ for j=1:nb_items-1
+ data_by_items(j).entries=txt(lign_of_items(order(j))+1:lign_of_items(order(j+1))-1);
+ end
+ data_by_items(nb_items).entries=txt(lign_of_items(order(nb_items))+1:$);
+ data_by_items2=data_by_items;
+ data_by_items2(order)=data_by_items;
+ data.name=stripblanks(strcat(data_by_items2(1).entries),%t);
+ data.smalldescription=strcat(data_by_items2(2).entries);
+ data.palette=stripblanks(strcat(data_by_items2(3).entries),%t);
+ data.seealso=data_by_items2(9).entries;
+ data.description=data_by_items2(4).entries;
+ data.dialogbox=data_by_items2(5).entries;
+ data.example1=data_by_items2(6).entries;
+ data.example2=data_by_items2(7).entries;
+ data.example3=data_by_items2(8).entries;
+ data.to_replace=cell(5,1);
+ data.to_replace=data_by_items2(4:8);
+
+endfunction
+
+function data=change_keyword(data)
+
+
+ for d=1:size(data.to_replace,1)
+ to_replace=data.to_replace(d).entries;
+
+ //add <par> </par> for each non empty lign
+ for i=1:size(to_replace,'*')
+ if ~isempty(to_replace(i)) then
+ to_replace(i)='<para> '+to_replace(i)+' </para>';
+ end
+ end
+
+ //replace \bold{} by <emphasis role="bold">Step Time</emphasis>
+ for i=1:size(to_replace,'*')
+ ind_bold=strindex(to_replace(i),"\bold")
+ ind_acc1=strindex(to_replace(i),"{")
+ ind_acc2=strindex(to_replace(i),"}")
+ n=0
+ ind_bold_acc=[]
+ for j=ind_bold
+ n=n+1;
+ for k=ind_acc1
+ if k==j+5 then
+ ind_bold_acc($+1)=ind_acc2(n);
+ continue
+ end
+ end
+ end
+
+ sizestr=length(to_replace(i))
+ if ~isempty(ind_bold) then
+ new_str=[];
+ ind_ini=1;
+ for j=1:size(ind_bold,2)
+ new_str=new_str+part(to_replace(i),ind_ini:ind_bold(j)-1);
+ new_str=new_str+"<emphasis role='"bold'">";
+ new_str=new_str+part(to_replace(i),ind_bold(j)+6:ind_bold_acc(j)-1);
+ new_str=new_str+"</emphasis>";
+ ind_ini=ind_bold_acc(j)+1;
+ end
+ to_replace(i)=new_str+part(to_replace(i),ind_bold_acc($)+1:sizestr);
+ end
+ end
+
+ //replace \image by xml code
+ for i=1:size(to_replace,'*')
+ ind_image=strindex(to_replace(i),"\image")
+ ind_acc=strindex(to_replace(i),"}")
+ if ~isempty(ind_image) then
+ name=stripblanks(part(to_replace(i),ind_image+7:ind_acc-1));
+ to_replace(i) = "<inlinemediaobject> <imageobject> <imagedata fileref='""+name+"'" align='"center'"/> </imageobject> </inlinemediaobject>"
+ end
+
+ end
+
+
+ data.to_replace(d).entries=to_replace;
+
+
+ end
+
+ data.description=data.to_replace(1).entries
+ data.dialogbox=data.to_replace(2).entries;
+ data.example1=data.to_replace(3).entries;
+ data.example2=data.to_replace(4).entries;
+ data.example3=data.to_replace(5).entries;
+ //data.seealso=data.to_replace(6).entries;
+
+endfunction
+
+function write_xml(data)
+
+ fd = mopen(data.name+'.xml','w+');
+
+ //write entete
+ entete=['<?xml version='"1.0'" encoding='"UTF-8'"?>'
+ '<refentry xmlns='"http://docbook.org/ns/docbook'" xmlns:xlink='"http://www.w3.org/1999/xlink'" xmlns:svg='"http://www.w3.org/2000/svg'" xmlns:mml='"http://www.w3.org/1998/Math/MathML'" xmlns:db='"http://docbook.org/ns/docbook'" version='"5.0-subset Scilab'" xml:id='""+data.name+"'"> ']
+ mputl(entete,fd);
+ towrite= ['<refnamediv>'
+ ' <refname>'+data.name+'</refname>'
+ ' <refpurpose>'+data.smalldescription+'</refpurpose> '
+ '</refnamediv>']
+ mputl(towrite,fd);
+
+ towrite=['<refsection>'
+ ' <title>Aperçu</title>'
+ ' <para>'
+ ' <inlinemediaobject>'
+ ' <imageobject>'
+ ' <imagedata fileref='"../../images/gif/'+data.name'+'.gif'" align='"center'" valign='"middle'"/>'
+ ' </imageobject>'
+ ' </inlinemediaobject>'
+ ' </para>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd);
+
+ linkend=[]
+ linkend_name=[];
+ linkend_data=cell(7,1);
+ n=1;
+ if ~isempty(data.palette) then
+ linkend($+1)='Palette_'+data.name;
+ linkend_name($+1)='Palette';
+ linkend_data(n).entries=data.palette
+ n=n+1
+ end
+ if ~isempty(data.description) then
+ linkend($+1)='Description_'+data.name;
+ linkend_name($+1)='Description';
+ linkend_data(n).entries=data.description
+ n=n+1
+ end
+ if ~isempty(data.dialogbox) then
+ linkend($+1)='Dialogbox_'+data.name;
+ linkend_name($+1)='Boite de dialogue';
+ linkend_data(n).entries=data.dialogbox;
+ n=n+1
+ end
+ if ~isempty(data.example1) then
+ linkend($+1)='Example1_'+data.name;
+ linkend_name($+1)='Exemple 1';
+ linkend_data(n).entries=data.example1;
+ n=n+1
+ end
+ if ~isempty(data.example2) then
+ linkend($+1)='Example2_'+data.name;
+ linkend_name($+1)='Exemple 2';
+ linkend_data(n).entries=data.example2;
+ n=n+1
+ end
+ if ~isempty(data.example3) then
+ linkend($+1)='Example3_'+data.name;
+ linkend_name($+1)='Exemple 3';
+ linkend_data(n).entries=data.example3;
+ n=n+1
+ end
+ if ~isempty(data.seealso) then
+ linkend($+1)='Seealso_'+data.name;
+ linkend_name($+1)='Voir aussi';
+ linkend_data(n).entries=data.seealso;
+ n=n+1
+ end
+
+ towrite=[
+ '<refsection id='"Contents_'+data.name+''">'
+ ' <title>Contenu</title>'
+ ' <itemizedlist>'
+ ' <listitem>'
+ ' <para>'
+ ' <link linkend='"'+data.name'+''">'+data.smalldescription+'</link>'
+ ' </para>'
+ ' </listitem>'
+ ' <listitem>'
+ ' <itemizedlist>'
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)
+ towrite=[
+ ' <listitem>'
+ ' <para>'
+ ' <xref linkend='"'+linkend(i)+''">'+linkend_name(i)+'</xref>'
+ ' </para>'
+ ' </listitem>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ towrite=[
+ ' </itemizedlist>'
+ ' </listitem>'
+ ' </itemizedlist>'
+ '</refsection> '
+ ]
+ mputl(towrite,fd)
+
+ for i=1:size(linkend,1)-1
+ towrite=[
+ '<refsection id='"'+linkend(i)+''">'
+ ' <title>'+linkend_name(i)+'</title>'
+ // ' <itemizedlist>'
+ // ' <listitem>'
+ //' <para>'
+ linkend_data(i).entries
+ //' </para>'
+ //' </listitem>'
+ //' </itemizedlist>'
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+ end
+
+ //specific for see_also
+ towrite=[
+ '<refsection id='"'+linkend($)+''">'
+ ' <title>'+linkend_name(size(linkend,1))+'</title>'
+ ]
+ mputl(towrite,fd)
+
+ for j=1:size(linkend_data(size(linkend,1)).entries,'*')
+ towrite=[
+ ' <para>'
+ ' <link linkend='"'+linkend_data(size(linkend,1)).entries(j)+''">'+linkend_data(size(linkend,1)).entries(j)+'</link>'
+ ' </para>'
+ ]
+ mputl(towrite,fd)
+ end
+ towrite=[
+ '</refsection>'
+ ]
+ mputl(towrite,fd)
+
+
+towrite='</refentry>'
+mputl(towrite,fd)
+
+
+ mclose(fd);
+
+endfunction
+
+
+function create_xml(filename)
+ disp('Creation du fichier xml associé à '+filename)
+ data=read_file_doc(filename);
+ data=change_keyword(data);
+ write_xml(data);
+endfunction
+
+function create_all()
+ files=findfiles('./','*.tst')
+ for i=1:length(length(files))
+ if strindex(files(i),'~') ==[]
+ create_xml(files(i))
+ end
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/images/gif/ANALOG_READ_SB.gif b/scilab-arduino/tools/windows/images/gif/ANALOG_READ_SB.gif
new file mode 100644
index 0000000..00a75c6
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ANALOG_READ_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ANALOG_WRITE_SB.gif b/scilab-arduino/tools/windows/images/gif/ANALOG_WRITE_SB.gif
new file mode 100644
index 0000000..1da5d03
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ANALOG_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_ANALOG_READ.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_ANALOG_READ.gif
new file mode 100644
index 0000000..2a680b7
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_ANALOG_READ.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_ANALOG_WRITE.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_ANALOG_WRITE.gif
new file mode 100644
index 0000000..3cf3364
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_ANALOG_WRITE.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_DCMOTOR.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_DCMOTOR.gif
new file mode 100644
index 0000000..f873281
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_DCMOTOR.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_DIGITAL_READ.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_DIGITAL_READ.gif
new file mode 100644
index 0000000..d9dd4d1
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_DIGITAL_READ.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_DIGITAL_WRITE.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_DIGITAL_WRITE.gif
new file mode 100644
index 0000000..29a333a
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_DIGITAL_WRITE.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_ENCODER.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_ENCODER.gif
new file mode 100644
index 0000000..51603db
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_ENCODER.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_INTERRUPT.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_INTERRUPT.gif
new file mode 100644
index 0000000..f9540a0
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_INTERRUPT.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_SCOPE.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_SCOPE.gif
new file mode 100644
index 0000000..55d3ccd
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_SCOPE.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_SERVO_READ.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_SERVO_READ.gif
new file mode 100644
index 0000000..d6e584e
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_SERVO_READ.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_SERVO_WRITE.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_SERVO_WRITE.gif
new file mode 100644
index 0000000..f3e7195
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_SERVO_WRITE.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_SETUP.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_SETUP.gif
new file mode 100644
index 0000000..e2e8d42
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_SETUP.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_STEPPER.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_STEPPER.gif
new file mode 100644
index 0000000..7313733
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_STEPPER.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ARDUINO_WRITE.gif b/scilab-arduino/tools/windows/images/gif/ARDUINO_WRITE.gif
new file mode 100644
index 0000000..f9540a0
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ARDUINO_WRITE.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/DCMOTOR_SB.gif b/scilab-arduino/tools/windows/images/gif/DCMOTOR_SB.gif
new file mode 100644
index 0000000..c5cf0e6
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/DCMOTOR_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/DIGITAL_READ_SB.gif b/scilab-arduino/tools/windows/images/gif/DIGITAL_READ_SB.gif
new file mode 100644
index 0000000..39dea04
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/DIGITAL_READ_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/DIGITAL_WRITE_SB.gif b/scilab-arduino/tools/windows/images/gif/DIGITAL_WRITE_SB.gif
new file mode 100644
index 0000000..e47dca2
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/DIGITAL_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/ENCODER_SB.gif b/scilab-arduino/tools/windows/images/gif/ENCODER_SB.gif
new file mode 100644
index 0000000..6cbd55b
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/ENCODER_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/INTERRUPT_SB.gif b/scilab-arduino/tools/windows/images/gif/INTERRUPT_SB.gif
new file mode 100644
index 0000000..ec40a43
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/INTERRUPT_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/SERVO_READ_SB.gif b/scilab-arduino/tools/windows/images/gif/SERVO_READ_SB.gif
new file mode 100644
index 0000000..f9540a0
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/SERVO_READ_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/SERVO_WRITE_SB.gif b/scilab-arduino/tools/windows/images/gif/SERVO_WRITE_SB.gif
new file mode 100644
index 0000000..f04d9fe
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/SERVO_WRITE_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/STEPPER_SB.gif b/scilab-arduino/tools/windows/images/gif/STEPPER_SB.gif
new file mode 100644
index 0000000..e49a338
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/STEPPER_SB.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/gif/TIME_SAMPLE.gif b/scilab-arduino/tools/windows/images/gif/TIME_SAMPLE.gif
new file mode 100644
index 0000000..01837f0
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/gif/TIME_SAMPLE.gif
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ANALOG_READ_SB.sod b/scilab-arduino/tools/windows/images/h5/ANALOG_READ_SB.sod
new file mode 100644
index 0000000..73d7cf5
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ANALOG_READ_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ANALOG_WRITE_SB.sod b/scilab-arduino/tools/windows/images/h5/ANALOG_WRITE_SB.sod
new file mode 100644
index 0000000..f6d42f6
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ANALOG_WRITE_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_ANALOG_READ.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_ANALOG_READ.sod
new file mode 100644
index 0000000..daf7d21
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_ANALOG_READ.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_ANALOG_WRITE.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_ANALOG_WRITE.sod
new file mode 100644
index 0000000..cd356f4
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_ANALOG_WRITE.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_DCMOTOR.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_DCMOTOR.sod
new file mode 100644
index 0000000..9642a9a
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_DCMOTOR.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_DIGITAL_READ.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_DIGITAL_READ.sod
new file mode 100644
index 0000000..ab61f13
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_DIGITAL_READ.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_DIGITAL_WRITE.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_DIGITAL_WRITE.sod
new file mode 100644
index 0000000..7c1fc31
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_DIGITAL_WRITE.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_ENCODER.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_ENCODER.sod
new file mode 100644
index 0000000..dd4a324
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_ENCODER.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_INTERRUPT.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_INTERRUPT.sod
new file mode 100644
index 0000000..7e72ccb
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_INTERRUPT.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_SCOPE.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_SCOPE.sod
new file mode 100644
index 0000000..0713582
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_SCOPE.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_SERVO_READ.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_SERVO_READ.sod
new file mode 100644
index 0000000..bc473f2
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_SERVO_READ.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_SERVO_WRITE.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_SERVO_WRITE.sod
new file mode 100644
index 0000000..401292c
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_SERVO_WRITE.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_SETUP.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_SETUP.sod
new file mode 100644
index 0000000..38a11eb
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_SETUP.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ARDUINO_STEPPER.sod b/scilab-arduino/tools/windows/images/h5/ARDUINO_STEPPER.sod
new file mode 100644
index 0000000..6067bfe
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ARDUINO_STEPPER.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/DCMOTOR_SB.sod b/scilab-arduino/tools/windows/images/h5/DCMOTOR_SB.sod
new file mode 100644
index 0000000..2d6ff4a
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/DCMOTOR_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/DIGITAL_READ_SB.sod b/scilab-arduino/tools/windows/images/h5/DIGITAL_READ_SB.sod
new file mode 100644
index 0000000..f614636
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/DIGITAL_READ_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/DIGITAL_WRITE_SB.sod b/scilab-arduino/tools/windows/images/h5/DIGITAL_WRITE_SB.sod
new file mode 100644
index 0000000..54b6012
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/DIGITAL_WRITE_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/ENCODER_SB.sod b/scilab-arduino/tools/windows/images/h5/ENCODER_SB.sod
new file mode 100644
index 0000000..0ffd2a6
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/ENCODER_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/INTERRUPT_SB.sod b/scilab-arduino/tools/windows/images/h5/INTERRUPT_SB.sod
new file mode 100644
index 0000000..2a72b83
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/INTERRUPT_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/SERVO_READ_SB.sod b/scilab-arduino/tools/windows/images/h5/SERVO_READ_SB.sod
new file mode 100644
index 0000000..8d83cee
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/SERVO_READ_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/SERVO_WRITE_SB.sod b/scilab-arduino/tools/windows/images/h5/SERVO_WRITE_SB.sod
new file mode 100644
index 0000000..617d88f
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/SERVO_WRITE_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/STEPPER_SB.sod b/scilab-arduino/tools/windows/images/h5/STEPPER_SB.sod
new file mode 100644
index 0000000..5171f13
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/STEPPER_SB.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/h5/TIME_SAMPLE.sod b/scilab-arduino/tools/windows/images/h5/TIME_SAMPLE.sod
new file mode 100644
index 0000000..c3e1f2c
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/h5/TIME_SAMPLE.sod
Binary files differ
diff --git a/scilab-arduino/tools/windows/images/svg/ANALOG_READ_SB.svg b/scilab-arduino/tools/windows/images/svg/ANALOG_READ_SB.svg
new file mode 100644
index 0000000..b714955
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ANALOG_READ_SB.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="sinu.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3362" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="20" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="801" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g id="layer1_2_">
+
+ <path id="path8583_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M32.6,124.832c0,0,8.833-56.442,18.065-56.579C59.895,68.12,69.525,124.3,69.525,124.3"/>
+
+ <path id="path8585_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M69.494,124.607c0.002,0.014,7.83,56.432,18.062,56.578c8.232,0.119,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M106.389,124.832c0-0.008,8.331-56.438,18.064-56.579c8.729-0.125,18.856,56.041,18.857,56.047"/>
+
+ <path id="path8589_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M143.47,124.607c0,0,8.646,56.445,17.877,56.578c9.231,0.133,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M180.365,124.832c0.001-0.008,8.327-56.438,18.062-56.579c8.731-0.125,18.86,56.041,18.862,56.047"/>
+</g>
+<g id="layer1_1_">
+
+ <path id="path8583" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M28.059,120.037c0,0,8.833-56.446,18.065-56.579c9.229-0.132,18.857,56.047,18.857,56.047"/>
+
+ <path id="path8585" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M64.953,119.812c0.002,0.014,7.829,56.432,18.062,56.578c8.232,0.115,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M101.848,120.037c0.001-0.007,8.331-56.438,18.064-56.579c8.729-0.125,18.856,56.041,18.857,56.047"/>
+
+ <path id="path8589" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M138.929,119.812c0,0,8.646,56.441,17.877,56.578c9.231,0.134,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M175.823,120.037c0.001-0.007,8.327-56.438,18.062-56.579c8.732-0.125,18.861,56.041,18.862,56.047"/>
+</g>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.667z M182.025,213.259c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.558-1.494,4.475-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.017L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ANALOG_WRITE_SB.svg b/scilab-arduino/tools/windows/images/svg/ANALOG_WRITE_SB.svg
new file mode 100644
index 0000000..36ef087
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ANALOG_WRITE_SB.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="ARDUINO_ANALOG_WRITE.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3020" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="684.1331" cy="4135.2393" r="123.8445" gradientTransform="matrix(0.9548 0 0 0.9617 -547.2121 -3838.6248)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.586-113.767,114.586c-62.829,0-113.766-51.302-113.766-114.586c0-63.283,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.526,200.72
+ c3.86-0.122,5.383,1.335,7.376,3.312c0.457,0.452,0.931,0.945,1.438,1.476l1.478-1.587c1.328-1.507,3.682-2.919,5.218-3.091
+ c3.104-0.339,4.992-0.192,6.901,1.303c2.451,1.927,3.523,3.936,3.598,6.256c0.099,3.146-1.729,6.562-5.204,8.258
+ c-1.561,0.763-4.273,0.845-6.271,0.216c-2.823-1.185-4.032-2.596-5.671-4.783c-2.688,3.431-5.104,5.21-8.384,5.054
+ C145.07,216.563,146.046,200.996,156.526,200.72L156.526,200.72z M159.18,213.523c1.942-1.131,3.397-2.901,4.573-4.646
+ c-1.188-1.987-3.537-4.521-5.533-5.019c-1.558-0.349-4.045,0.249-5.163,1.244c-1.491,1.328-2.115,4.057-1.221,5.9
+ C153.069,213.554,156.709,214.674,159.18,213.523L159.18,213.523z M154.407,207.938l5.25,0.009v1.938l-5.261,0.009L154.407,207.938z
+ M175.945,213.703c1.752-0.598,3.279-2.678,3.572-4.413c0.277-1.645-1.126-4.018-2.98-4.979c-2.025-1.05-4.609-0.774-6.731,1.165
+ c-1.05,0.96-2.642,3-2.642,3.442c0,0.454,2.16,3.226,3.162,3.979C171.989,214.156,174.386,214.234,175.945,213.703z
+ M172.814,209.898l-1.742-0.013l-0.003-1.949l1.747,0.004v-1.731l1.773-0.013l-0.01,1.751l1.735,0.006v1.865l-1.636-0.012v1.793
+ h-1.866L172.814,209.898L172.814,209.898z"/>
+<path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.232,199.256
+ c3.86-0.123,5.379,1.335,7.376,3.313c0.456,0.452,0.931,0.945,1.438,1.476l1.477-1.587c1.329-1.507,3.721-2.701,5.24-2.97
+ c2.549-0.45,4.754-0.149,6.88,1.182c2.645,1.652,3.426,3.936,3.498,6.252c0.101,3.148-1.63,6.562-5.104,8.262
+ c-1.561,0.763-4.273,0.845-6.271,0.216c-2.824-1.188-4.032-2.596-5.671-4.783c-2.688,3.431-5.104,5.194-8.384,5.054
+ C144.435,215.14,145.474,199.359,156.232,199.256L156.232,199.256z M158.886,212.058c1.941-1.135,3.397-2.901,4.573-4.646
+ c-1.188-1.991-3.537-4.521-5.533-5.019c-1.558-0.352-4.045,0.248-5.163,1.244c-1.491,1.326-2.115,4.056-1.221,5.9
+ C152.774,212.09,156.415,213.209,158.886,212.058z M154.114,206.473l5.25,0.009v1.937l-5.259,0.012L154.114,206.473z
+ M175.651,212.237c4.106-1.912,4.518-7.147,0.592-9.393c-2.026-1.053-4.61-0.774-6.732,1.162c-1.049,0.959-2.642,3-2.642,3.445
+ c0,0.454,2.158,3.226,3.16,3.979C171.695,212.691,174.158,212.932,175.651,212.237z M172.52,208.432l-1.742-0.015l-0.003-1.946
+ l1.747,0.004v-1.732l1.773-0.012l-0.01,1.75l1.734,0.007v1.865l-1.635-0.015v1.795h-1.866L172.52,208.432L172.52,208.432z"/>
+<g id="layer1_2_">
+
+ <path id="path8583_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M32.6,124.832c0,0,8.833-56.443,18.065-56.579C59.895,68.12,69.525,124.3,69.525,124.3"/>
+
+ <path id="path8585_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M69.494,124.607c0.002,0.014,7.83,56.432,18.062,56.578c8.232,0.119,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M106.389,124.832c0-0.008,8.331-56.438,18.064-56.579c8.729-0.125,18.857,56.041,18.858,56.047"/>
+
+ <path id="path8589_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M143.47,124.607c0,0,8.646,56.445,17.877,56.578c9.231,0.133,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M180.365,124.832c0.001-0.008,8.328-56.438,18.062-56.579c8.731-0.125,18.86,56.041,18.862,56.047"/>
+</g>
+<g id="layer1_1_">
+
+ <path id="path8583" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M28.059,120.037c0,0,8.833-56.446,18.065-56.579c9.229-0.132,18.858,56.047,18.858,56.047"/>
+
+ <path id="path8585" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M64.953,119.812c0.002,0.014,7.829,56.432,18.062,56.578c8.232,0.116,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M101.848,120.037c0.001-0.007,8.331-56.438,18.064-56.579c8.729-0.125,18.857,56.041,18.858,56.047"/>
+
+ <path id="path8589" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M138.929,119.812c0,0,8.646,56.442,17.877,56.578c9.231,0.134,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M175.823,120.037c0.001-0.007,8.328-56.438,18.062-56.579c8.732-0.125,18.861,56.041,18.862,56.047"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_ANALOG_READ.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_ANALOG_READ.svg
new file mode 100644
index 0000000..b714955
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_ANALOG_READ.svg
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="sinu.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3362" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="20" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="801" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g id="layer1_2_">
+
+ <path id="path8583_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M32.6,124.832c0,0,8.833-56.442,18.065-56.579C59.895,68.12,69.525,124.3,69.525,124.3"/>
+
+ <path id="path8585_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M69.494,124.607c0.002,0.014,7.83,56.432,18.062,56.578c8.232,0.119,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M106.389,124.832c0-0.008,8.331-56.438,18.064-56.579c8.729-0.125,18.856,56.041,18.857,56.047"/>
+
+ <path id="path8589_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M143.47,124.607c0,0,8.646,56.445,17.877,56.578c9.231,0.133,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591_1_" fill="none" stroke="#000000" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M180.365,124.832c0.001-0.008,8.327-56.438,18.062-56.579c8.731-0.125,18.86,56.041,18.862,56.047"/>
+</g>
+<g id="layer1_1_">
+
+ <path id="path8583" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M28.059,120.037c0,0,8.833-56.446,18.065-56.579c9.229-0.132,18.857,56.047,18.857,56.047"/>
+
+ <path id="path8585" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M64.953,119.812c0.002,0.014,7.829,56.432,18.062,56.578c8.232,0.115,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M101.848,120.037c0.001-0.007,8.331-56.438,18.064-56.579c8.729-0.125,18.856,56.041,18.857,56.047"/>
+
+ <path id="path8589" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M138.929,119.812c0,0,8.646,56.441,17.877,56.578c9.231,0.134,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M175.823,120.037c0.001-0.007,8.327-56.438,18.062-56.579c8.732-0.125,18.861,56.041,18.862,56.047"/>
+</g>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.667z M182.025,213.259c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.558-1.494,4.475-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.017L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_ANALOG_WRITE.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_ANALOG_WRITE.svg
new file mode 100644
index 0000000..36ef087
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_ANALOG_WRITE.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="ARDUINO_ANALOG_WRITE.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3020" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="684.1331" cy="4135.2393" r="123.8445" gradientTransform="matrix(0.9548 0 0 0.9617 -547.2121 -3838.6248)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.586-113.767,114.586c-62.829,0-113.766-51.302-113.766-114.586c0-63.283,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.526,200.72
+ c3.86-0.122,5.383,1.335,7.376,3.312c0.457,0.452,0.931,0.945,1.438,1.476l1.478-1.587c1.328-1.507,3.682-2.919,5.218-3.091
+ c3.104-0.339,4.992-0.192,6.901,1.303c2.451,1.927,3.523,3.936,3.598,6.256c0.099,3.146-1.729,6.562-5.204,8.258
+ c-1.561,0.763-4.273,0.845-6.271,0.216c-2.823-1.185-4.032-2.596-5.671-4.783c-2.688,3.431-5.104,5.21-8.384,5.054
+ C145.07,216.563,146.046,200.996,156.526,200.72L156.526,200.72z M159.18,213.523c1.942-1.131,3.397-2.901,4.573-4.646
+ c-1.188-1.987-3.537-4.521-5.533-5.019c-1.558-0.349-4.045,0.249-5.163,1.244c-1.491,1.328-2.115,4.057-1.221,5.9
+ C153.069,213.554,156.709,214.674,159.18,213.523L159.18,213.523z M154.407,207.938l5.25,0.009v1.938l-5.261,0.009L154.407,207.938z
+ M175.945,213.703c1.752-0.598,3.279-2.678,3.572-4.413c0.277-1.645-1.126-4.018-2.98-4.979c-2.025-1.05-4.609-0.774-6.731,1.165
+ c-1.05,0.96-2.642,3-2.642,3.442c0,0.454,2.16,3.226,3.162,3.979C171.989,214.156,174.386,214.234,175.945,213.703z
+ M172.814,209.898l-1.742-0.013l-0.003-1.949l1.747,0.004v-1.731l1.773-0.013l-0.01,1.751l1.735,0.006v1.865l-1.636-0.012v1.793
+ h-1.866L172.814,209.898L172.814,209.898z"/>
+<path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.232,199.256
+ c3.86-0.123,5.379,1.335,7.376,3.313c0.456,0.452,0.931,0.945,1.438,1.476l1.477-1.587c1.329-1.507,3.721-2.701,5.24-2.97
+ c2.549-0.45,4.754-0.149,6.88,1.182c2.645,1.652,3.426,3.936,3.498,6.252c0.101,3.148-1.63,6.562-5.104,8.262
+ c-1.561,0.763-4.273,0.845-6.271,0.216c-2.824-1.188-4.032-2.596-5.671-4.783c-2.688,3.431-5.104,5.194-8.384,5.054
+ C144.435,215.14,145.474,199.359,156.232,199.256L156.232,199.256z M158.886,212.058c1.941-1.135,3.397-2.901,4.573-4.646
+ c-1.188-1.991-3.537-4.521-5.533-5.019c-1.558-0.352-4.045,0.248-5.163,1.244c-1.491,1.326-2.115,4.056-1.221,5.9
+ C152.774,212.09,156.415,213.209,158.886,212.058z M154.114,206.473l5.25,0.009v1.937l-5.259,0.012L154.114,206.473z
+ M175.651,212.237c4.106-1.912,4.518-7.147,0.592-9.393c-2.026-1.053-4.61-0.774-6.732,1.162c-1.049,0.959-2.642,3-2.642,3.445
+ c0,0.454,2.158,3.226,3.16,3.979C171.695,212.691,174.158,212.932,175.651,212.237z M172.52,208.432l-1.742-0.015l-0.003-1.946
+ l1.747,0.004v-1.732l1.773-0.012l-0.01,1.75l1.734,0.007v1.865l-1.635-0.015v1.795h-1.866L172.52,208.432L172.52,208.432z"/>
+<g id="layer1_2_">
+
+ <path id="path8583_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M32.6,124.832c0,0,8.833-56.443,18.065-56.579C59.895,68.12,69.525,124.3,69.525,124.3"/>
+
+ <path id="path8585_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M69.494,124.607c0.002,0.014,7.83,56.432,18.062,56.578c8.232,0.119,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M106.389,124.832c0-0.008,8.331-56.438,18.064-56.579c8.729-0.125,18.857,56.041,18.858,56.047"/>
+
+ <path id="path8589_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M143.47,124.607c0,0,8.646,56.445,17.877,56.578c9.231,0.133,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591_1_" fill="none" stroke="#000000" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M180.365,124.832c0.001-0.008,8.328-56.438,18.062-56.579c8.731-0.125,18.86,56.041,18.862,56.047"/>
+</g>
+<g id="layer1_1_">
+
+ <path id="path8583" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M28.059,120.037c0,0,8.833-56.446,18.065-56.579c9.229-0.132,18.858,56.047,18.858,56.047"/>
+
+ <path id="path8585" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M64.953,119.812c0.002,0.014,7.829,56.432,18.062,56.578c8.232,0.116,18.859-56.032,18.862-56.046"/>
+
+ <path id="path8587" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M101.848,120.037c0.001-0.007,8.331-56.438,18.064-56.579c8.729-0.125,18.857,56.041,18.858,56.047"/>
+
+ <path id="path8589" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M138.929,119.812c0,0,8.646,56.442,17.877,56.578c9.231,0.134,19.05-56.046,19.05-56.046"/>
+
+ <path id="path8591" fill="none" stroke="#FFFFFF" stroke-width="15" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d="
+ M175.823,120.037c0.001-0.007,8.328-56.438,18.062-56.579c8.732-0.125,18.861,56.041,18.862,56.047"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_DCMOTOR.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_DCMOTOR.svg
new file mode 100644
index 0000000..0b18a66
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_DCMOTOR.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="motor.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3311" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="727.2932" cy="-4255.2822" r="123.844" gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.928,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+<g id="Calque_3">
+ <g id="layer1_4_" transform="translate(195.5,-49.005039)" opacity="0.13">
+ <g id="g3226_1_" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204_1_" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="5" d="M-102.688,377.755
+ c1.967,1.444,12.033,9.488,14.345,11.459c13.317,11.365,21.559,20.808,23.761,27.22c0.35,1.027,0.59,2.077,0.602,2.701
+ c0.028,1.219-0.168,1.427-1.783,1.829c-0.851,0.212-1.511,0.215-3.039,0.036c-1.076-0.136-2.672-0.448-3.546-0.701
+ c-6.2-1.809-14.908-6.561-25.166-13.735c-8.446-5.908-21.111-16.008-27.839-22.199c-11.516-10.609-17.945-19.183-18.074-24.119
+ c-0.037-1.356,0.37-1.856,1.75-2.153c2.922-0.632,8.572,0.909,14.72,4.004C-119.797,365.716-113.785,369.593-102.688,377.755
+ L-102.688,377.755z"/>
+ <path id="path3380" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" d="M-109.393,396.757
+ c-4.113-3.214-6.896-6.517-6.219-7.38l21.165-27.089c0.677-0.869,4.558,1.038,8.669,4.25l0,0c4.11,3.213,6.895,6.518,6.22,7.382
+ l-21.164,27.092C-101.401,401.873-105.281,399.97-109.393,396.757L-109.393,396.757z"/>
+ <path id="path3192_1_" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" d="
+ M-63.435,420.949c0.297-0.099-17.771,23.066-40.144,51.484c-40.117,50.95-40.694,51.663-41.773,51.838
+ c-3.685,0.583-12.058-3.032-22.299-9.632c-6.962-4.488-11.416-7.725-21.402-15.564c-15.823-12.419-24.813-20.765-30.445-28.266
+ c-2.276-3.03-4.037-6.903-3.752-8.246c0.141-0.655,11.982-15.847,40.704-52.216l40.503-51.289l0.351,1.34
+ c1.992,7.694,15.527,21.534,37.375,38.223c17.573,13.421,29.415,20.361,37.411,21.928
+ C-65.296,420.866-63.727,421.045-63.435,420.949L-63.435,420.949z"/>
+ </g>
+ </g>
+</g>
+<g id="layer1_3_" transform="translate(195.5,-49.005039)">
+ <g id="g3226" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204" fill="#E1E0E1" stroke="#000000" stroke-width="5" d="M-105.446,377.134
+ c1.97,1.444,12.031,9.487,14.346,11.459c13.318,11.363,21.557,20.804,23.759,27.22c0.353,1.028,0.591,2.079,0.603,2.702
+ c0.032,1.221-0.169,1.43-1.78,1.831c-0.85,0.216-1.51,0.218-3.038,0.039c-1.078-0.132-2.673-0.445-3.547-0.701
+ c-6.201-1.809-14.908-6.561-25.165-13.736c-8.445-5.908-21.112-16.007-27.839-22.199c-11.517-10.604-17.946-19.182-18.076-24.117
+ c-0.034-1.357,0.371-1.855,1.75-2.154c2.922-0.632,8.574,0.909,14.721,4.005C-122.552,365.093-116.541,368.971-105.446,377.134
+ L-105.446,377.134z"/>
+ <path id="path3308" fill="#E1E0E1" stroke="#000000" stroke-width="4" stroke-linecap="round" d="M-89.091,367.17
+ c4.114,3.214,6.896,6.518,6.222,7.382l-21.165,27.089c-0.678,0.867-4.558-1.036-8.668-4.249l0,0
+ c-4.112-3.212-6.898-6.516-6.22-7.383l21.165-27.089C-97.083,362.056-93.202,363.957-89.091,367.17L-89.091,367.17z"/>
+ <path id="path3192" fill="#FFFFFF" stroke="#000000" stroke-width="5" d="M-68.671,422.327
+ c0.296-0.101-17.771,23.068-40.144,51.484c-40.118,50.948-40.697,51.663-41.772,51.837c-3.682,0.584-12.056-3.031-22.298-9.631
+ c-6.961-4.486-11.418-7.725-21.405-15.566c-15.823-12.418-24.814-20.765-30.446-28.267c-2.275-3.029-4.037-6.903-3.75-8.245
+ c0.142-0.655,11.982-15.847,40.701-52.217l40.506-51.29l0.351,1.344c1.991,7.692,15.527,21.532,37.376,38.222
+ c17.571,13.42,29.413,20.362,37.408,21.93C-70.53,422.244-68.963,422.422-68.671,422.327L-68.671,422.327z"/>
+ </g>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_DIGITAL_READ.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_DIGITAL_READ.svg
new file mode 100644
index 0000000..720a675
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_DIGITAL_READ.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="digital.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3284" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<polyline id="polyline3280" fill="none" stroke="#000000" stroke-width="17" stroke-linecap="square" points="55.858,175.39
+ 55.485,53.987 101.083,53.987 100.749,175.39 121.749,175.39 121.749,53.366 145.082,53.366 145.082,175.08 164.082,174.927
+ 164.226,53.057 180.416,53.057 181.082,175.39 "/>
+<polyline id="polyline3282" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="square" points="55.858,174.724
+ 55.485,53.32 101.083,53.32 100.749,174.724 121.749,174.724 121.749,52.7 145.082,52.7 145.082,174.414 164.082,174.26
+ 164.226,52.39 180.416,52.39 181.082,174.724 "/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.16
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.024,142.65,196.523,156.451,196.16L156.451,196.16z M159.947,213.021c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.062,156.693,214.536,159.947,213.021L159.947,213.021z M153.661,205.666l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.666z M182.025,213.258c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.854,179.972,213.957,182.025,213.258z M177.902,208.247l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.247L177.902,208.247z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.231
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.15,141.897,194.368,156.064,194.231L156.064,194.231z M159.56,211.092c2.558-1.493,4.475-3.82,6.022-6.117
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.133,156.306,212.606,159.56,211.092z M153.275,203.737l6.913,0.011v2.551l-6.925,0.017L153.275,203.737z
+ M181.638,211.327c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.926,179.672,212.243,181.638,211.327z
+ M177.514,206.316l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.316L177.514,206.316z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_DIGITAL_WRITE.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_DIGITAL_WRITE.svg
new file mode 100644
index 0000000..720a675
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_DIGITAL_WRITE.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="digital.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3284" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<polyline id="polyline3280" fill="none" stroke="#000000" stroke-width="17" stroke-linecap="square" points="55.858,175.39
+ 55.485,53.987 101.083,53.987 100.749,175.39 121.749,175.39 121.749,53.366 145.082,53.366 145.082,175.08 164.082,174.927
+ 164.226,53.057 180.416,53.057 181.082,175.39 "/>
+<polyline id="polyline3282" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="square" points="55.858,174.724
+ 55.485,53.32 101.083,53.32 100.749,174.724 121.749,174.724 121.749,52.7 145.082,52.7 145.082,174.414 164.082,174.26
+ 164.226,52.39 180.416,52.39 181.082,174.724 "/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.16
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.024,142.65,196.523,156.451,196.16L156.451,196.16z M159.947,213.021c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.062,156.693,214.536,159.947,213.021L159.947,213.021z M153.661,205.666l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.666z M182.025,213.258c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.854,179.972,213.957,182.025,213.258z M177.902,208.247l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.247L177.902,208.247z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.231
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.15,141.897,194.368,156.064,194.231L156.064,194.231z M159.56,211.092c2.558-1.493,4.475-3.82,6.022-6.117
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.133,156.306,212.606,159.56,211.092z M153.275,203.737l6.913,0.011v2.551l-6.925,0.017L153.275,203.737z
+ M181.638,211.327c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.926,179.672,212.243,181.638,211.327z
+ M177.514,206.316l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.316L177.514,206.316z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_ENCODER.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_ENCODER.svg
new file mode 100644
index 0000000..e3ce332
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_ENCODER.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Calque_2"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="ARDUINO_ENCODER.svg"
+ x="0px"
+ y="0px"
+ width="236.499px"
+ height="247.781px"
+ viewBox="0 0 236.499 247.781"
+ enable-background="new 0 0 236.499 247.781"
+ xml:space="preserve"><metadata
+ id="metadata28"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs26" />
+<sodipodi:namedview
+ id="namedview3391"
+ inkscape:window-maximized="1"
+ inkscape:cy="123.8905"
+ showgrid="false"
+ inkscape:current-layer="Calque_2"
+ inkscape:window-y="-8"
+ bordercolor="#666666"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.95245396"
+ inkscape:cx="118.2495"
+ pagecolor="#ffffff"
+ borderopacity="1"
+ inkscape:pageopacity="0"
+ inkscape:window-width="1280"
+ inkscape:window-height="962"
+ inkscape:window-x="-8"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient
+ id="path3868_1_"
+ cx="727.2932"
+ cy="-4255.2822"
+ r="123.844"
+ gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#36BAC0"
+ id="stop5" />
+ <stop
+ offset="1"
+ style="stop-color:#2D9094"
+ id="stop7" />
+</radialGradient>
+<path
+ id="path3868"
+ fill="url(#path3868_1_)"
+ stroke="#02797E"
+ stroke-width="9.392"
+ stroke-linejoin="round"
+ d="M232.028,124.092 c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507 C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z" />
+<g
+ id="g10">
+ <path
+ id="path3086-5"
+ opacity="0.1681"
+ stroke="#000000"
+ enable-background="new "
+ d="M156.451,196.161 c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067 c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875 c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655 C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118 c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771 C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012 L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557 c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241 C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02 l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z" />
+ <path
+ id="path3086"
+ fill="#FFFFFF"
+ stroke="#FFFFFF"
+ stroke-width="0.5"
+ stroke-opacity="0.7037"
+ d="M156.064,194.232 c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911 c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88 c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655 C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118 c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771 C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53 c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363 h-2.458L177.514,206.317L177.514,206.317z" />
+</g>
+
+
+
+<path
+ sodipodi:type="arc"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path3806"
+ sodipodi:cx="124.94042"
+ sodipodi:cy="121.79066"
+ sodipodi:rx="60.895332"
+ sodipodi:ry="59.845413"
+ d="m 185.83575,121.79066 a 60.895332,59.845413 0 1 1 -121.79066,0 60.895332,59.845413 0 1 1 121.79066,0 z"
+ transform="matrix(1.1442345,0,0,1.137993,-22.745355,-17.856182)" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.46987009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 74.026715,117.05862 0,-33.146489 32.934425,0 0.74851,32.710359 30.6889,0 -0.74851,-33.146499 22.45528,0"
+ id="path3005"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.47698736;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 67.983263,157.82901 20.948654,0 0,-31.05027 32.789193,0 0,32.02059 32.7892,0 0,-32.02059 20.03784,0"
+ id="path3804"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" /></svg> \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_INTERRUPT.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_INTERRUPT.svg
new file mode 100644
index 0000000..e3ce332
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_INTERRUPT.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Calque_2"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="ARDUINO_ENCODER.svg"
+ x="0px"
+ y="0px"
+ width="236.499px"
+ height="247.781px"
+ viewBox="0 0 236.499 247.781"
+ enable-background="new 0 0 236.499 247.781"
+ xml:space="preserve"><metadata
+ id="metadata28"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs26" />
+<sodipodi:namedview
+ id="namedview3391"
+ inkscape:window-maximized="1"
+ inkscape:cy="123.8905"
+ showgrid="false"
+ inkscape:current-layer="Calque_2"
+ inkscape:window-y="-8"
+ bordercolor="#666666"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.95245396"
+ inkscape:cx="118.2495"
+ pagecolor="#ffffff"
+ borderopacity="1"
+ inkscape:pageopacity="0"
+ inkscape:window-width="1280"
+ inkscape:window-height="962"
+ inkscape:window-x="-8"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient
+ id="path3868_1_"
+ cx="727.2932"
+ cy="-4255.2822"
+ r="123.844"
+ gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#36BAC0"
+ id="stop5" />
+ <stop
+ offset="1"
+ style="stop-color:#2D9094"
+ id="stop7" />
+</radialGradient>
+<path
+ id="path3868"
+ fill="url(#path3868_1_)"
+ stroke="#02797E"
+ stroke-width="9.392"
+ stroke-linejoin="round"
+ d="M232.028,124.092 c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507 C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z" />
+<g
+ id="g10">
+ <path
+ id="path3086-5"
+ opacity="0.1681"
+ stroke="#000000"
+ enable-background="new "
+ d="M156.451,196.161 c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067 c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875 c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655 C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118 c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771 C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012 L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557 c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241 C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02 l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z" />
+ <path
+ id="path3086"
+ fill="#FFFFFF"
+ stroke="#FFFFFF"
+ stroke-width="0.5"
+ stroke-opacity="0.7037"
+ d="M156.064,194.232 c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911 c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88 c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655 C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118 c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771 C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53 c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363 h-2.458L177.514,206.317L177.514,206.317z" />
+</g>
+
+
+
+<path
+ sodipodi:type="arc"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path3806"
+ sodipodi:cx="124.94042"
+ sodipodi:cy="121.79066"
+ sodipodi:rx="60.895332"
+ sodipodi:ry="59.845413"
+ d="m 185.83575,121.79066 a 60.895332,59.845413 0 1 1 -121.79066,0 60.895332,59.845413 0 1 1 121.79066,0 z"
+ transform="matrix(1.1442345,0,0,1.137993,-22.745355,-17.856182)" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.46987009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 74.026715,117.05862 0,-33.146489 32.934425,0 0.74851,32.710359 30.6889,0 -0.74851,-33.146499 22.45528,0"
+ id="path3005"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.47698736;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 67.983263,157.82901 20.948654,0 0,-31.05027 32.789193,0 0,32.02059 32.7892,0 0,-32.02059 20.03784,0"
+ id="path3804"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" /></svg> \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_SCOPE.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_SCOPE.svg
new file mode 100644
index 0000000..bd06723
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_SCOPE.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg id="svg11300" xmlns="http://www.w3.org/2000/svg" height="44.822" width="41.062" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <title id="title3289">base scilan</title>
+ <defs id="defs3">
+ <radialGradient id="radialGradient20899" gradientUnits="userSpaceOnUse" cy="32.267" cx="23.994" gradientTransform="matrix(2.2986117,0,0,1.8027614,-75.446386,-24.554065)" r="19.089">
+ <stop id="stop2224" stop-color="#5187d6" offset="0"/>
+ <stop id="stop2227" stop-color="#1e4580" offset="1"/>
+ </radialGradient>
+ <linearGradient id="linearGradient2854" y2="24.238" gradientUnits="userSpaceOnUse" x2="12.499" gradientTransform="matrix(0,-5.2061514,2.5688251,0,-79.265723,164.6207)" y1="12.538" x1="8.8208">
+ <stop id="stop2182" stop-color="#FFF" offset="0"/>
+ <stop id="stop2184" stop-color="#FFF" stop-opacity="0" offset="1"/>
+ </linearGradient>
+ </defs>
+ <g id="layer1" transform="translate(-2.8842799e-7,-3.1783548)">
+ <g id="layer1-0" transform="matrix(0,0.68137179,-0.68137179,0,39.302853,7.826163)">
+ <g id="g9544" transform="translate(-2.0023665,2.2530854)">
+ <g id="g9570" transform="translate(0.34662852,-1.7289484)">
+ <g id="g28489" transform="translate(2.3098495,0.12996954)">
+ <g id="g20882" transform="translate(51.47752,-82.884097)">
+ <rect id="rect1314" stroke-linejoin="round" style="stroke-dasharray:none;" transform="matrix(0,-0.99999997,0.99999997,0,-49.042742,89.574337)" fill-rule="evenodd" stroke-dashoffset="0" rx="2.2025" ry="2.2025" height="37.631" width="48.319" stroke="#173562" stroke-linecap="round" stroke-miterlimit="4" y="2.4454" x="-44.453" stroke-width="1.4676" fill="url(#radialGradient20899)"/>
+ <path id="path28138" stroke-linejoin="round" d="M8.6382,35.758c27.557-0.173,27.904-0.173,27.904-0.173l0.17331-33.97" transform="translate(-49.042742,89.574337)" stroke="#000" stroke-linecap="round" stroke-width="1.46762753px" fill="none"/>
+ <path id="rect2178" opacity="0.43181817" d="m-45.868,133.4,12.954,0c1.0099-5.0153,1.5849-10.576,1.5849-16.442,0-12.211-2.4433-23.147-6.2788-30.45h-8.2599v46.892z" fill-rule="evenodd" fill="url(#linearGradient2854)"/>
+ <path id="path18808" stroke-linejoin="round" style="stroke-dasharray:none;" d="m-27.782,121.73-0.57149-0.2893-0.56662-0.28848-0.55952-0.28909-0.55222-0.2893-1.0738-0.57777-0.51996-0.2893-0.50637-0.28828-0.49217-0.28929-0.47533-0.28849-0.4597-0.28929-0.44064-0.2893-0.42156-0.28909-0.40027-0.28848-0.37957-0.2893-0.35726-0.28929-0.33372-0.28848-0.30979-0.2893-0.28524-0.28828-0.25927-0.28929-0.2329-0.2893-0.20612-0.28848-0.17913-0.2893-0.15053-0.28909-0.12274-0.28848-0.09433-0.28929-0.06513-0.2893-0.03713-0.28848-0.0071-0.2893,0.0213-0.28909,0.05072-0.28848,0.07932-0.2893,0.10772-0.28929,0.13633-0.28848,0.16473-0.2891,0.19192-0.28929,0.2195-0.28849,0.24568-0.28929,0.27185-0.28929,0.29619-0.28849,0.32175-0.28909,0.34569-0.28929,0.36761-0.28849,0.39073-0.28929,0.41041-0.28909,0.4311-0.28849,0.44936-0.2893,0.46762-0.28929,0.48344-0.28848,0.49927-0.2893,0.51267-0.28828,0.52623-0.28929,0.5372-0.2893,0.54674-0.28929,0.55566-0.28849,0.56338-0.28909,0.56905-0.28848,0.57291-0.28929,0.57616-0.2893,0.57758-0.28848,0.57778-0.2893,0.57696-0.28909,0.57291-0.28848,0.56905-0.2893,0.56337-0.28929,0.55628-0.28849,0.54775-0.2891,0.53721-0.28929,0.52625-0.28848,0.51347-0.2893,0.49927-0.28929,0.48486-0.28849,0.46762-0.28909,0.45017-0.28929,0.43191-0.28849,0.41122-0.28929,0.39073-0.2893,0.36923-0.28827,0.34549-0.2893,0.32257-0.28848,0.29802-0.2893,0.27266-0.28929,0.24649-0.28909,0.22032-0.28849,0.19334-0.28929,0.16473-0.2893,0.13795-0.28848,0.10854-0.28909,0.08075-0.28849,0.05152-0.28929,0.02229-0.28929-0.0065-0.2893-0.03551-0.28849-0.06431-0.28908-0.09352-0.28849-0.12111-0.2893-0.15073-0.28929" stroke="#ef2929" stroke-linecap="round" stroke-miterlimit="4" stroke-width="2.93525505" fill="none"/>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_SERVO_READ.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_SERVO_READ.svg
new file mode 100644
index 0000000..960d74f
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_SERVO_READ.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="servo.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3335" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="794.6584" cy="1277.4519" r="123.8436" gradientTransform="matrix(0.9548 0 0 0.9617 -652.7419 -1090.29)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.936,114.589-113.766,114.589S4.496,187.376,4.496,124.092C4.496,60.81,55.432,9.507,118.262,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<radialGradient id="path3254_1_" cx="3142.0452" cy="9988.082" r="125.9599" gradientTransform="matrix(0.3699 0 0 0.1167 -1040.6821 -976.3671)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</radialGradient>
+<path id="path3254" opacity="0.4091" fill="url(#path3254_1_)" enable-background="new " d="M198.128,189.063
+ c0.015,13.333-34.259,24.146-76.545,24.146c-42.293,0.007-76.583-10.8-76.59-24.134v-0.012
+ c-0.016-13.334,34.261-24.148,76.547-24.148c42.285-0.006,76.584,10.807,76.588,24.14V189.063L198.128,189.063z"/>
+<path id="path3243" fill="#FFFFFF" stroke="#000000" stroke-width="4" d="M115.122,34.415c-1.796,0.124-3.535,0.408-5.302,0.607
+ h-0.125l-4.217,23.023c-6.874,1.562-13.346,4.226-19.16,7.827L67.394,52.257c-5.115,3.972-9.771,8.603-13.855,13.618L66.67,85.04
+ c-3.988,6.103-6.986,13.062-8.676,20.367c0,0.037,0,0.112,0,0.121l-22.9,3.617c-0.42,3.418-0.599,6.949-0.599,10.482
+ c0,2.894,0.071,5.74,0.356,8.554l22.901,4.098c1.628,7.954,4.716,15.386,9.042,21.938L53.17,172.905
+ c3.898,4.844,8.399,9.252,13.259,13.135l19.285-13.258c6.744,4.297,14.261,7.312,22.417,8.792l3.616,22.784
+ c2.569,0.235,5.209,0.242,7.834,0.242c3.712,0,7.262-0.139,10.85-0.604l4.34-23.267c7.738-1.918,15.008-5.264,21.334-9.759
+ l18.562,13.5c4.809-4.102,9.212-8.809,13.017-13.856l-13.502-19.535c3.654-6.31,6.189-13.274,7.479-20.727l22.774-3.614
+ c0.197-2.373,0.242-4.682,0.242-7.109c0-4.217-0.489-8.358-1.084-12.417l-23.142-4.219c-1.814-6.69-4.786-12.946-8.562-18.558
+ l13.616-18.687c-4.215-5.166-9.031-9.931-14.338-13.981l-19.646,13.5c-5.648-3.337-11.725-5.901-18.317-7.353l-3.613-22.896
+ c-3.296-0.383-6.615-0.606-10.009-0.606c-0.916,0-1.856-0.021-2.77,0c-0.445,0.021-0.886-0.021-1.325,0
+ C115.362,34.427,115.239,34.415,115.122,34.415z M117.762,83.816c0.594-0.034,1.192,0,1.793,0c19.342,0,35.128,15.778,35.128,35.115
+ c0,19.335-15.786,34.957-35.128,34.957c-19.336,0-34.956-15.621-34.956-34.957C84.599,100.199,99.262,84.754,117.762,83.816z"/>
+<circle id="circle3333" fill="#FFFFFF" stroke="#000000" stroke-width="4" cx="120.348" cy="118.417" r="15.886"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_SERVO_WRITE.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_SERVO_WRITE.svg
new file mode 100644
index 0000000..960d74f
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_SERVO_WRITE.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="servo.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3335" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="794.6584" cy="1277.4519" r="123.8436" gradientTransform="matrix(0.9548 0 0 0.9617 -652.7419 -1090.29)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.936,114.589-113.766,114.589S4.496,187.376,4.496,124.092C4.496,60.81,55.432,9.507,118.262,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<radialGradient id="path3254_1_" cx="3142.0452" cy="9988.082" r="125.9599" gradientTransform="matrix(0.3699 0 0 0.1167 -1040.6821 -976.3671)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</radialGradient>
+<path id="path3254" opacity="0.4091" fill="url(#path3254_1_)" enable-background="new " d="M198.128,189.063
+ c0.015,13.333-34.259,24.146-76.545,24.146c-42.293,0.007-76.583-10.8-76.59-24.134v-0.012
+ c-0.016-13.334,34.261-24.148,76.547-24.148c42.285-0.006,76.584,10.807,76.588,24.14V189.063L198.128,189.063z"/>
+<path id="path3243" fill="#FFFFFF" stroke="#000000" stroke-width="4" d="M115.122,34.415c-1.796,0.124-3.535,0.408-5.302,0.607
+ h-0.125l-4.217,23.023c-6.874,1.562-13.346,4.226-19.16,7.827L67.394,52.257c-5.115,3.972-9.771,8.603-13.855,13.618L66.67,85.04
+ c-3.988,6.103-6.986,13.062-8.676,20.367c0,0.037,0,0.112,0,0.121l-22.9,3.617c-0.42,3.418-0.599,6.949-0.599,10.482
+ c0,2.894,0.071,5.74,0.356,8.554l22.901,4.098c1.628,7.954,4.716,15.386,9.042,21.938L53.17,172.905
+ c3.898,4.844,8.399,9.252,13.259,13.135l19.285-13.258c6.744,4.297,14.261,7.312,22.417,8.792l3.616,22.784
+ c2.569,0.235,5.209,0.242,7.834,0.242c3.712,0,7.262-0.139,10.85-0.604l4.34-23.267c7.738-1.918,15.008-5.264,21.334-9.759
+ l18.562,13.5c4.809-4.102,9.212-8.809,13.017-13.856l-13.502-19.535c3.654-6.31,6.189-13.274,7.479-20.727l22.774-3.614
+ c0.197-2.373,0.242-4.682,0.242-7.109c0-4.217-0.489-8.358-1.084-12.417l-23.142-4.219c-1.814-6.69-4.786-12.946-8.562-18.558
+ l13.616-18.687c-4.215-5.166-9.031-9.931-14.338-13.981l-19.646,13.5c-5.648-3.337-11.725-5.901-18.317-7.353l-3.613-22.896
+ c-3.296-0.383-6.615-0.606-10.009-0.606c-0.916,0-1.856-0.021-2.77,0c-0.445,0.021-0.886-0.021-1.325,0
+ C115.362,34.427,115.239,34.415,115.122,34.415z M117.762,83.816c0.594-0.034,1.192,0,1.793,0c19.342,0,35.128,15.778,35.128,35.115
+ c0,19.335-15.786,34.957-35.128,34.957c-19.336,0-34.956-15.621-34.956-34.957C84.599,100.199,99.262,84.754,117.762,83.816z"/>
+<circle id="circle3333" fill="#FFFFFF" stroke="#000000" stroke-width="4" cx="120.348" cy="118.417" r="15.886"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_SETUP.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_SETUP.svg
new file mode 100644
index 0000000..b9b2097
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_SETUP.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="svg2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="ARDUINO_SETUP.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<radialGradient id="path3868_1_" cx="833.2502" cy="-3527.9846" r="123.8434" gradientTransform="matrix(0.9548 0 0 -0.9617 -689.5905 -3259.6597)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" sodipodi:cy="3393.2393" sodipodi:rx="119.14749" sodipodi:cx="802.91974" sodipodi:type="arc" sodipodi:ry="119.14749" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="
+ M232.028,119.092c0,63.283-50.935,114.587-113.765,114.587c-62.831,0-113.766-51.303-113.766-114.587
+ c0-63.282,50.935-114.585,113.766-114.585C181.093,4.507,232.028,55.807,232.028,119.092L232.028,119.092z"/>
+<path id="path3086-5" inkscape:connector-curvature="0" sodipodi:nodetypes="cscccsscccsccccssccccccscsscssccccccccccccc" opacity="0.1681" stroke="#000000" enable-background="new " d="
+ M74.519,83.759c19.915-0.632,27.751,6.89,38.052,17.097c2.355,2.334,4.785,4.877,7.418,7.61l7.618-8.188
+ c6.854-7.772,18.979-15.06,26.906-15.946c16.021-1.747,25.771-1.008,35.62,6.724c12.645,9.923,18.174,20.29,18.546,32.258
+ c0.505,16.243-8.909,33.854-26.849,42.604c-8.038,3.936-22.049,4.356-32.334,1.112c-14.569-6.108-20.807-13.392-29.26-24.677
+ c-13.868,17.696-26.333,26.876-43.252,26.068C15.417,165.492,20.451,85.181,74.519,83.759L74.519,83.759z M88.211,149.809
+ c10.019-5.837,17.529-14.97,23.595-23.951c-6.118-10.271-18.249-23.332-28.545-25.895c-8.038-1.798-20.869,1.284-26.638,6.423
+ c-7.692,6.851-10.912,20.925-6.299,30.452C56.681,149.971,75.464,155.744,88.211,149.809L88.211,149.809z M63.591,120.996
+ l27.084,0.044v9.995l-27.128,0.044L63.591,120.996z M174.699,150.733c9.038-3.081,16.917-13.813,18.43-22.769
+ c1.433-8.479-5.81-20.725-15.395-25.69c-10.448-5.416-23.778-3.995-34.729,6.011c-5.415,4.949-13.628,15.479-13.628,17.773
+ c0,2.345,11.147,16.625,16.315,20.524C154.289,153.072,166.66,153.473,174.699,150.733z M158.549,131.105l-8.989-0.062
+ l-0.017-10.058l9.017,0.021v-8.938l9.148-0.062l-0.054,9.03l8.968,0.032v9.625l-8.438-0.062v9.25h-9.625L158.549,131.105z"/>
+<g>
+ <path fill="#FFFFFF" stroke="#000000" stroke-width="2" d="M27.718,122.5c0,44.19,60.759,60.645,90.775,15.646
+ c31.107,46.656,89.429,27.098,89.429-15.715c0-42.814-58.046-63.398-89.429-15.594C88.753,59.585,27.718,78.307,27.718,122.5
+ L27.718,122.5z M43.673,122.5c0-31.89,45.068-41.955,66.033,0C88.326,162.896,43.673,154.386,43.673,122.5L43.673,122.5z
+ M127.279,122.5c18.889-42.781,65.179-30.993,65.039,0.069C192.184,153.629,145.615,163.311,127.279,122.5z"/>
+ <rect x="60.611" y="118.023" fill="#FFFFFF" width="26.742" height="8.82"/>
+ <polygon fill="#FFFFFF" points="157.66,126.708 148.837,126.708 148.837,117.331 157.66,117.331 157.66,108.51 167.034,108.51
+ 167.034,117.331 175.858,117.331 175.858,126.708 167.034,126.708 167.034,135.53 157.66,135.53 "/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_STEPPER.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_STEPPER.svg
new file mode 100644
index 0000000..068cfdf
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_STEPPER.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="stepper.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3391" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="727.2932" cy="-4255.2822" r="123.844" gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+<g id="Calque_3">
+ <g id="layer1_4_" transform="translate(195.5,-49.005039)" opacity="0.13">
+ <g id="g3226_1_" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204_1_" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="5" d="M-101.9,378.371
+ c1.967,1.444,12.033,9.488,14.345,11.459c13.317,11.365,21.559,20.808,23.761,27.22c0.35,1.027,0.589,2.077,0.602,2.702
+ c0.029,1.218-0.167,1.427-1.783,1.829c-0.85,0.212-1.511,0.215-3.039,0.036c-1.076-0.136-2.672-0.448-3.545-0.702
+ c-6.2-1.809-14.908-6.561-25.166-13.735c-8.446-5.908-21.111-16.008-27.839-22.199c-11.517-10.608-17.945-19.182-18.074-24.119
+ c-0.037-1.356,0.37-1.856,1.75-2.152c2.922-0.633,8.572,0.909,14.72,4.003C-119.009,366.332-112.997,370.209-101.9,378.371
+ L-101.9,378.371z"/>
+ <path id="path3380" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" d="M-108.605,397.374
+ c-4.113-3.214-6.896-6.517-6.221-7.38l21.165-27.09c0.677-0.869,4.558,1.038,8.669,4.25l0,0c4.11,3.213,6.894,6.518,6.22,7.383
+ l-21.164,27.092C-100.613,402.488-104.493,400.586-108.605,397.374L-108.605,397.374z"/>
+ <path id="path3192_1_" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" d="
+ M-62.647,421.565c0.297-0.099-17.771,23.067-40.144,51.484c-40.116,50.952-40.695,51.663-41.772,51.838
+ c-3.685,0.583-12.059-3.032-22.299-9.632c-6.963-4.488-11.416-7.725-21.402-15.564c-15.823-12.42-24.813-20.766-30.446-28.266
+ c-2.276-3.03-4.037-6.903-3.752-8.246c0.142-0.655,11.982-15.847,40.704-52.216l40.503-51.29l0.35,1.341
+ c1.992,7.693,15.527,21.534,37.375,38.223c17.573,13.421,29.415,20.361,37.411,21.928
+ C-64.507,421.481-62.94,421.66-62.647,421.565L-62.647,421.565z"/>
+ </g>
+ </g>
+</g>
+<g id="layer1_3_" transform="translate(195.5,-49.005039)">
+ <g id="g3226" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204" fill="#E1E0E1" stroke="#000000" stroke-width="5" d="M-104.658,377.75c1.97,1.444,12.031,9.488,14.346,11.459
+ c13.318,11.363,21.557,20.804,23.759,27.22c0.353,1.028,0.591,2.079,0.603,2.702c0.032,1.221-0.169,1.431-1.78,1.83
+ c-0.85,0.216-1.51,0.218-3.038,0.041c-1.078-0.133-2.674-0.447-3.547-0.702c-6.201-1.809-14.908-6.56-25.164-13.736
+ c-8.446-5.908-21.113-16.007-27.839-22.199c-11.517-10.604-17.947-19.182-18.076-24.118c-0.034-1.357,0.371-1.854,1.75-2.153
+ c2.922-0.632,8.574,0.909,14.721,4.005C-121.764,365.708-115.753,369.587-104.658,377.75L-104.658,377.75z"/>
+ <path id="path3308" fill="#E1E0E1" stroke="#000000" stroke-width="4" stroke-linecap="round" d="M-88.303,367.786
+ c4.114,3.214,6.896,6.518,6.222,7.382l-21.165,27.089c-0.678,0.867-4.558-1.036-8.668-4.249l0,0
+ c-4.112-3.212-6.898-6.516-6.22-7.382l21.164-27.09C-96.295,362.672-92.415,364.573-88.303,367.786L-88.303,367.786z"/>
+ <path id="path3192" fill="#FFFFFF" stroke="#000000" stroke-width="5" d="M-67.883,422.943c0.296-0.1-17.771,23.069-40.144,51.485
+ c-40.118,50.948-40.696,51.663-41.772,51.837c-3.682,0.583-12.055-3.032-22.298-9.631c-6.961-4.486-11.418-7.725-21.405-15.566
+ c-15.823-12.418-24.814-20.765-30.446-28.267c-2.275-3.029-4.037-6.903-3.75-8.245c0.143-0.656,11.983-15.847,40.701-52.217
+ l40.506-51.289l0.35,1.343c1.991,7.692,15.527,21.532,37.377,38.223c17.571,13.42,29.413,20.362,37.408,21.929
+ C-69.742,422.861-68.175,423.038-67.883,422.943L-67.883,422.943z"/>
+ </g>
+</g>
+<polyline id="polyline3389" fill="none" stroke="#000000" stroke-width="6" stroke-linecap="square" points="54.359,164.502
+ 54.099,84.557 85.819,84.557 85.586,164.502 100.193,164.502 100.193,84.15 116.424,84.15 116.424,164.296 129.643,164.196
+ 129.742,83.947 141.005,83.947 141.469,164.502 "/>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ARDUINO_WRITE.svg b/scilab-arduino/tools/windows/images/svg/ARDUINO_WRITE.svg
new file mode 100644
index 0000000..9ed8f4d
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ARDUINO_WRITE.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN'
+ 'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; stroke:black; text-rendering:auto; stroke-linecap:square; stroke-miterlimit:10; stroke-opacity:1; shape-rendering:auto; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:&apos;Dialog&apos;; font-style:normal; stroke-linejoin:miter; font-size:12; stroke-dashoffset:0; image-rendering:auto;" width="610" height="460" xmlns="http://www.w3.org/2000/svg"
+><!--Generated by Scilab with Batik SVG Generator--><defs id="genericDefs"
+ /><g
+ ><g style="fill:white; text-rendering:optimizeLegibility; stroke:white;"
+ ><rect x="0" width="610" height="460" y="0" style="stroke:none;"
+ /><path d="M530.4 4.6 L530.4 455.4 L79.6 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 455.4 L79.6 455.4 L79.6 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 4.6 L530.4 455.4 L79.6 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 455.4 L79.6 455.4 L79.6 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 4.6 L530.4 4.6 L530.4 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 4.6 L530.4 455.4 L530.4 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M79.6 4.6 L79.6 4.6 L79.6 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M79.6 4.6 L79.6 455.4 L79.6 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 4.6 L79.6 4.6 L530.4 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M79.6 4.6 L79.6 4.6 L530.4 4.6 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M530.4 455.4 L79.6 455.4 L530.4 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /><path d="M79.6 455.4 L79.6 455.4 L530.4 455.4 Z" style="text-rendering:geometricPrecision; shape-rendering:crispEdges; stroke:none;"
+ /></g
+ ></g
+></svg
+>
diff --git a/scilab-arduino/tools/windows/images/svg/DCMOTOR_SB.svg b/scilab-arduino/tools/windows/images/svg/DCMOTOR_SB.svg
new file mode 100644
index 0000000..0b18a66
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/DCMOTOR_SB.svg
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="motor.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3311" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="727.2932" cy="-4255.2822" r="123.844" gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.928,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+<g id="Calque_3">
+ <g id="layer1_4_" transform="translate(195.5,-49.005039)" opacity="0.13">
+ <g id="g3226_1_" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204_1_" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="5" d="M-102.688,377.755
+ c1.967,1.444,12.033,9.488,14.345,11.459c13.317,11.365,21.559,20.808,23.761,27.22c0.35,1.027,0.59,2.077,0.602,2.701
+ c0.028,1.219-0.168,1.427-1.783,1.829c-0.851,0.212-1.511,0.215-3.039,0.036c-1.076-0.136-2.672-0.448-3.546-0.701
+ c-6.2-1.809-14.908-6.561-25.166-13.735c-8.446-5.908-21.111-16.008-27.839-22.199c-11.516-10.609-17.945-19.183-18.074-24.119
+ c-0.037-1.356,0.37-1.856,1.75-2.153c2.922-0.632,8.572,0.909,14.72,4.004C-119.797,365.716-113.785,369.593-102.688,377.755
+ L-102.688,377.755z"/>
+ <path id="path3380" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" d="M-109.393,396.757
+ c-4.113-3.214-6.896-6.517-6.219-7.38l21.165-27.089c0.677-0.869,4.558,1.038,8.669,4.25l0,0c4.11,3.213,6.895,6.518,6.22,7.382
+ l-21.164,27.092C-101.401,401.873-105.281,399.97-109.393,396.757L-109.393,396.757z"/>
+ <path id="path3192_1_" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" d="
+ M-63.435,420.949c0.297-0.099-17.771,23.066-40.144,51.484c-40.117,50.95-40.694,51.663-41.773,51.838
+ c-3.685,0.583-12.058-3.032-22.299-9.632c-6.962-4.488-11.416-7.725-21.402-15.564c-15.823-12.419-24.813-20.765-30.445-28.266
+ c-2.276-3.03-4.037-6.903-3.752-8.246c0.141-0.655,11.982-15.847,40.704-52.216l40.503-51.289l0.351,1.34
+ c1.992,7.694,15.527,21.534,37.375,38.223c17.573,13.421,29.415,20.361,37.411,21.928
+ C-65.296,420.866-63.727,421.045-63.435,420.949L-63.435,420.949z"/>
+ </g>
+ </g>
+</g>
+<g id="layer1_3_" transform="translate(195.5,-49.005039)">
+ <g id="g3226" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204" fill="#E1E0E1" stroke="#000000" stroke-width="5" d="M-105.446,377.134
+ c1.97,1.444,12.031,9.487,14.346,11.459c13.318,11.363,21.557,20.804,23.759,27.22c0.353,1.028,0.591,2.079,0.603,2.702
+ c0.032,1.221-0.169,1.43-1.78,1.831c-0.85,0.216-1.51,0.218-3.038,0.039c-1.078-0.132-2.673-0.445-3.547-0.701
+ c-6.201-1.809-14.908-6.561-25.165-13.736c-8.445-5.908-21.112-16.007-27.839-22.199c-11.517-10.604-17.946-19.182-18.076-24.117
+ c-0.034-1.357,0.371-1.855,1.75-2.154c2.922-0.632,8.574,0.909,14.721,4.005C-122.552,365.093-116.541,368.971-105.446,377.134
+ L-105.446,377.134z"/>
+ <path id="path3308" fill="#E1E0E1" stroke="#000000" stroke-width="4" stroke-linecap="round" d="M-89.091,367.17
+ c4.114,3.214,6.896,6.518,6.222,7.382l-21.165,27.089c-0.678,0.867-4.558-1.036-8.668-4.249l0,0
+ c-4.112-3.212-6.898-6.516-6.22-7.383l21.165-27.089C-97.083,362.056-93.202,363.957-89.091,367.17L-89.091,367.17z"/>
+ <path id="path3192" fill="#FFFFFF" stroke="#000000" stroke-width="5" d="M-68.671,422.327
+ c0.296-0.101-17.771,23.068-40.144,51.484c-40.118,50.948-40.697,51.663-41.772,51.837c-3.682,0.584-12.056-3.031-22.298-9.631
+ c-6.961-4.486-11.418-7.725-21.405-15.566c-15.823-12.418-24.814-20.765-30.446-28.267c-2.275-3.029-4.037-6.903-3.75-8.245
+ c0.142-0.655,11.982-15.847,40.701-52.217l40.506-51.29l0.351,1.344c1.991,7.692,15.527,21.532,37.376,38.222
+ c17.571,13.42,29.413,20.362,37.408,21.93C-70.53,422.244-68.963,422.422-68.671,422.327L-68.671,422.327z"/>
+ </g>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/DIGITAL_READ_SB.svg b/scilab-arduino/tools/windows/images/svg/DIGITAL_READ_SB.svg
new file mode 100644
index 0000000..720a675
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/DIGITAL_READ_SB.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="digital.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3284" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<polyline id="polyline3280" fill="none" stroke="#000000" stroke-width="17" stroke-linecap="square" points="55.858,175.39
+ 55.485,53.987 101.083,53.987 100.749,175.39 121.749,175.39 121.749,53.366 145.082,53.366 145.082,175.08 164.082,174.927
+ 164.226,53.057 180.416,53.057 181.082,175.39 "/>
+<polyline id="polyline3282" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="square" points="55.858,174.724
+ 55.485,53.32 101.083,53.32 100.749,174.724 121.749,174.724 121.749,52.7 145.082,52.7 145.082,174.414 164.082,174.26
+ 164.226,52.39 180.416,52.39 181.082,174.724 "/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.16
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.024,142.65,196.523,156.451,196.16L156.451,196.16z M159.947,213.021c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.062,156.693,214.536,159.947,213.021L159.947,213.021z M153.661,205.666l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.666z M182.025,213.258c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.854,179.972,213.957,182.025,213.258z M177.902,208.247l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.247L177.902,208.247z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.231
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.15,141.897,194.368,156.064,194.231L156.064,194.231z M159.56,211.092c2.558-1.493,4.475-3.82,6.022-6.117
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.133,156.306,212.606,159.56,211.092z M153.275,203.737l6.913,0.011v2.551l-6.925,0.017L153.275,203.737z
+ M181.638,211.327c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.926,179.672,212.243,181.638,211.327z
+ M177.514,206.316l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.316L177.514,206.316z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/DIGITAL_WRITE_SB.svg b/scilab-arduino/tools/windows/images/svg/DIGITAL_WRITE_SB.svg
new file mode 100644
index 0000000..720a675
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/DIGITAL_WRITE_SB.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="digital.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3284" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="698.5198" cy="-3894.2336" r="123.8445" gradientTransform="matrix(0.9548 0 0 -0.9617 -560.9489 -3606.8491)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.587-113.767,114.587c-62.829,0-113.766-51.303-113.766-114.587c0-63.282,50.937-114.585,113.766-114.585
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<polyline id="polyline3280" fill="none" stroke="#000000" stroke-width="17" stroke-linecap="square" points="55.858,175.39
+ 55.485,53.987 101.083,53.987 100.749,175.39 121.749,175.39 121.749,53.366 145.082,53.366 145.082,175.08 164.082,174.927
+ 164.226,53.057 180.416,53.057 181.082,175.39 "/>
+<polyline id="polyline3282" fill="none" stroke="#FFFFFF" stroke-width="13" stroke-linecap="square" points="55.858,174.724
+ 55.485,53.32 101.083,53.32 100.749,174.724 121.749,174.724 121.749,52.7 145.082,52.7 145.082,174.414 164.082,174.26
+ 164.226,52.39 180.416,52.39 181.082,174.724 "/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.16
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.942l1.946-2.09c1.749-1.983,4.849-3.844,6.871-4.069
+ c4.087-0.446,6.575-0.255,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.237c0.13,4.144-2.278,8.643-6.854,10.875
+ c-2.056,1.006-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.519-6.722,6.861-11.041,6.655
+ C141.364,217.024,142.65,196.523,156.451,196.16L156.451,196.16z M159.947,213.021c2.559-1.489,4.476-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.64c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.062,156.693,214.536,159.947,213.021L159.947,213.021z M153.661,205.666l6.914,0.013v2.553l-6.93,0.012
+ L153.661,205.666z M182.025,213.258c2.309-0.786,4.318-3.525,4.704-5.812c0.365-2.166-1.481-5.291-3.925-6.557
+ c-2.667-1.384-6.07-1.021-8.865,1.533c-1.382,1.265-3.479,3.951-3.479,4.533c0,0.6,2.845,4.248,4.164,5.241
+ C176.815,213.854,179.972,213.957,182.025,213.258z M177.902,208.247l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.279l2.336-0.018
+ l-0.014,2.307l2.285,0.008v2.456l-2.154-0.017v2.361h-2.457L177.902,208.247L177.902,208.247z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.231
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.602,0.596,1.227,1.244,1.896,1.942l1.944-2.09c1.75-1.984,4.899-3.557,6.9-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.558c3.481,2.176,4.512,5.183,4.605,8.232c0.133,4.146-2.146,8.644-6.723,10.88
+ c-2.055,1.005-5.628,1.113-8.258,0.284c-3.72-1.562-5.311-3.418-7.469-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.15,141.897,194.368,156.064,194.231L156.064,194.231z M159.56,211.092c2.558-1.493,4.475-3.82,6.022-6.117
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.965,1.747-2.785,5.343-1.607,7.771
+ C151.51,211.133,156.306,212.606,159.56,211.092z M153.275,203.737l6.913,0.011v2.551l-6.925,0.017L153.275,203.737z
+ M181.638,211.327c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.844,4.248,4.162,5.241C176.428,211.926,179.672,212.243,181.638,211.327z
+ M177.514,206.316l-2.294-0.02l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.316L177.514,206.316z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/ENCODER_SB.svg b/scilab-arduino/tools/windows/images/svg/ENCODER_SB.svg
new file mode 100644
index 0000000..e3ce332
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/ENCODER_SB.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Calque_2"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="ARDUINO_ENCODER.svg"
+ x="0px"
+ y="0px"
+ width="236.499px"
+ height="247.781px"
+ viewBox="0 0 236.499 247.781"
+ enable-background="new 0 0 236.499 247.781"
+ xml:space="preserve"><metadata
+ id="metadata28"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs26" />
+<sodipodi:namedview
+ id="namedview3391"
+ inkscape:window-maximized="1"
+ inkscape:cy="123.8905"
+ showgrid="false"
+ inkscape:current-layer="Calque_2"
+ inkscape:window-y="-8"
+ bordercolor="#666666"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.95245396"
+ inkscape:cx="118.2495"
+ pagecolor="#ffffff"
+ borderopacity="1"
+ inkscape:pageopacity="0"
+ inkscape:window-width="1280"
+ inkscape:window-height="962"
+ inkscape:window-x="-8"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient
+ id="path3868_1_"
+ cx="727.2932"
+ cy="-4255.2822"
+ r="123.844"
+ gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#36BAC0"
+ id="stop5" />
+ <stop
+ offset="1"
+ style="stop-color:#2D9094"
+ id="stop7" />
+</radialGradient>
+<path
+ id="path3868"
+ fill="url(#path3868_1_)"
+ stroke="#02797E"
+ stroke-width="9.392"
+ stroke-linejoin="round"
+ d="M232.028,124.092 c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507 C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z" />
+<g
+ id="g10">
+ <path
+ id="path3086-5"
+ opacity="0.1681"
+ stroke="#000000"
+ enable-background="new "
+ d="M156.451,196.161 c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067 c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875 c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655 C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118 c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771 C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012 L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557 c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241 C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02 l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z" />
+ <path
+ id="path3086"
+ fill="#FFFFFF"
+ stroke="#FFFFFF"
+ stroke-width="0.5"
+ stroke-opacity="0.7037"
+ d="M156.064,194.232 c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911 c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88 c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655 C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118 c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771 C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53 c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363 h-2.458L177.514,206.317L177.514,206.317z" />
+</g>
+
+
+
+<path
+ sodipodi:type="arc"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path3806"
+ sodipodi:cx="124.94042"
+ sodipodi:cy="121.79066"
+ sodipodi:rx="60.895332"
+ sodipodi:ry="59.845413"
+ d="m 185.83575,121.79066 a 60.895332,59.845413 0 1 1 -121.79066,0 60.895332,59.845413 0 1 1 121.79066,0 z"
+ transform="matrix(1.1442345,0,0,1.137993,-22.745355,-17.856182)" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.46987009;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 74.026715,117.05862 0,-33.146489 32.934425,0 0.74851,32.710359 30.6889,0 -0.74851,-33.146499 22.45528,0"
+ id="path3005"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" /><path
+ style="fill:none;stroke:#000000;stroke-width:4.47698736;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 67.983263,157.82901 20.948654,0 0,-31.05027 32.789193,0 0,32.02059 32.7892,0 0,-32.02059 20.03784,0"
+ id="path3804"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" /></svg> \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/images/svg/INTERRUPT_SB.svg b/scilab-arduino/tools/windows/images/svg/INTERRUPT_SB.svg
new file mode 100644
index 0000000..ffcc1b1
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/INTERRUPT_SB.svg
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ version="1.1"
+ id="Calque_2"
+ inkscape:version="0.48.2 r9819"
+ sodipodi:docname="INTERRUPT_SB.svg"
+ x="0px"
+ y="0px"
+ width="236.499px"
+ height="247.781px"
+ viewBox="0 0 236.499 247.781"
+ enable-background="new 0 0 236.499 247.781"
+ xml:space="preserve"><metadata
+ id="metadata28"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs26" />
+<sodipodi:namedview
+ id="namedview3391"
+ inkscape:window-maximized="1"
+ inkscape:cy="123.8905"
+ showgrid="false"
+ inkscape:current-layer="Calque_2"
+ inkscape:window-y="-8"
+ bordercolor="#666666"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.95245396"
+ inkscape:cx="-45.537944"
+ pagecolor="#ffffff"
+ borderopacity="1"
+ inkscape:pageopacity="0"
+ inkscape:window-width="1280"
+ inkscape:window-height="962"
+ inkscape:window-x="-8"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient
+ id="path3868_1_"
+ cx="727.2932"
+ cy="-4255.2822"
+ r="123.844"
+ gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#36BAC0"
+ id="stop5" />
+ <stop
+ offset="1"
+ style="stop-color:#2D9094"
+ id="stop7" />
+</radialGradient>
+<path
+ id="path3868"
+ fill="url(#path3868_1_)"
+ stroke="#02797E"
+ stroke-width="9.392"
+ stroke-linejoin="round"
+ d="M232.028,124.092 c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507 C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z" />
+<g
+ id="g10">
+ <path
+ id="path3086-5"
+ opacity="0.1681"
+ stroke="#000000"
+ enable-background="new "
+ d="M156.451,196.161 c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067 c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875 c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655 C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118 c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771 C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012 L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557 c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241 C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02 l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z" />
+ <path
+ id="path3086"
+ fill="#FFFFFF"
+ stroke="#FFFFFF"
+ stroke-width="0.5"
+ stroke-opacity="0.7037"
+ d="M156.064,194.232 c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911 c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88 c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655 C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118 c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771 C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53 c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363 h-2.458L177.514,206.317L177.514,206.317z" />
+</g>
+
+
+
+<path
+ sodipodi:type="arc"
+ style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path3806"
+ sodipodi:cx="124.94042"
+ sodipodi:cy="121.79066"
+ sodipodi:rx="60.895332"
+ sodipodi:ry="59.845413"
+ d="m 185.83575,121.79066 a 60.895332,59.845413 0 1 1 -121.79066,0 60.895332,59.845413 0 1 1 121.79066,0 z"
+ transform="matrix(1.1442345,0,0,1.137993,-22.745355,-17.856182)" /><path
+ style="fill:none;stroke:#000000;stroke-width:3.7875762;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 55.789522,132.14607 22.026073,0 0,-37.509532 -1.101304,37.509532 29.735199,0 -1.10131,-36.33736 1.10131,36.33736 27.53259,-0.12226 -1.1013,-35.042931 1.1013,35.165191 27.53259,0 -1.1013,-35.165191 1.04992,33.993011 23.17876,0"
+ id="path2995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccc" /></svg> \ No newline at end of file
diff --git a/scilab-arduino/tools/windows/images/svg/SERVO_READ_SB.svg b/scilab-arduino/tools/windows/images/svg/SERVO_READ_SB.svg
new file mode 100644
index 0000000..960d74f
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/SERVO_READ_SB.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="servo.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3335" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="794.6584" cy="1277.4519" r="123.8436" gradientTransform="matrix(0.9548 0 0 0.9617 -652.7419 -1090.29)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.936,114.589-113.766,114.589S4.496,187.376,4.496,124.092C4.496,60.81,55.432,9.507,118.262,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<radialGradient id="path3254_1_" cx="3142.0452" cy="9988.082" r="125.9599" gradientTransform="matrix(0.3699 0 0 0.1167 -1040.6821 -976.3671)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</radialGradient>
+<path id="path3254" opacity="0.4091" fill="url(#path3254_1_)" enable-background="new " d="M198.128,189.063
+ c0.015,13.333-34.259,24.146-76.545,24.146c-42.293,0.007-76.583-10.8-76.59-24.134v-0.012
+ c-0.016-13.334,34.261-24.148,76.547-24.148c42.285-0.006,76.584,10.807,76.588,24.14V189.063L198.128,189.063z"/>
+<path id="path3243" fill="#FFFFFF" stroke="#000000" stroke-width="4" d="M115.122,34.415c-1.796,0.124-3.535,0.408-5.302,0.607
+ h-0.125l-4.217,23.023c-6.874,1.562-13.346,4.226-19.16,7.827L67.394,52.257c-5.115,3.972-9.771,8.603-13.855,13.618L66.67,85.04
+ c-3.988,6.103-6.986,13.062-8.676,20.367c0,0.037,0,0.112,0,0.121l-22.9,3.617c-0.42,3.418-0.599,6.949-0.599,10.482
+ c0,2.894,0.071,5.74,0.356,8.554l22.901,4.098c1.628,7.954,4.716,15.386,9.042,21.938L53.17,172.905
+ c3.898,4.844,8.399,9.252,13.259,13.135l19.285-13.258c6.744,4.297,14.261,7.312,22.417,8.792l3.616,22.784
+ c2.569,0.235,5.209,0.242,7.834,0.242c3.712,0,7.262-0.139,10.85-0.604l4.34-23.267c7.738-1.918,15.008-5.264,21.334-9.759
+ l18.562,13.5c4.809-4.102,9.212-8.809,13.017-13.856l-13.502-19.535c3.654-6.31,6.189-13.274,7.479-20.727l22.774-3.614
+ c0.197-2.373,0.242-4.682,0.242-7.109c0-4.217-0.489-8.358-1.084-12.417l-23.142-4.219c-1.814-6.69-4.786-12.946-8.562-18.558
+ l13.616-18.687c-4.215-5.166-9.031-9.931-14.338-13.981l-19.646,13.5c-5.648-3.337-11.725-5.901-18.317-7.353l-3.613-22.896
+ c-3.296-0.383-6.615-0.606-10.009-0.606c-0.916,0-1.856-0.021-2.77,0c-0.445,0.021-0.886-0.021-1.325,0
+ C115.362,34.427,115.239,34.415,115.122,34.415z M117.762,83.816c0.594-0.034,1.192,0,1.793,0c19.342,0,35.128,15.778,35.128,35.115
+ c0,19.335-15.786,34.957-35.128,34.957c-19.336,0-34.956-15.621-34.956-34.957C84.599,100.199,99.262,84.754,117.762,83.816z"/>
+<circle id="circle3333" fill="#FFFFFF" stroke="#000000" stroke-width="4" cx="120.348" cy="118.417" r="15.886"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/SERVO_WRITE_SB.svg b/scilab-arduino/tools/windows/images/svg/SERVO_WRITE_SB.svg
new file mode 100644
index 0000000..960d74f
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/SERVO_WRITE_SB.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="servo.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3335" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="794.6584" cy="1277.4519" r="123.8436" gradientTransform="matrix(0.9548 0 0 0.9617 -652.7419 -1090.29)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.936,114.589-113.766,114.589S4.496,187.376,4.496,124.092C4.496,60.81,55.432,9.507,118.262,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<radialGradient id="path3254_1_" cx="3142.0452" cy="9988.082" r="125.9599" gradientTransform="matrix(0.3699 0 0 0.1167 -1040.6821 -976.3671)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#000000"/>
+ <stop offset="1" style="stop-color:#000000;stop-opacity:0"/>
+</radialGradient>
+<path id="path3254" opacity="0.4091" fill="url(#path3254_1_)" enable-background="new " d="M198.128,189.063
+ c0.015,13.333-34.259,24.146-76.545,24.146c-42.293,0.007-76.583-10.8-76.59-24.134v-0.012
+ c-0.016-13.334,34.261-24.148,76.547-24.148c42.285-0.006,76.584,10.807,76.588,24.14V189.063L198.128,189.063z"/>
+<path id="path3243" fill="#FFFFFF" stroke="#000000" stroke-width="4" d="M115.122,34.415c-1.796,0.124-3.535,0.408-5.302,0.607
+ h-0.125l-4.217,23.023c-6.874,1.562-13.346,4.226-19.16,7.827L67.394,52.257c-5.115,3.972-9.771,8.603-13.855,13.618L66.67,85.04
+ c-3.988,6.103-6.986,13.062-8.676,20.367c0,0.037,0,0.112,0,0.121l-22.9,3.617c-0.42,3.418-0.599,6.949-0.599,10.482
+ c0,2.894,0.071,5.74,0.356,8.554l22.901,4.098c1.628,7.954,4.716,15.386,9.042,21.938L53.17,172.905
+ c3.898,4.844,8.399,9.252,13.259,13.135l19.285-13.258c6.744,4.297,14.261,7.312,22.417,8.792l3.616,22.784
+ c2.569,0.235,5.209,0.242,7.834,0.242c3.712,0,7.262-0.139,10.85-0.604l4.34-23.267c7.738-1.918,15.008-5.264,21.334-9.759
+ l18.562,13.5c4.809-4.102,9.212-8.809,13.017-13.856l-13.502-19.535c3.654-6.31,6.189-13.274,7.479-20.727l22.774-3.614
+ c0.197-2.373,0.242-4.682,0.242-7.109c0-4.217-0.489-8.358-1.084-12.417l-23.142-4.219c-1.814-6.69-4.786-12.946-8.562-18.558
+ l13.616-18.687c-4.215-5.166-9.031-9.931-14.338-13.981l-19.646,13.5c-5.648-3.337-11.725-5.901-18.317-7.353l-3.613-22.896
+ c-3.296-0.383-6.615-0.606-10.009-0.606c-0.916,0-1.856-0.021-2.77,0c-0.445,0.021-0.886-0.021-1.325,0
+ C115.362,34.427,115.239,34.415,115.122,34.415z M117.762,83.816c0.594-0.034,1.192,0,1.793,0c19.342,0,35.128,15.778,35.128,35.115
+ c0,19.335-15.786,34.957-35.128,34.957c-19.336,0-34.956-15.621-34.956-34.957C84.599,100.199,99.262,84.754,117.762,83.816z"/>
+<circle id="circle3333" fill="#FFFFFF" stroke="#000000" stroke-width="4" cx="120.348" cy="118.417" r="15.886"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/STEPPER_SB.svg b/scilab-arduino/tools/windows/images/svg/STEPPER_SB.svg
new file mode 100644
index 0000000..068cfdf
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/STEPPER_SB.svg
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1"
+ id="Calque_2" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" inkscape:version="0.48.3.1 r9886" xmlns:svg="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="stepper.svg"
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="236.499px"
+ height="247.781px" viewBox="0 0 236.499 247.781" enable-background="new 0 0 236.499 247.781" xml:space="preserve">
+<sodipodi:namedview id="namedview3391" inkscape:window-maximized="0" inkscape:cy="123.8905" showgrid="false" inkscape:current-layer="Calque_2" inkscape:window-y="-1" bordercolor="#666666" inkscape:pageshadow="2" inkscape:zoom="0.95245396" inkscape:cx="118.2495" pagecolor="#ffffff" borderopacity="1" inkscape:pageopacity="0" inkscape:window-width="640" inkscape:window-height="480" inkscape:window-x="-1" objecttolerance="10" gridtolerance="10" guidetolerance="10">
+ </sodipodi:namedview>
+<radialGradient id="path3868_1_" cx="727.2932" cy="-4255.2822" r="123.844" gradientTransform="matrix(0.9548 0 0 -0.9617 -588.4225 -3954.0701)" gradientUnits="userSpaceOnUse">
+ <stop offset="0" style="stop-color:#36BAC0"/>
+ <stop offset="1" style="stop-color:#2D9094"/>
+</radialGradient>
+<path id="path3868" fill="url(#path3868_1_)" stroke="#02797E" stroke-width="9.392" stroke-linejoin="round" d="M232.028,124.092
+ c0,63.283-50.937,114.589-113.767,114.589c-62.829,0-113.766-51.305-113.766-114.589C4.495,60.81,55.432,9.507,118.261,9.507
+ C181.093,9.507,232.028,60.807,232.028,124.092L232.028,124.092z"/>
+<g>
+ <path id="path3086-5" opacity="0.1681" stroke="#000000" enable-background="new " d="M156.451,196.161
+ c5.083-0.16,7.088,1.759,9.713,4.361c0.603,0.596,1.226,1.245,1.895,1.94l1.946-2.09c1.749-1.981,4.849-3.844,6.871-4.067
+ c4.087-0.446,6.575-0.257,9.089,1.716c3.229,2.537,4.641,5.183,4.738,8.235c0.13,4.146-2.278,8.645-6.854,10.875
+ c-2.056,1.008-5.628,1.112-8.258,0.284c-3.719-1.56-5.312-3.418-7.469-6.299c-3.539,4.521-6.724,6.861-11.041,6.655
+ C141.364,217.025,142.65,196.524,156.451,196.161L156.451,196.161z M159.947,213.022c2.561-1.489,4.478-3.821,6.022-6.118
+ c-1.564-2.617-4.658-5.953-7.287-6.609c-2.051-0.459-5.326,0.328-6.799,1.642c-1.964,1.749-2.786,5.342-1.607,7.771
+ C151.899,213.063,156.693,214.537,159.947,213.022L159.947,213.022z M153.661,205.667l6.914,0.015v2.553l-6.932,0.012
+ L153.661,205.667z M182.025,213.259c2.311-0.784,4.318-3.523,4.704-5.812c0.365-2.166-1.479-5.291-3.925-6.557
+ c-2.667-1.386-6.07-1.021-8.865,1.531c-1.382,1.267-3.479,3.951-3.479,4.533c0,0.602,2.845,4.248,4.164,5.241
+ C176.815,213.855,179.972,213.958,182.025,213.259z M177.902,208.248l-2.295-0.017l-0.003-2.567l2.301,0.006v-2.277l2.338-0.02
+ l-0.016,2.309l2.285,0.008v2.456l-2.154-0.019v2.361h-2.457L177.902,208.248L177.902,208.248z"/>
+ <path id="path3086" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="0.5" stroke-opacity="0.7037" d="M156.064,194.232
+ c5.084-0.162,7.084,1.758,9.714,4.363c0.604,0.596,1.229,1.242,1.896,1.94l1.944-2.09c1.75-1.984,4.897-3.557,6.898-3.911
+ c3.356-0.593,6.261-0.196,9.062,1.56c3.479,2.176,4.512,5.183,4.604,8.23c0.133,4.146-2.146,8.646-6.723,10.88
+ c-2.056,1.005-5.628,1.113-8.258,0.284c-3.722-1.562-5.312-3.418-7.471-6.299c-3.54,4.518-6.722,6.841-11.041,6.655
+ C140.528,215.151,141.897,194.369,156.064,194.232L156.064,194.232z M159.56,211.094c2.56-1.494,4.477-3.821,6.022-6.118
+ c-1.565-2.622-4.658-5.953-7.287-6.608c-2.052-0.464-5.327,0.326-6.8,1.638c-1.967,1.747-2.785,5.345-1.607,7.771
+ C151.51,211.134,156.306,212.607,159.56,211.094z M153.275,203.738l6.913,0.011v2.551l-6.925,0.019L153.275,203.738z
+ M181.638,211.328c5.407-2.518,5.949-9.413,0.779-12.369c-2.669-1.387-6.072-1.021-8.866,1.53
+ c-1.382,1.263-3.479,3.951-3.479,4.537c0,0.598,2.846,4.248,4.162,5.241C176.428,211.927,179.672,212.244,181.638,211.328z
+ M177.514,206.317l-2.294-0.021l-0.004-2.562l2.301,0.005v-2.281l2.336-0.016l-0.013,2.305l2.283,0.009v2.457l-2.152-0.02v2.363
+ h-2.458L177.514,206.317L177.514,206.317z"/>
+</g>
+<g id="Calque_3">
+ <g id="layer1_4_" transform="translate(195.5,-49.005039)" opacity="0.13">
+ <g id="g3226_1_" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204_1_" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="5" d="M-101.9,378.371
+ c1.967,1.444,12.033,9.488,14.345,11.459c13.317,11.365,21.559,20.808,23.761,27.22c0.35,1.027,0.589,2.077,0.602,2.702
+ c0.029,1.218-0.167,1.427-1.783,1.829c-0.85,0.212-1.511,0.215-3.039,0.036c-1.076-0.136-2.672-0.448-3.545-0.702
+ c-6.2-1.809-14.908-6.561-25.166-13.735c-8.446-5.908-21.111-16.008-27.839-22.199c-11.517-10.608-17.945-19.182-18.074-24.119
+ c-0.037-1.356,0.37-1.856,1.75-2.152c2.922-0.633,8.572,0.909,14.72,4.003C-119.009,366.332-112.997,370.209-101.9,378.371
+ L-101.9,378.371z"/>
+ <path id="path3380" fill="#E1E0E1" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" d="M-108.605,397.374
+ c-4.113-3.214-6.896-6.517-6.221-7.38l21.165-27.09c0.677-0.869,4.558,1.038,8.669,4.25l0,0c4.11,3.213,6.894,6.518,6.22,7.383
+ l-21.164,27.092C-100.613,402.488-104.493,400.586-108.605,397.374L-108.605,397.374z"/>
+ <path id="path3192_1_" fill="#FFFFFF" stroke="#FFFFFF" stroke-width="5" stroke-linecap="square" stroke-linejoin="round" d="
+ M-62.647,421.565c0.297-0.099-17.771,23.067-40.144,51.484c-40.116,50.952-40.695,51.663-41.772,51.838
+ c-3.685,0.583-12.059-3.032-22.299-9.632c-6.963-4.488-11.416-7.725-21.402-15.564c-15.823-12.42-24.813-20.766-30.446-28.266
+ c-2.276-3.03-4.037-6.903-3.752-8.246c0.142-0.655,11.982-15.847,40.704-52.216l40.503-51.29l0.35,1.341
+ c1.992,7.693,15.527,21.534,37.375,38.223c17.573,13.421,29.415,20.361,37.411,21.928
+ C-64.507,421.481-62.94,421.66-62.647,421.565L-62.647,421.565z"/>
+ </g>
+ </g>
+</g>
+<g id="layer1_3_" transform="translate(195.5,-49.005039)">
+ <g id="g3226" transform="matrix(0.6156615,0.7880108,-0.7880108,0.6156615,350.56125,14.58796)">
+ <path id="path3204" fill="#E1E0E1" stroke="#000000" stroke-width="5" d="M-104.658,377.75c1.97,1.444,12.031,9.488,14.346,11.459
+ c13.318,11.363,21.557,20.804,23.759,27.22c0.353,1.028,0.591,2.079,0.603,2.702c0.032,1.221-0.169,1.431-1.78,1.83
+ c-0.85,0.216-1.51,0.218-3.038,0.041c-1.078-0.133-2.674-0.447-3.547-0.702c-6.201-1.809-14.908-6.56-25.164-13.736
+ c-8.446-5.908-21.113-16.007-27.839-22.199c-11.517-10.604-17.947-19.182-18.076-24.118c-0.034-1.357,0.371-1.854,1.75-2.153
+ c2.922-0.632,8.574,0.909,14.721,4.005C-121.764,365.708-115.753,369.587-104.658,377.75L-104.658,377.75z"/>
+ <path id="path3308" fill="#E1E0E1" stroke="#000000" stroke-width="4" stroke-linecap="round" d="M-88.303,367.786
+ c4.114,3.214,6.896,6.518,6.222,7.382l-21.165,27.089c-0.678,0.867-4.558-1.036-8.668-4.249l0,0
+ c-4.112-3.212-6.898-6.516-6.22-7.382l21.164-27.09C-96.295,362.672-92.415,364.573-88.303,367.786L-88.303,367.786z"/>
+ <path id="path3192" fill="#FFFFFF" stroke="#000000" stroke-width="5" d="M-67.883,422.943c0.296-0.1-17.771,23.069-40.144,51.485
+ c-40.118,50.948-40.696,51.663-41.772,51.837c-3.682,0.583-12.055-3.032-22.298-9.631c-6.961-4.486-11.418-7.725-21.405-15.566
+ c-15.823-12.418-24.814-20.765-30.446-28.267c-2.275-3.029-4.037-6.903-3.75-8.245c0.143-0.656,11.983-15.847,40.701-52.217
+ l40.506-51.289l0.35,1.343c1.991,7.692,15.527,21.532,37.377,38.223c17.571,13.42,29.413,20.362,37.408,21.929
+ C-69.742,422.861-68.175,423.038-67.883,422.943L-67.883,422.943z"/>
+ </g>
+</g>
+<polyline id="polyline3389" fill="none" stroke="#000000" stroke-width="6" stroke-linecap="square" points="54.359,164.502
+ 54.099,84.557 85.819,84.557 85.586,164.502 100.193,164.502 100.193,84.15 116.424,84.15 116.424,164.296 129.643,164.196
+ 129.742,83.947 141.005,83.947 141.469,164.502 "/>
+</svg>
diff --git a/scilab-arduino/tools/windows/images/svg/TIME_SAMPLE.svg b/scilab-arduino/tools/windows/images/svg/TIME_SAMPLE.svg
new file mode 100644
index 0000000..04530bd
--- /dev/null
+++ b/scilab-arduino/tools/windows/images/svg/TIME_SAMPLE.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ width="100px" height="40px" viewBox="0 0 100 40"
+ style="stroke:none">
+<title>Figure n°0</title>
+<desc>
+Creator: GL2PS 1.3.2, (C) 1999-2006 Christophe Geuzaine (geuz@geuz.org)
+For: Scilab
+CreationDate: Thu Oct 27 09:47:48 2011
+</desc>
+<defs>
+</defs>
+<g>
+</g>
+</svg>
diff --git a/scilab-arduino/tools/windows/jar/scilab_en_US_help.jar b/scilab-arduino/tools/windows/jar/scilab_en_US_help.jar
new file mode 100644
index 0000000..1d3e317
--- /dev/null
+++ b/scilab-arduino/tools/windows/jar/scilab_en_US_help.jar
Binary files differ
diff --git a/scilab-arduino/tools/windows/loader.sce b/scilab-arduino/tools/windows/loader.sce
new file mode 100644
index 0000000..9d61be6
--- /dev/null
+++ b/scilab-arduino/tools/windows/loader.sce
@@ -0,0 +1,10 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+// Generated by builder.sce: Please, do not edit this file
+
+try
+ getversion("scilab");
+catch
+ error("Scilab 5.0 or more is required.");
+end;
+
+exec(get_absolute_file_path("loader.sce")+"etc\"+"arduino.start");
diff --git a/scilab-arduino/tools/windows/macros/ANALOG_READ_SB.bin b/scilab-arduino/tools/windows/macros/ANALOG_READ_SB.bin
new file mode 100644
index 0000000..5c2cfe7
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ANALOG_READ_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ANALOG_READ_SB.sci b/scilab-arduino/tools/windows/macros/ANALOG_READ_SB.sci
new file mode 100644
index 0000000..f2f1b4c
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ANALOG_READ_SB.sci
@@ -0,0 +1,95 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ANALOG_READ_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Analog Read parameters' ; 'UNO analog PIN are : 0 to 5.'; 'MEGA analog PIN are : 0 to 15.'],..
+ [gettext('Analog Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then
+// Cancel
+ break;
+ end
+
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+// if num_pin < 0 | num_pin>5
+// mess=[mess ;_("Analog Pin must be between 0 and 5.")]
+// ok = %f
+// end
+
+
+ if ok then
+// Everything's ok
+ model.rpar.objs(1).model.rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).graphics.exprs=exprs;
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_ANALOG_READ('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pout = 4;
+ output_port=OUT_f('define')
+ output_port.graphics.exprs=["1"]
+ output_port.model.ipar=[1]
+ output_port.graphics.pin=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=output_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[1, 1,0], to=[2, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.out=-1
+ model.out2=-2
+ model.outtyp=-1
+ Pin=0; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;displayedLabel=Analog Read Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ANALOG_WRITE_SB.bin b/scilab-arduino/tools/windows/macros/ANALOG_WRITE_SB.bin
new file mode 100644
index 0000000..6920c5f
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ANALOG_WRITE_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ANALOG_WRITE_SB.sci b/scilab-arduino/tools/windows/macros/ANALOG_WRITE_SB.sci
new file mode 100644
index 0000000..b9af007
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ANALOG_WRITE_SB.sci
@@ -0,0 +1,95 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ANALOG_WRITE_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Analog Write parameters' ; 'UNO analog PIN are : 3, 5, 6, 9, 10 or 11.'; 'MEGA analog PIN are : 1 to 13 and 44 to 46.'],..
+ [gettext('Analog Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then
+// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ //pin_analog=[3,5,6,9,10,11];//analog pin OUTPUT on Arduino UNO
+ //if length(find(evstr(num_pin)==pin_analog))==0
+ // mess=[mess ;_("Analog Pin must be 3, 5, 6, 9, 10 or 11.")]
+ // ok = %f
+ //end
+
+
+ if ok then
+// Everything's ok
+ model.rpar.objs(1).model.rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).graphics.exprs=exprs;
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_ANALOG_WRITE('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pin = 4;
+ input_port=IN_f('define')
+ input_port.graphics.exprs=["1"]
+ input_port.model.ipar=[1]
+ input_port.graphics.pout=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=input_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[2, 1,0], to=[1, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ Pin=3; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Analog Write Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ.bin b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ.bin
new file mode 100644
index 0000000..ed51dec
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ.sci b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ.sci
new file mode 100644
index 0000000..6677419
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ.sci
@@ -0,0 +1,80 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_ANALOG_READ(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Analog Read parameters' ; 'UNO analog PIN are : 0 to 5.'; 'MEGA analog PIN are : 0 to 15.'],..
+ [gettext('Analog Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then
+// Cancel
+ break;
+ end
+
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+// if num_pin < 0 | num_pin>5
+// mess=[mess ;_("Analog Pin must be between 0 and 5.")]
+// ok = %f
+// end
+
+
+ if ok then
+// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_ANALOG_READ_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.out=[1];
+ model.evtin=[1];
+ model.evtout=[1];
+ model.firing=[0;-1]
+ Pin=0; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;displayedLabel=Analog Read Pin %s<br>on Arduino card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ_sim.bin
new file mode 100644
index 0000000..6294990
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ_sim.sci
new file mode 100644
index 0000000..1778fd3
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_READ_sim.sci
@@ -0,0 +1,73 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_ANALOG_READ_sim(block,flag)
+ global port_com arduino_sample_time
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_READ Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ // Envoi de la trame sur le port série : 3 pour un analog_READ et le num de pin (0 à ...)
+
+ //pin="3"+ascii(97+block.rpar(1));
+ //write_serial(1,pin,2);
+ pin="A"+ascii(48+block.rpar(1));
+ write_serial(1,pin,2);
+
+ //binary transfer
+ [a,b,c]=status_serial(1);
+ while (b < 2)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,2);
+
+ temp=ascii(values);
+ val=double(int16(256*temp(2)+temp(1)));
+ block.outptr(1)=val;
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ //arduino_sample_time=0.01;
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init analog read")
+ // if block.rpar(1)~=0 & block.rpar(1)~=1 then
+// pin="Da"+ascii(48+block.rpar(1))+"0";
+//// writeserial(port_com,pin);
+// write_serial(1,pin,4);
+// end
+
+
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE.bin b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE.bin
new file mode 100644
index 0000000..6f0ee0b
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE.sci b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE.sci
new file mode 100644
index 0000000..6932907
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE.sci
@@ -0,0 +1,80 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_ANALOG_WRITE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Analog Write parameters' ; 'UNO analog PIN are : 3, 5, 6, 9, 10 or 11.'; 'MEGA analog PIN are : 1 to 13 and 44 to 46.'],..
+ [gettext('Analog Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then
+// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ //pin_analog=[3,5,6,9,10,11];//analog pin OUTPUT on Arduino UNO
+ //if length(find(evstr(num_pin)==pin_analog))==0
+ // mess=[mess ;_("Analog Pin must be 3, 5, 6, 9, 10 or 11.")]
+ // ok = %f
+ //end
+
+
+ if ok then
+// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_ANALOG_WRITE_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ Pin=3; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Analog Write Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE_sim.bin
new file mode 100644
index 0000000..f3f23ba
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE_sim.sci
new file mode 100644
index 0000000..c2a5bac
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ANALOG_WRITE_sim.sci
@@ -0,0 +1,62 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_ANALOG_WRITE_sim(block,flag)
+ global port_com arduino_sample_time;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_WRITE Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ if abs(u1)>255 then
+ //code_sent="4"+ascii(97+block.rpar(1))+ascii(255);
+ code_sent="W"+ascii(48+block.rpar(1))+ascii(255);
+ else
+ //code_sent="4"+ascii(97+block.rpar(1))+ascii(abs(ceil(u1)));
+ code_sent="W"+ascii(48+block.rpar(1))+ascii(abs(ceil(u1)));
+ end
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ //"You do not need to call pinMode() to set the pin as an output before calling analogWrite(). "
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+ //code_sent="4"+ascii(97+block.rpar(1))+ascii(0);
+ code_sent="W"+ascii(48+block.rpar(1))+ascii(0);
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3);
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR.bin b/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR.bin
new file mode 100644
index 0000000..308b1c5
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR.sci b/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR.sci
new file mode 100644
index 0000000..054b4ef
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR.sci
@@ -0,0 +1,124 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_DCMOTOR(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+ // deprecated
+ case 'getinputs' then
+ // deprecater
+ case 'getoutputs' then
+ // deprecated
+ case 'getorigin' then
+ // deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok1,type_shield,num_arduino,exprs1]=scicos_getvalue('Arduino DC MOTOR parameters',..
+ [gettext('Type of Shield (1 : Adafruit, 2: MotorShield Rev3, 3: PMODHB5 (L298), 4: L293 (2 PWM))');...
+ gettext('Arduino card number')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok1 then break; end //cancel
+
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok1=%f;
+ end
+ if type_shield~=1 & type_shield~=2 & type_shield~=3 & type_shield~=4
+ mess=[mess ;_("Type shield must be 1, 2, 3 or 4")]
+ ok1 = %f
+ end
+
+ if ok1 then
+ num_pin_1=0; num_pin_2=0;
+ if type_shield==1 then //get number of motor (between 1 et 4)
+// if evstr(exprs(3))>2 then
+// exprs(3)=string(1)
+// end
+ [ok,motor_number,exprs2]=scicos_getvalue('Motorshield Rev 3 parameters',..
+ [gettext('Number of DC motor : 1 or 2')],list('vec',1), exprs(5))
+ if ~ok then break; end //cancel
+ if (motor_number < 1 | motor_number>2)
+ mess=[mess ;_("Motor number must be 1 or 2 for Motorshield Rev 3 card")]
+ ok = %f
+ end
+ if motor_number==1 then
+ num_pin_1=12;
+ num_pin_2=3;
+ else
+ num_pin_1=13;
+ num_pin_2=11;
+ end
+ elseif type_shield==2 then
+ [ok,num_pin_1,num_pin_2,motor_number,exprs2]=scicos_getvalue('PMODHB5 or L298 driver parameters',..
+ [gettext('Direction pin ');gettext('Enable (speed) Pin');gettext('Motor number (between 1 and 4)')],list('vec',1,'vec',1,'vec',1), exprs(3:5))
+ if ~ok then break; end //cancel
+ if (motor_number < 1 | motor_number>4)
+ mess=[mess ;_("Motor number must be between 1 and 4")]
+ ok = %f
+ end
+ elseif type_shield==3 then
+ [ok,num_pin_1,num_pin_2,motor_number,exprs2]=scicos_getvalue('L293 driver parameters (control 2 PWM)',..
+ [gettext('PWM 1 Pin');gettext('PWM 2 Pin');gettext('Motor number (between 1 and 3)')],list('vec',1,'vec',1,'vec',1), exprs(3:5))
+ if ~ok then break; end //cancel
+ if (motor_number < 1 | motor_number>4)
+ mess=[mess ;_("Motor number must be between 1 and 4")]
+ ok = %f
+ end
+ end
+
+ if ok then
+ exprs2=string([num_pin_1;num_pin_2;motor_number])
+ // Everything's ok
+ model.rpar=[type_shield;num_arduino;num_pin_1;num_pin_2;motor_number];
+ graphics.exprs = string(model.rpar)
+
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ else
+ message(mess);
+ end
+
+
+ end
+
+
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_DCMOTOR_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ num_arduino=1; type_shield=1; num_pin_1=13; num_pin_2=11; motor_number=1;
+ model.rpar=[type_shield;num_arduino;num_pin_1;num_pin_2;motor_number]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Typeshield %s<br>on card %s"]
+ x.graphics.exprs=string([type_shield;num_arduino;num_pin_1;num_pin_2;motor_number]);
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR_sim.bin
new file mode 100644
index 0000000..e33d79a
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR_sim.sci
new file mode 100644
index 0000000..d69635c
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DCMOTOR_sim.sci
@@ -0,0 +1,129 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_DCMOTOR_sim(block,flag)
+ global port_com arduino_sample_time;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_DCMOTOR Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ //DEBUG("Output update ");
+
+ u1 = block.inptr(1);
+ //envoi de la direction
+ direction=sign(u1);
+// if block.rpar(1)==1 then //adafruit shield
+// if direction>=0 then
+// code_dir="f";
+// else
+// code_dir="b";
+// end
+// code_sent="B"+ascii(48+block.rpar(5))+code_dir;
+//// writeserial(port_com,code_sent);
+// write_serial(1,code_sent,3)
+//
+// if abs(u1)>255 then
+// code_sent="A"+ascii(48+block.rpar(5))+ascii(255);
+//// writeserial(port_com,code_sent);
+// write_serial(1,code_sent,3)
+// else
+// code_sent="A"+ascii(48+block.rpar(5))+ascii(abs(ceil(u1)));
+//// writeserial(port_com,code_sent);
+// write_serial(1,code_sent,3)
+// end
+// else //generic L298 L293
+ if direction>=0 then
+ code_dir=ascii(49);
+ else
+ code_dir=ascii(48);
+ end
+ if abs(u1)>255 then
+ val=255;
+ else
+ val=abs(ceil(u1));
+ end
+
+ //code_sent="A"+ascii(48+block.rpar(5))+code_dir+ascii(val);
+ code_sent="M"+ascii(48+block.rpar(5))+code_dir+ascii(val);
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,4)
+// end
+
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init DCmotor")
+ if(block.rpar(1)==1) then
+ //code_sent="91";
+ code_sent="C"+string(block.rpar(5))+ascii(48+block.rpar(4))+ascii(48+block.rpar(3))+"1"; //adafruit
+ elseif (block.rpar(1)==2) then
+ code_sent="C"+string(block.rpar(5))+ascii(48+block.rpar(4))+ascii(48+block.rpar(3))+"1"; //code pour initialiser L298
+ elseif (block.rpar(1)==3) then
+ code_sent="C"+string(block.rpar(5))+ascii(48+block.rpar(4))+ascii(48+block.rpar(3))+"0"; //code pour initialiser L293
+ end
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,5)
+// disp(code_sent)
+
+ //Attente que l'arduino reponde OK
+ [a,b,c]=status_serial(1);
+ while (b < 2)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,2);
+ if (values == 'OK') then
+ disp('Init motor successful')
+ else
+ disp('Init motor unsuccessful')
+ end
+
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+ //code_sent="M"+ascii(48+block.rpar(5))+"r";
+ //code_sent="M"+ascii(48+block.rpar(5))+ascii(0)+ascii(0);
+// writeserial(port_com,code_sent);
+ //write_serial(1,code_sent,3)
+ code_sent="M"+ascii(48+block.rpar(5))+"1"+ascii(0);
+ write_serial(1,code_sent,4)
+// write_serial(1,code_sent,4)
+// if block.rpar(1)==1 then
+//
+// else
+// code_sent="B"+ascii(48+block.rpar(5))+"r";
+//// writeserial(port_com,code_sent);
+// write_serial(1,code_sent,3)
+//// disp(code_sent)
+// end
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ.bin b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ.bin
new file mode 100644
index 0000000..5d4e155
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ.sci b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ.sci
new file mode 100644
index 0000000..78d0e00
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_DIGITAL_READ(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Digital Read parameters' ; 'UNO digital PIN are : 2 to 13.'; 'MEGA digital PIN are : 2 to 53.'],..
+ [gettext('Digital Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 2 | num_pin>53
+ mess=[mess ;_("Digital Pin must be between 2 and 53.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_DIGITAL_READ_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.out=[1];
+ model.evtin=[1]
+ model.evtout=[1];
+ model.firing=[0;-1]
+ Pin=3; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Digital Read Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ_sim.bin
new file mode 100644
index 0000000..f42d148
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ_sim.sci
new file mode 100644
index 0000000..ad132bb
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_READ_sim.sci
@@ -0,0 +1,68 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_DIGITAL_READ_sim(block,flag)
+ global port_com arduino_sample_time
+
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_DIGITAL_READ Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ // Envoi de la trame sur le port série : 4 pour un analog_READ et le num de pin (0 à ...)
+// pin="1"+ascii(97+block.rpar(1));
+// write_serial(1,pin,2);
+ pin="Dr"+ascii(48+block.rpar(1));
+ write_serial(1,pin,3);
+
+ //binary transfer
+ [a,b,c]=status_serial(1);
+ while (b < 1)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,1);
+ block.outptr(1)=evstr(values);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ //arduino_sample_time=0.01;
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init digital read")
+// pin="0"+ascii(97+ block.rpar(1))+"0"; // élaboration du string à envoyer pour initialiser le pin
+// write_serial(1,pin,3);
+ pin="Da"+ascii(48+ block.rpar(1))+"0"; // élaboration du string à envoyer pour initialiser le pin
+ write_serial(1,pin,4);
+
+ case 5 // Ending
+// closeserial(port_com);
+// close_serial(1);
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_WRITE.bin b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_WRITE.bin
new file mode 100644
index 0000000..2ad4691
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_WRITE.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_WRITE.sci b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_WRITE.sci
new file mode 100644
index 0000000..3b800a9
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DIGITAL_WRITE.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_DIGITAL_WRITE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Digital Write parameters' ; 'UNO digital PIN are : 0 to 13.'; 'MEGA digital PIN are : 0 to 53.'],..
+ [gettext('Digital Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 2 | num_pin>53
+ mess=[mess ;_("Digital Pin must be between 2 and 53.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_DIG_WRITE_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1];
+ model.evtout=[1];
+ model.firing=[0;-1]
+ Pin=13; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Digital Write Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DIG_WRITE_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_DIG_WRITE_sim.bin
new file mode 100644
index 0000000..6ae3d08
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DIG_WRITE_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_DIG_WRITE_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_DIG_WRITE_sim.sci
new file mode 100644
index 0000000..6b2a355
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_DIG_WRITE_sim.sci
@@ -0,0 +1,69 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_DIG_WRITE_sim(block,flag)
+ global port_com arduino_sample_time
+
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_DIG_WRITE Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ if (u1<0.01) then
+ //pin="2"+ascii(97+block.rpar(1))+"0";
+ pin="Dw"+ascii(48+block.rpar(1))+"0";
+// writeserial(port_com,pin);
+ else
+ //pin="2"+ascii(97+block.rpar(1))+"1";
+ pin="Dw"+ascii(48+block.rpar(1))+"1";
+// writeserial(port_com,pin);
+ end
+ //write_serial(1,pin,3);
+ write_serial(1,pin,4);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+
+ case 4 // Initialization
+ disp("init digital write")
+// pin="0"+ascii(97+ block.rpar(1))+"1"; // élaboration du string à envoyer pour initialiser le pin
+// write_serial(1,pin,3);
+ pin="Da"+ascii(48+ block.rpar(1))+"1"; // élaboration du string à envoyer pour initialiser le pin
+ write_serial(1,pin,4);
+
+
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER.bin b/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER.bin
new file mode 100644
index 0000000..b5b904d
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER.sci b/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER.sci
new file mode 100644
index 0000000..c5bd025
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER.sci
@@ -0,0 +1,100 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_ENCODER(job, arg1, arg2)
+ global corresp;
+ corresp(2)=0;corresp(3)=1;corresp(21)=2;corresp(20)=3;corresp(19)=4;corresp(18)=5;
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_arduino,counting_mode,exprs1]=scicos_getvalue('Arduino Encoder parameters',..
+ [gettext('Arduino card number');gettext('Counting mode : 1 (up chanA) 2 (up/down chanA) 4 (up/down chanA and B)')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok then break; end //cancel
+ //security tests
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+// if num_encoder < 1 | num_encoder>4
+// mess=[mess ;_("Encoder number must be 1 or 2 ")]
+// ok = %f
+// end
+ if counting_mode ~=1 & counting_mode~=2 & counting_mode~=4
+ mess=[mess ;_("Counting mode must be 1, 2 or 4")]
+ ok = %f
+ end
+
+ if ok then
+ ok2=%f
+ if counting_mode==1 | counting_mode==2 then
+ [ok2,pin_A,pin_B,exprs2]=scicos_getvalue(['Definition of Pins Encoder';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Pin Channel A (interruption PIN see above)');gettext('Pin Direction (whatever)')],list('vec',1,'vec',1), exprs(3:4))
+ elseif counting_mode==4
+ [ok2,pin_A,pin_B,exprs2]=scicos_getvalue(['Definition of Pins Encoder';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Pin Channel A (interruption PIN see above)');gettext('Pin Channel B (interruption PIN see above)')],list('vec',1,'vec',1), exprs(3:4))
+ end
+ if ~ok2 then break; end //cancel
+ if pin_A~=2 & pin_A~=3 & pin_A~=18 & pin_A~=19 & pin_A~=20 & pin_A~=21 then
+ mess=[mess ;_("Pin for Channel A must be 2, 3 or 18 to 21 (pin with interrupts) ")]
+ ok2 = %f
+ end
+ if ok2 then
+ model.rpar=[num_arduino;counting_mode;pin_A;pin_B];
+ exprs=string(model.rpar);
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_ENCODER_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.out=[1];
+ model.evtin=[1];
+ model.evtout=[1];
+ model.firing=[0;-1]
+ //num_encoder=1;
+ num_arduino=1, counting_mode=2; pin_A=2; pin_B=4;
+ model.rpar=[num_arduino;counting_mode;pin_A;pin_B]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Encoder<br>on card %s"]
+ x.graphics.exprs=string([num_arduino;counting_mode;pin_A;pin_B])
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER_sim.bin
new file mode 100644
index 0000000..475b5ae
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER_sim.sci
new file mode 100644
index 0000000..aa3e860
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_ENCODER_sim.sci
@@ -0,0 +1,89 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_ENCODER_sim(block,flag)
+ global port_com arduino_sample_time corresp;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_READ Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ // Envoi de la trame sur le port série pour dire de renvoyer la valeur comptée
+ code_sent="Ep"+ascii(corresp(block.rpar(3)));
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3)
+
+// //binary transfer
+// [q,flags]=serialstatus(port_com);
+// while (q(1) < 4)
+// [q,flags]=serialstatus(port_com);
+// end
+// values=readserial(port_com,4);
+
+ //binary transfert
+ [a,b,c]=status_serial(1);
+ while (b < 4)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,4);
+ temp=ascii(values);
+ val=double(int32(uint32(256^3*temp(4)+256^2*temp(3)+256*temp(2)+temp(1))));
+// disp(val)
+ block.outptr(1)=val;
+
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+// code_sent="Fa"+string(block.rpar(1))+string(block.rpar(4))+string(block.rpar(5))+string(block.rpar(3))
+ code_sent="Ea"+ascii(0+corresp(block.rpar(3))); //on envoie plus le PIN mais le numéro d'interruption
+ if block.rpar(2)==4 then //mode4
+ code_sent=code_sent+ascii(0+corresp(block.rpar(4)))+string(block.rpar(2));// on envoie le num d'interruption
+ else//mode 1 ou 2
+ code_sent=code_sent+ascii(0+block.rpar(4))+string(block.rpar(2));//on envoie le num de PIN en mode 1x/2x
+ end
+
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,5)
+ code_sent="Ez"+ascii(corresp(block.rpar(3)));
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3)
+ case 5 // Ending
+ if block.rpar(2)==4 then //mode4
+ code_sent="Er"+ascii(corresp(block.rpar(3)))+ascii(corresp(block.rpar(4)));
+ else
+ code_sent="Er"+ascii(corresp(block.rpar(3)))+ascii(corresp(block.rpar(3)));
+ end
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,4)
+// disp(code_sent)
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT.bin b/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT.bin
new file mode 100644
index 0000000..f4adf0a
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT.sci b/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT.sci
new file mode 100644
index 0000000..754054e
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT.sci
@@ -0,0 +1,68 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_INTERRUPT(job, arg1, arg2)
+ global corresp;
+ corresp(2)=0;corresp(3)=1;corresp(21)=2;corresp(20)=3;corresp(19)=4;corresp(18)=5;
+
+ x=[];
+ y=[];
+ typ=[];
+
+ select job
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,pin_interrupt,num_arduino,exprs1]=scicos_getvalue(['Arduino Interrupt parameters';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Interrupt pin number');gettext('Arduino card number')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok then break; end //cancel
+ //security tests
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+
+ if ok then
+ model.rpar=[pin_interrupt;num_arduino];
+ exprs=string(model.rpar);
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_INTERRUPT_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.out=[1];
+ model.evtin=[1];
+ model.evtout=[1];
+ model.firing=[0;-1]
+ pin_interrupt=2; num_arduino=1;
+ model.rpar=[pin_interrupt;num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Interrupt on pin %s<br>on card %s"]
+ x.graphics.exprs=string([pin_interrupt;num_arduino])
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT_sim.bin
new file mode 100644
index 0000000..0fa8b69
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT_sim.sci
new file mode 100644
index 0000000..75bcea3
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_INTERRUPT_sim.sci
@@ -0,0 +1,66 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_INTERRUPT_sim(block,flag)
+ global port_com arduino_sample_time corresp;
+
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_INTERRUPT Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ // Envoi de la trame sur le port série pour dire de renvoyer la valeur comptée
+ code_sent="Ip"+ascii(corresp(block.rpar(1)));
+ write_serial(1,code_sent,3)
+
+ //binary transfert
+ [a,b,c]=status_serial(1);
+ while (b < 4)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,4);
+ temp=ascii(values);
+ val=double(int32(uint32(256^3*temp(4)+256^2*temp(3)+256*temp(2)+temp(1))));
+ block.outptr(1)=val;
+
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ code_sent="Ia"+ascii(0+corresp(block.rpar(1))); //on envoie plus le PIN mais le numéro d'interruption
+ write_serial(1,code_sent,3)
+ code_sent="Iz"+ascii(corresp(block.rpar(1)));
+ write_serial(1,code_sent,3)
+ case 5 // Ending
+ code_sent="Ir"+ascii(corresp(block.rpar(1)));
+ write_serial(1,code_sent,3)
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5.bin b/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5.bin
new file mode 100644
index 0000000..a892246
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5.sci b/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5.sci
new file mode 100644
index 0000000..e44fd39
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5.sci
@@ -0,0 +1,87 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_PMODHB5_WRITE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pindir,num_pinen,num_arduino,exprs]=scicos_getvalue('Arduino PMODHB5 write parameters',..
+ [gettext('Direction number Pin'),gettext('Enable number Pin'),gettext('Arduino card number')],list('vec',1,'vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then
+// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pindir~=11 & num_pindir~=10 num_pindir <>9 & num_pindir<>6 & num_pindir<>5 & num_pindir<>3
+ mess=[mess ;_("Direction number Pin must be 3, 5, 6, 9, 10, 11")]
+ ok = %f
+ end
+ if num_pinen~=11 & num_pinen~=10 num_pinen <>9 & num_pinen<>6 & num_pinen<>5 & num_pinen<>3
+ mess=[mess ;_("Enable number Pin must be 3, 5, 6, 9, 10, 11")]
+ ok = %f
+ end
+ if num_pinen==num_pindir then
+ mess=[mess ;_("Direction number Pin must be different from Enable number pin")]
+ ok = %f
+ end
+
+
+ if ok then
+// Everything's ok
+ model.rpar=[num_pindir,num_pinen,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_PMODHB5_WRITE_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ Pindir=11; Pinen=10; num_arduino=1;
+ model.rpar=[Pindir,Pinen,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;displayedLabel=Dir Pin %s Enable %s<br>on Arduino card %s"]
+ x.graphics.exprs=[string(Pindir),string(Pinen),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5_WRITE_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5_WRITE_sim.bin
new file mode 100644
index 0000000..f9443a2
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5_WRITE_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5_WRITE_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5_WRITE_sim.sci
new file mode 100644
index 0000000..4bf1ba3
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_PMODHB5_WRITE_sim.sci
@@ -0,0 +1,78 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_PMODHB5_WRITE_sim(block,flag)
+ global port_com;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_DCMOTOR Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ //envoi de la direction
+ direction=sign(u1);
+ if direction>=0 then
+ code_dir="f";
+ else
+ code_dir="b";
+ end
+ code_sent="B"+ascii(48+block.rpar(1))+code_dir;
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3);
+
+ if abs(u1)>255 then
+ code_sent="A"+ascii(48+block.rpar(1))+ascii(255);
+// writeserial(port_com,code_sent);
+ elseif u1==0 then
+ code_sent="B"+ascii(48+block.rpar(1))+"r";
+// writeserial(port_com,code_sent);
+ else
+ code_sent="A"+ascii(48+block.rpar(1))+ascii(abs(uint8(u1)));
+// writeserial(port_com,code_sent);
+ end
+ write_serial(1,code_sent,3);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ arduino_sample_time=0.01;
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init DCmotor")
+ code_sent="92";
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,2);
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+
+// closeserial(port_com);
+// close_serial(1); //nécessité c'est dans xpost_simulate...
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SCOPE.bin b/scilab-arduino/tools/windows/macros/ARDUINO_SCOPE.bin
new file mode 100644
index 0000000..d64ac90
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SCOPE.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SCOPE.sci b/scilab-arduino/tools/windows/macros/ARDUINO_SCOPE.sci
new file mode 100644
index 0000000..a10883b
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SCOPE.sci
@@ -0,0 +1,169 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x,y,typ]=ARDUINO_SCOPE(job,arg1,arg2)
+
+ function diagram=create_xcosdiagram(nb_output,buffer_size)
+ diagram=scicos_diagram();
+ nb_objs=5;
+
+ for i=1:nb_output
+ scope=TOWS_c('define')
+ scope.graphics.exprs = [string(buffer_size);"o"+string(i);"0"]
+ scope.model.ipar=[buffer_size;2;24;i];
+ scope.graphics.pin = nb_objs*(i-1)+4;
+ scope.graphics.pein = nb_objs*(i-1)+5;
+
+ clockc=SampleCLK('define')
+ clockc.graphics.peout=nb_objs*(i-1)+5
+ clockc.graphics.exprs=["0.1" ; "0"]
+ clockc.model.rpar = [0.1 ; 0]
+
+ input_port=IN_f('define')
+ input_port.graphics.exprs=[string(i)]
+ input_port.model.ipar=[i]
+ input_port.graphics.pout=nb_objs*(i-1)+4
+
+ diagram.objs(nb_objs*(i-1)+1)=input_port;
+ diagram.objs(nb_objs*(i-1)+2)=scope;
+ diagram.objs(nb_objs*(i-1)+3)=clockc;
+ diagram.objs(nb_objs*(i-1)+4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1, 1], from=[nb_objs*(i-1)+1, 1,0], to=[nb_objs*(i-1)+2, 1,1])
+ diagram.objs(nb_objs*(i-1)+5)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[nb_objs*(i-1)+3, 1,0], to=[nb_objs*(i-1)+2, 1,1])
+ end
+ endfunction
+
+ x=[];y=[];typ=[];
+ select job
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,nb_output,buffer_size,exprs]=scicos_getvalue('Scope parameters',..
+ ['Nombre de courbes à superposer (légendes données dans le menu suivant)',"Taille du buffer"], ..
+ list('vec',1,'vec',1), ..
+ exprs(1:2))
+
+ mess=[];
+ if ~ok then
+ // Cancel
+ break;
+ end
+
+ if nb_output <= 0 | nb_output>=8
+ mess=[mess ;_("Number of superpozed curvs must be between 1 and 8")]
+ ok = %f
+ end
+
+
+ if ok then
+ in = ones(nb_output,1);
+ a = nb_output;
+ in2 = ones(a,1);
+ //[model,graphics,ok]=set_io(model,graphics,list(),list(),[],[],list([in in2],ones(a,1)),list());
+
+
+ string_in=string(in);
+ graphics.in_implicit=strsubst(string_in,"1","E");
+ model.in=-1*in;
+ model.in2=-2*in;
+ model.intyp=-1*in;
+
+ diagram=create_xcosdiagram(nb_output,buffer_size);
+
+ model.rpar=diagram;
+ graphics.exprs(1:2) = exprs(1:2);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+
+
+ end
+
+ if ok then
+
+ str_gettext='[';
+ labels='';
+ list_='list(';
+ names_='[';
+
+ for i=1:nb_output
+ labels=labels+'label'+string(i)+',';
+ str_gettext=str_gettext+'gettext('"Nom de la courbe '+string(i)+''")'
+ list_=list_+'''str'',-1';
+ if size(graphics.exprs,1)==nb_output+2 then
+ names_=names_+''''+graphics.exprs(2+i)+'''';
+ else
+ names_=names_+"''Courbe "+string(i)+"''"
+ end
+ if i~=nb_output then
+ str_gettext=str_gettext+';';
+ list_=list_+",";
+ names_=names_+";";
+ else
+ str_gettext=str_gettext+']';
+ list_=list_+')';
+ names_=names_+"]";
+ end
+ end
+
+ exec_string='[ok,'+labels+'exprs]=scicos_getvalue(''Paramètres optionnels'','+str_gettext+','+list_+','+names_+')';
+
+ while %t do
+
+ execstr(exec_string);
+
+ if ~ok then
+ break;
+ end
+
+ if ok then
+ graphics.exprs= [graphics.exprs(1:2);exprs];
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+
+
+ end
+ end
+
+ case 'define' then
+ nb_output = 1;
+ nb_pts=200;
+ labels="courbe";
+
+ diagram=create_xcosdiagram(nb_output,nb_pts);
+
+ model = scicos_model();
+ model.sim='csuper'
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ model.blocktype='h'
+ model.dep_ut=[%f %f]
+ model.rpar=diagram
+ x = standard_define([2 2], model, "", [])
+ x.graphics.in_implicit=["E"];
+ x.graphics.exprs=[string(nb_output);string(nb_pts);labels]
+ end
+endfunction
+
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ.bin b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ.bin
new file mode 100644
index 0000000..7a5cc8d
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ.sci b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ.sci
new file mode 100644
index 0000000..1f99c3a
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_SERVO_READ(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Servo Read parameters',..
+ [gettext('Servo number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 1 | num_pin>2
+ mess=[mess ;_("Servo numbers must be 1 or 2 (on pin 10 and 9)")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_SERVO_READ_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.out=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ Pin=1; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Servo Read Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ_sim.bin
new file mode 100644
index 0000000..1d45554
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ_sim.sci
new file mode 100644
index 0000000..2de0e44
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_READ_sim.sci
@@ -0,0 +1,76 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_SERVO_READ_sim(block,flag)
+ global port_com arduino_sample_time;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_READ Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ // Envoi de la trame sur le port série : 3 pour un analog_READ et le num de pin (0 à ...)
+ pin="7"+ascii(96+block.rpar(1));
+// writeserial(port_com,pin);
+ write_serial(1,pin,2);
+
+ values=[];
+ value=ascii(0);
+ while(value~=ascii(13)) then
+// value=readserial(port_com,1);
+ value=read_serial(1,1);
+ values=values+value;
+ end
+
+ v=strsubst(values,string(ascii(10)),'')
+ v=strsubst(v,string(ascii(13)),'')
+ block.outptr(1)=evstr(v);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ //arduino_sample_time=0.01;
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init servo read")
+ if block.rpar(1)==1 then //servo 1 on pin 10
+ pin="6a1"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ elseif block.rpar(1)==2 then //servo 2 on pin 9
+ pin="6b1"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ messagebox("Probleme dans le numero du servomoteur")
+ error('problem')
+ end
+ case 5 // Ending
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE.bin b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE.bin
new file mode 100644
index 0000000..73dac6a
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE.sci b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE.sci
new file mode 100644
index 0000000..17fb4a7
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_SERVO_WRITE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Servo Write parameters',..
+ [gettext('Servo number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 1 | num_pin>2
+ mess=[mess ;_("Servo numbers must be 1 or 2 (on pin 10 and 9)")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_SERVO_WRITE_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ Pin=1; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Servo %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE_sim.bin
new file mode 100644
index 0000000..7b27865
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE_sim.sci
new file mode 100644
index 0000000..4c6826d
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SERVO_WRITE_sim.sci
@@ -0,0 +1,89 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_SERVO_WRITE_sim(block,flag)
+ global port_com arduino_sample_time;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_WRITE Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ if (u1<0) then
+ //pin="8"+ascii(96+block.rpar(1))+ascii(0);
+ pin="Sw"+ascii(48+block.rpar(1))+ascii(0);
+// writeserial(port_com,pin);
+ elseif u1>180 then
+ //pin="8"+ascii(96+block.rpar(1))+ascii(180);
+ pin="Sw"+ascii(48+block.rpar(1))+ascii(180);
+// writeserial(port_com,pin);
+ else
+ //pin="8"+ascii(96+block.rpar(1))+ascii(uint8(u1));
+ pin="Sw"+ascii(48+block.rpar(1))+ascii(uint8(u1));
+// writeserial(port_com,pin);
+ end
+ write_serial(1,pin,4);
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+ disp("init servo write")
+ if block.rpar(1)==1 then //servo 1 on pin 9
+ pin="Sa1"
+ //pin="6a1"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ elseif block.rpar(1)==2 then //servo 2 on pin 10
+ //pin="6b1"
+ pin="Sa2"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ messagebox("Probleme dans le numero du servomoteur")
+ error('problem')
+ end
+ case 5 // Ending
+ if block.rpar(1)==1 then //servo 1 on pin 10
+ //pin="6a0"
+ pin="Sd1"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ elseif block.rpar(1)==2 then //servo 2 on pin 9
+ //pin="6b0"
+ pin="Sd2"
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ messagebox("Probleme dans le numero du servomoteur")
+ error('problem')
+ end
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SETUP.bin b/scilab-arduino/tools/windows/macros/ARDUINO_SETUP.bin
new file mode 100644
index 0000000..6d60571
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SETUP.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_SETUP.sci b/scilab-arduino/tools/windows/macros/ARDUINO_SETUP.sci
new file mode 100644
index 0000000..21e2065
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_SETUP.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_SETUP(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_arduino,port_com,exprs]=scicos_getvalue('Arduino Setup parameters',..
+ [gettext('Identifier of Arduino card'),gettext('Serial com port number')], list('vec',1,'vec',1), ..
+ exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+
+ if num_arduino<>1 then
+ mess=[gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+
+ if port_com>9 | port_com<2 then
+ mess=[gettext("Port com must not be greater than 9. Change in the pannel configuration / Port com ")];
+ ok=%f;
+ end
+
+ if ok then// Everything's ok
+ model.rpar=[num_arduino,port_com];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_SETUP", 99)
+ model.blocktype='c';
+ model.dep_ut=[%f %f];
+ model.in=[];
+ num_arduino=1;
+ port_com=5;
+ model.rpar=[num_arduino,port_com]; //Digital Output number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=[];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;align=center;spacing=-3;displayedLabel=Card %s<br>on com %s"]
+ x.graphics.exprs=[string(num_arduino),string(port_com)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER.bin b/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER.bin
new file mode 100644
index 0000000..a431693
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER.sci b/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER.sci
new file mode 100644
index 0000000..7c96d72
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_STEPPER(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Stepper parameters',..
+ [gettext('Motor number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 0 | num_pin>2
+ mess=[mess ;_("Analog Pin must be between 0 and 6.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=[num_pin,num_arduino];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_STEPPER_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ model.evtin=[1]
+ model.evtout=[1]
+ model.firing=[0;-1]
+ Pin=0; num_arduino=1;
+ model.rpar=[Pin,num_arduino]; //Default Pin number and Arduino card number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Stepper %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER_sim.bin
new file mode 100644
index 0000000..bde0077
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER_sim.sci
new file mode 100644
index 0000000..58b1dcd
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_STEPPER_sim.sci
@@ -0,0 +1,59 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_STEPPER_sim(block,flag)
+ global port_com arduino_sample_time;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_ANALOG_WRITE Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ if (u1<0.1) then
+ pin="2"+ascii(97+block.rpar(1))+"0";
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ pin="2"+ascii(97+block.rpar(1))+"1";
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ end
+
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+ evout = block.evout(1);
+ if evout < 0
+ evout = arduino_sample_time;
+ else
+ evout = evout + arduino_sample_time;
+ end
+ block.evout(1) = evout;
+ case 4 // Initialization
+
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_WRITE.bin b/scilab-arduino/tools/windows/macros/ARDUINO_WRITE.bin
new file mode 100644
index 0000000..914dc94
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_WRITE.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_WRITE.sci b/scilab-arduino/tools/windows/macros/ARDUINO_WRITE.sci
new file mode 100644
index 0000000..5d70487
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_WRITE.sci
@@ -0,0 +1,73 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab Enterprises - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ARDUINO_WRITE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,exprs]=scicos_getvalue('Arduino Digital Write parameters',..
+ [gettext('Digital Pin')], ..
+ list('vec',1), ..
+ exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+
+ if num_pin < 0 | num_pin>13
+ mess=[mess ;_("Digital Pin must be between 0 and 13.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ model.rpar=num_pin;
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("ARDUINO_WRITE_sim", 5)
+ model.blocktype='d';
+ model.dep_ut=[%f %f];
+ model.in=[1];
+ DigOut=0;
+ model.rpar=[DigOut]; //Digital Output number
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;displayedLabel=DigOut %s"]
+ x.graphics.exprs=string(DigOut);
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_WRITE_sim.bin b/scilab-arduino/tools/windows/macros/ARDUINO_WRITE_sim.bin
new file mode 100644
index 0000000..9959ea7
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_WRITE_sim.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_WRITE_sim.sci b/scilab-arduino/tools/windows/macros/ARDUINO_WRITE_sim.sci
new file mode 100644
index 0000000..e52e445
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_WRITE_sim.sci
@@ -0,0 +1,56 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab ENterprises - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function block=ARDUINO_WRITE_sim(block,flag)
+ global port_com;
+function DEBUG(message)
+ disp("[DEBUG time = "+string(scicos_time())+"] {"+block.label+"} ARDUINO_WRITE Simulation: "+message);
+endfunction
+ select flag
+ case -5 // Error
+
+ case 0 // Derivative State Update
+
+
+ case 1 // Output Update
+ u1 = block.inptr(1);
+ pin="2"+ascii(97+block.rpar);
+ if (u1<0.1) then
+ pin="2"+ascii(97+block.rpar)+"0";
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ pin="2"+ascii(97+block.rpar)+"1";
+// writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ end
+
+
+ case 2 // State Update
+
+ case 3 // OutputEventTiming
+
+ case 4 // Initialization
+
+ case 5 // Ending
+ // FIXME: quoi faire a la fin de la simulation
+
+// closeserial(port_com);
+
+ case 6 // Re-Initialisation
+
+ case 9 // ZeroCrossing
+
+ else // Unknown flag
+
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_post_simulate.bin b/scilab-arduino/tools/windows/macros/ARDUINO_post_simulate.bin
new file mode 100644
index 0000000..a50c189
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_post_simulate.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_post_simulate.sci b/scilab-arduino/tools/windows/macros/ARDUINO_post_simulate.sci
new file mode 100644
index 0000000..5e0c6d1
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_post_simulate.sci
@@ -0,0 +1,156 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function []=ARDUINO_post_simulate(%cpr, scs_m, needcompile)
+
+
+ global port_com
+
+ presence_arduino=%f //indique la presence d'un bloc arduino setup
+ // find SCOPE bloc for plotting at the end of simulation
+ presence_scope=%f;
+ list_scope=[];
+ display_now=1;
+ grid_on=1;
+
+
+ for i = 1:size(scs_m.objs)
+ curObj= scs_m.objs(i);
+ if (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SETUP")
+ presence_arduino=%t
+
+ try
+ //closeserial(port_com)
+ [a,b,c]=status_serial(1);
+ while (b+c > 0)
+ [a,b,c]=status_serial(1);
+ end
+ close_serial(1)
+ disp('Close serial port ok')
+ catch
+ messagebox("Impossible to close serial port.")
+ error('close serial port')
+
+ end
+ elseif (typeof(curObj) == "Block" & curObj.gui == "TIME_SAMPLE") then
+ if exists(curObj.graphics.exprs(3)) then
+ display_now=evstr(curObj.graphics.exprs(3));
+ else
+ display_now=1
+ end
+
+ elseif (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SCOPE")
+ presence_scope=%t
+ list_scope($+1)=i;
+ end
+
+ end
+
+ // adjust scope and add grid
+ if presence_scope & ~display_now then
+ plot_aftersim_ard2(list_scope,scs_m)
+// elseif presence_scope & display_now then
+// plot_aftersim_ard1(list_scope,scs_m)
+ else
+ nicescope()
+ if grid_on then
+ list_fig=winsid();
+ for i=list_fig
+ scf(i);
+ xgrid;
+ end
+ end
+ end
+
+ disp('End of post simulation')
+
+endfunction
+
+function plot_aftersim_ard1(list_scope,scs)
+ nb_outputs_by_scope=[];
+ nb_outputs=[]
+ nb_total_outputs=0;
+ nb_scope=size(list_scope,1);
+ legendes=cell();
+// grid_on=0;
+ list_fig=winsid();
+
+ for i=1:size(list_scope,1)
+ scf(list_fig(i));
+ j=list_scope(i);
+ obj=scs_m.objs(j);
+ nb_outputs($+1)=evstr(obj.graphics.exprs(1));
+ legendes(i).entries=obj.graphics.exprs(3:$);
+ nb_total_outputs=nb_total_outputs+nb_outputs($);
+ legend(legendes(i).entries);
+ end
+ nicescope()
+ xgrid
+endfunction
+
+
+function plot_aftersim_ard2(list_scope,scs)
+
+ nb_outputs_by_scope=[];
+ nb_total_outputs=0;
+ nb_scope=size(list_scope,1);
+ legendes=cell();
+// grid_on=0;
+
+ for i=1:size(list_scope,1)
+ j=list_scope(i);
+ obj=scs_m.objs(j);
+ nb_outputs($+1)=evstr(obj.graphics.exprs(1));
+ legendes(i).entries=obj.graphics.exprs(3:$);
+ nb_total_outputs=nb_total_outputs+nb_outputs($);
+ end
+
+ c_color=[[0.75,0.75,0];[0.25,0.25,0.25];[0,0,1];[0,0.5,0];[1,0,0];[0,0.75,0.75];[0.75,0,0.75]];
+ handle_fig=figure();
+ set(handle_fig,"background",8)
+ drawlater();
+ //extraction des champs stockés
+ D=[];
+ legend_c=[];
+ nb_objs_in_scopeblock=5;
+
+ for i=1:nb_scope
+ subplot(nb_scope,1,i);
+ //legend_c=strsplit(scs.objs(num_scope(i)).graphics.exprs(2)," ");
+ legend_c=legendes(i).entries;
+ if size(legend_c,1)~=nb_outputs(i) then
+ legend_c=_gettext("curv")+string([1:nb_outputs(i)]);
+ end
+
+ list_obj=scs_m.objs(list_scope(i)).model.rpar.objs;
+ no=1;
+ for j=1:size(list_obj)
+ if (typeof(list_obj(j)) == "Block" & list_obj(j).gui == "TOWS_c") then
+ label=list_obj(j).graphics.exprs(2);
+ D(i,no)=evstr(label);
+ no=no+1;
+ end
+ end
+
+ for no=1:nb_outputs(i)
+ plot(D(i,no).time,D(i,no).values,'color',[c_color(modulo(no,6)+1,1),c_color(modulo(no,6)+1,2),c_color(modulo(no,6)+1,3)],'thickness',2)
+ end
+ h=legend(legend_c);
+ set(h,"background",8)
+ xgrid
+
+ //title("scope_"+string(i));
+ end
+ drawnow();
+endfunction
+
+
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_pre_simulate.bin b/scilab-arduino/tools/windows/macros/ARDUINO_pre_simulate.bin
new file mode 100644
index 0000000..8ae7d3b
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_pre_simulate.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ARDUINO_pre_simulate.sci b/scilab-arduino/tools/windows/macros/ARDUINO_pre_simulate.sci
new file mode 100644
index 0000000..7886a97
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ARDUINO_pre_simulate.sci
@@ -0,0 +1,136 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function scs_m=ARDUINO_pre_simulate(scs_m, needcompile)
+ global port_com arduino_sample_time
+ presence_arduino=%f //indique la presence d'un bloc arduino setup
+ presence_scope=%f;
+ list_scope=[];
+ display_now=0;
+ funcprot(0)
+ for i = 1:size(scs_m.objs)
+ curObj= scs_m.objs(i);
+ if (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SETUP")
+ presence_arduino=%t
+ scs_m.props.tol(5)=1;
+
+ try
+ //closeserial(port_com)
+ close_serial(1)
+ sleep(1000)
+ port_com_arduino=scs_m.objs(i).model.rpar(2)
+ //port_com=openserial(port_com_arduino,"115200,n,8,1"); //ouverture du port com de la carte i
+ ok=open_serial(1,port_com_arduino,115200); //ouverture du port COM de l'arduino i
+ if (ok>0) then
+ messagebox("Error in communication port.")
+ error('connection aborted')
+ end
+ disp("communication with card "+string(1)+" on com "+string(port_com_arduino)+" is ok")
+ sleep(1000)
+
+ word='R3';
+ write_serial(1,word,2);
+ tic()
+ [a,b,c]=status_serial(1);
+ tini=toc()
+ tcur=0
+ while (b<2 & tcur<2)
+ [a,b,c]=status_serial(1);
+ tcur=toc()-tini
+ end
+ values=read_serial(1,2);
+ if tcur>=2 | values ~='v3' then
+ messagebox("The Arduino board must be loaded with the Arduino software ''toolbox_arduino_v3.ino''")
+ error('ino')
+ else
+ disp("Arduino firmware Version v3")
+ end
+
+ //writeserial(port_com,ascii(201)+ascii(201)); //mise a zero programme arduino
+ //write_serial(1,ascii(201)+ascii(201),2); // utilité ?
+ catch
+ close_serial(1)
+ error('Error in communication port.')
+
+ end
+ end
+ if (typeof(curObj) == "Block" & curObj.gui == "TIME_SAMPLE") then
+ scs_m.props.tf=scs_m.objs(i).model.rpar(1);
+ arduino_sample_time=scs_m.objs(i).model.rpar(2);
+ display_now=evstr(scs_m.objs(i).graphics.exprs(3));
+ end
+ if (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SCOPE")
+ presence_scope=%t
+ list_scope($+1)=i;
+ end
+ end
+
+ //update ISCOPES
+ if presence_scope then
+ nb_total_outputs=0;
+ nb_objs_in_scopeblock=5;
+ for i=1:size(list_scope,1)
+ //read data from ISCOPE
+ nb_outputs=evstr(scs_m.objs(list_scope(i)).graphics.exprs(1));
+
+ //read data from ireptemp
+ tf=scs_m.props.tf;
+ sample_time=arduino_sample_time;
+ num_pts=round(tf/sample_time);
+ list_obj=scs_m.objs(list_scope(i)).model.rpar.objs;
+
+ if display_now==1 then
+
+ no=1;
+ scope=CSCOPE('define');
+ scope.model.rpar(4)=tf;
+
+ scope.graphics.exprs(7)=string(tf);
+ for j=1:size(list_obj)
+ if (typeof(list_obj(j)) == "Block" & list_obj(j).gui == "TOWS_c") then //on affecte un nom pour le stockage dans scilab
+ scope.graphics.pin = scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.pin;
+ scope.graphics.pein = scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.pein;
+ scope.graphics.sz=scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.sz;
+ scope.graphics.exprs($)=scs_m.objs(list_scope(i)).graphics.exprs(3)
+ scs_m.objs(list_scope(i)).model.rpar.objs(j)=scope;
+ no=no+1;
+ elseif (typeof(list_obj(j)) == "Block" & list_obj(j).gui == "SampleCLK") then //on modifie le pas de temps
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).model.rpar(1)=sample_time;
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.exprs(1)=string(sample_time);
+ end
+ end
+ else
+ no=1;
+ for j=1:size(list_obj)
+ if (typeof(list_obj(j)) == "Block" & list_obj(j).gui == "TOWS_c") then //on affecte un nom pour le stockage dans scilab
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.exprs=[string(num_pts);"o"+string(no+nb_total_outputs);"0"];
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).model.ipar=[num_pts;2;24;no+nb_total_outputs];
+ no=no+1;
+ elseif (typeof(list_obj(j)) == "Block" & list_obj(j).gui == "SampleCLK") then //on modifie le pas de temps
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).model.rpar(1)=sample_time;
+ scs_m.objs(list_scope(i)).model.rpar.objs(j).graphics.exprs(1)=string(sample_time);
+ end
+ end
+
+ end
+
+ nb_total_outputs=nb_total_outputs+nb_outputs;
+ end
+ end
+
+
+ continueSimulation = %t;
+ disp("End of pre simulation")
+ disp('Waiting for acquisition...')
+ scs_m=resume(scs_m)
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ArduinoUnoR3.png b/scilab-arduino/tools/windows/macros/ArduinoUnoR3.png
new file mode 100644
index 0000000..80ca21b
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ArduinoUnoR3.png
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/Arduino_GUI.sce b/scilab-arduino/tools/windows/macros/Arduino_GUI.sce
new file mode 100644
index 0000000..36a8576
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/Arduino_GUI.sce
@@ -0,0 +1,616 @@
+// This GUI file is generated by guibuilder version 3.0
+//////////
+
+function disable_all(handles)
+
+ for cnt = 2:13
+ cmd_str = "set(handles.d" + string(cnt) + ",''Enable'',''off'')";
+ eval(cmd_str);
+ end
+
+ for cnt = 0:5
+ cmd_str = "set(handles.a" + string(cnt) + ",''Enable'',''off'')";
+ eval(cmd_str);
+ end
+
+endfunction
+
+f=figure('figure_position',[128,41],'figure_size',[1024,645],'auto_resize','on','background',[33],'figure_name','Graphic window number %d',"visible", "off",...
+"dockable", "off", ...
+"infobar_visible", "off", ...
+"toolbar_visible", "off", ...
+"menubar_visible", "off", ...
+"default_axes", "off");
+//////////
+//delmenu(f.figure_id,gettext('File'))
+//delmenu(f.figure_id,gettext('?'))
+//delmenu(f.figure_id,gettext('Tools'))
+//toolbar(f.figure_id,'off')
+
+
+//f = figure( ...
+//"dockable", "off", ...
+//"infobar_visible", "off", ...
+//"toolbar_visible", "off", ...
+//"menubar_visible", "off", ...
+//"default_axes", "off",...
+//"visible", "off");
+//f.tag = "scilab550video";
+//f.figure_size = [717,669];
+//f.layout = "border";
+//f.figure_name = "Scilab 5.5.0 new features";
+//f.icon = "applications-system";
+//f.background = -2;
+//tab = uicontrol("parent", f, "style", "tab");
+
+handles.dummy = 0;
+handles.obj1=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','left','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.2571875,0.0233333,0.38625,0.9316667],'Relief','default','SliderStep',[0.01,0.1],'String','ArduinoUnoR3.png','Style','image','Value',[1,1,0,0,0],'VerticalAlignment','middle','Visible','on','Tag','obj1','Callback','obj1_callback(handles)')
+
+//handles.fr_d2 = uicontrol(f,"style", "frame",'unit','normalized',"layout", "gridbag",'Position',[0.7742857,0.1214789,0.0642857,0.0352113], ...
+// "border", createBorder("titled", createBorder("etched", "lowered"), "Figure size"), ...
+// "constraints", createConstraints("gridbag", [1, 2, 1, 1], [1 1], "horizontal"));
+//
+// handles.rd_d2a=uicontrol(handles.fr_d2,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','left','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.7742857,0.1214789,0.0342857,0.0352113],'Relief','default','SliderStep',[0.01,0.1],'String','UnName2','Style','radiobutton','Value',[1],'VerticalAlignment','middle','Visible','on','Tag','rd_d2a','Callback','rd_d2a_callback(handles)')
+// handles.rd_d2b=uicontrol(handles.fr_d2,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','left','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.81,0.1197183,0.0328571,0.0352113],'Relief','default','SliderStep',[0.01,0.1],'String','UnName3','Style','radiobutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','rd_d2b','Callback','rd_d2b_callback(handles)')
+//
+//handles.rd_d3a=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','left','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.7757143,0.1619718,0.0257143,0.0264085],'Relief','default','SliderStep',[0.01,0.1],'String','UnName4','Style','radiobutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','rd_d3a','Callback','rd_d3a_callback(handles)')
+//
+x_pos = 0.65;
+y_pos = 0.155;
+width = 0.25;
+height = 0.03;
+y_offset = 0.029;
+d2 = 2;
+d3 = 3;
+d4 = 4;
+d5 = 5;
+d6 = 6;
+d7 = 7;
+d8 = 9;
+d9 = 10;
+d10 = 11;
+d11 = 12;
+d12 = 13;
+d13 = 14;
+dlabel = 15;
+
+ handles.d2 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d2-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d2a = uicontrol("parent", handles.d2,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d2", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d2)");
+ handles.d2b = uicontrol("parent", handles.d2,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d2", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d2)");
+ handles.d2c = uicontrol("parent", handles.d2,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d2",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d2)");
+ handles.d2d = uicontrol("parent", handles.d2,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d2","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d2)");
+ handles.d2a.value = 1;
+ handles.d2edit = uicontrol("parent", handles.d2,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d2","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d2btn = uicontrol("parent", handles.d2,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d2",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d2)");
+
+ handles.d4 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d4-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d4a = uicontrol("parent", handles.d4,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d4", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d4)");
+ handles.d4b = uicontrol("parent", handles.d4,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d4", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d4)");
+ handles.d4c = uicontrol("parent", handles.d4,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d4",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d4)");
+ handles.d4d = uicontrol("parent", handles.d4,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d4","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d4)");
+ handles.d4a.value = 1;
+ handles.d4edit = uicontrol("parent", handles.d4,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d4","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d4btn = uicontrol("parent", handles.d4,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d4",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d4)");
+ handles.d7 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d7-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d7a = uicontrol("parent", handles.d7,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d7", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d7)");
+ handles.d7b = uicontrol("parent", handles.d7,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d7", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d7)");
+ handles.d7c = uicontrol("parent", handles.d7,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d7",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d7)");
+ handles.d7d = uicontrol("parent", handles.d7,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d7","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d7)");
+ handles.d7a.value = 1;
+ handles.d7edit = uicontrol("parent", handles.d7,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d7","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d7btn = uicontrol("parent", handles.d7,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d7",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d7)");
+ handles.d8 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d8-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d8a = uicontrol("parent", handles.d8,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d8", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d8)");
+ handles.d8b = uicontrol("parent", handles.d8,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d8", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d8)");
+ handles.d8c = uicontrol("parent", handles.d8,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d8",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d8)");
+ handles.d8d = uicontrol("parent", handles.d8,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d8","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d8)");
+ handles.d8a.value = 1;
+ handles.d8edit = uicontrol("parent", handles.d8,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d8","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d8btn = uicontrol("parent", handles.d8,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d8",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d8)");
+ handles.d12 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d12-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d12a = uicontrol("parent", handles.d12,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d12", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d12)");
+ handles.d12b = uicontrol("parent", handles.d12,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d12", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d12)");
+ handles.d12c = uicontrol("parent", handles.d12,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d12",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d12)");
+ handles.d12d = uicontrol("parent", handles.d12,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d12","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d12)");
+ handles.d12a.value = 1;
+ handles.d12edit = uicontrol("parent", handles.d12,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d12","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d12btn = uicontrol("parent", handles.d12,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d12",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d12)");
+ handles.d13 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d13-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d13a = uicontrol("parent", handles.d13,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d13", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d13)");
+ handles.d13b = uicontrol("parent", handles.d13,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d13", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d13)");
+ handles.d13c = uicontrol("parent", handles.d13,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d13",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d13)");
+ handles.d13d = uicontrol("parent", handles.d13,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d13","enable","off",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d13)");
+ handles.d13a.value = 1;
+ handles.d13edit = uicontrol("parent", handles.d13,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d13","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d13btn = uicontrol("parent", handles.d13,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d13",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d13)");
+ handles.d3 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d3-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d3a = uicontrol("parent", handles.d3,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d3", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d3)");
+ handles.d3b = uicontrol("parent", handles.d3,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d3", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d3)");
+ handles.d3c = uicontrol("parent", handles.d3,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d3",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d3)");
+ handles.d3d = uicontrol("parent", handles.d3,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d3","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d3)");
+ handles.d3a.value = 1;
+ handles.d3edit = uicontrol("parent", handles.d3,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d3","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d3btn = uicontrol("parent", handles.d3,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d3",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d3)");
+ handles.d5 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d5-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d5a = uicontrol("parent", handles.d5,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d5", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d5)");
+ handles.d5b = uicontrol("parent", handles.d5,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d5", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d5)");
+ handles.d5c = uicontrol("parent", handles.d5,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d5",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d5)");
+ handles.d5d = uicontrol("parent", handles.d5,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d5","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d5)");
+ handles.d5a.value = 1;
+ handles.d5edit = uicontrol("parent", handles.d5,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d5","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d5btn = uicontrol("parent", handles.d5,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d5",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d5)");
+ handles.d6 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d6-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d6a = uicontrol("parent", handles.d6,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d6", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d6)");
+ handles.d6b = uicontrol("parent", handles.d6,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d6", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d6)");
+ handles.d6c = uicontrol("parent", handles.d6,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d6",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d6)");
+ handles.d6d = uicontrol("parent", handles.d6,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d6","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d6)");
+ handles.d6a.value = 1;
+ handles.d6edit = uicontrol("parent", handles.d6,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d6","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d6btn = uicontrol("parent", handles.d6,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d6",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d6)");
+ handles.d9 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d9-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d9a = uicontrol("parent", handles.d9,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d9", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d9)");
+ handles.d9b = uicontrol("parent", handles.d9,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d9", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d9)");
+ handles.d9c = uicontrol("parent", handles.d9,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d9",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d9)");
+ handles.d9d = uicontrol("parent", handles.d9,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d9","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d9)");
+ handles.d9a.value = 1;
+ handles.d9edit = uicontrol("parent", handles.d9,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d9","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d9btn = uicontrol("parent", handles.d9,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d9",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d9)");
+ handles.d10 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d10-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d10a = uicontrol("parent", handles.d10,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d10", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d10)");
+ handles.d10b = uicontrol("parent", handles.d10,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d10", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d10)");
+ handles.d10c = uicontrol("parent", handles.d10,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d10",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d10)");
+ handles.d10d = uicontrol("parent", handles.d10,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d10","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d10)");
+ handles.d10a.value = 1;
+ handles.d10edit = uicontrol("parent", handles.d10,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d10","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d10btn = uicontrol("parent", handles.d10,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d10",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d10)");
+ handles.d11 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [6, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(d11-2),width,height],...
+ "border", createBorder("line", 'blue'));
+ handles.d11a = uicontrol("parent", handles.d11,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d11", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "da_callback(handles,d11)");
+ handles.d11b = uicontrol("parent", handles.d11,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d11", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "db_callback(handles,d11)");
+ handles.d11c = uicontrol("parent", handles.d11,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d11",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dc_callback(handles,d11)");
+ handles.d11d = uicontrol("parent", handles.d11,'unit','normalized',"style", "radiobutton","horizontalalignment", "left","group", "d11","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "callback", "dd_callback(handles,d11)");
+ handles.d11a.value = 1;
+ handles.d11edit = uicontrol("parent", handles.d11,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "d11","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [5, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+ handles.d11btn = uicontrol("parent", handles.d11,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "d11",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [6, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "dbtn_callback(handles,d11)");
+
+
+ handles.dlabel = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [4, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos,y_pos + y_offset*(dlabel-2),width-0.147,height],...
+ "border", createBorder("line", 'blue'));
+ handles.dlabela = uicontrol("parent", handles.dlabel,'unit','normalized',"style", "text","horizontalalignment", "center","group", "dlabel", ...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.1 1], "both"), ...
+ "string","Off",...
+ "callback", "da_callback(handles,dlabel)");
+ handles.dlabelb = uicontrol("parent", handles.dlabel,'unit','normalized',"style", "text","horizontalalignment", "center","group", "dlabel", ...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [0.1 1], "both"), ...
+ "string","Din",...
+ "callback", "db_callback(handles,dlabel)");
+ handles.dlabelc = uicontrol("parent", handles.dlabel,'unit','normalized',"style", "text","horizontalalignment", "center","group", "dlabel",...
+ "constraints", createConstraints("gridbag", [3, 1, 1, 1], [0.1 1], "both"), ...
+ "string","Dout",...
+ "callback", "dc_callback(handles,dlabel)");
+ handles.dlabeld = uicontrol("parent", handles.dlabel,'unit','normalized',"style", "text","horizontalalignment", "center","group", "dlabel","enable","on",...
+ "constraints", createConstraints("gridbag", [4, 1, 1, 1], [0.1 1], "both"), ...
+ "string","Aout",...
+ "callback", "dd_callback(handles,dlabel)");
+
+
+// Analog In
+a0 = 0;
+a1 = 1;
+a2 = 2;
+a3 = 3;
+a4 = 4;
+a5 = 5;
+
+ handles.a0 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a0-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a0btn = uicontrol("parent", handles.a0,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a0",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a0)");
+ handles.a0edit = uicontrol("parent", handles.a0,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a0","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+ handles.a1 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a1-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a1btn = uicontrol("parent", handles.a1,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a1",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a1)");
+ handles.a1edit = uicontrol("parent", handles.a1,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a1","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+ handles.a2 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a2-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a2btn = uicontrol("parent", handles.a2,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a2",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a2)");
+ handles.a2edit = uicontrol("parent", handles.a2,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a2","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+ handles.a3 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a3-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a3btn = uicontrol("parent", handles.a3,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a3",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a3)");
+ handles.a3edit = uicontrol("parent", handles.a3,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a3","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+ handles.a4 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a4-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a4btn = uicontrol("parent", handles.a4,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a4",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a4)");
+ handles.a4edit = uicontrol("parent", handles.a4,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a4","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+ handles.a5 = uicontrol("parent", f, 'unit','normalized',"style", "frame","layout", "gridbag","constraints", createConstraints("gridbag", [2, 1, 1, 1], [1 1], "horizontal"),...
+ 'Position',[x_pos-0.53,y_pos - y_offset*(a5-3),width-0.12,height],...
+ "border", createBorder("line", 'blue'));
+ handles.a5btn = uicontrol("parent", handles.a5,'unit','normalized',"style", "pushbutton","horizontalalignment", "center","group", "a5",...
+ 'String','Run',...
+ "constraints", createConstraints("gridbag", [1, 1, 1, 1], [0.5 1], "both"), ...
+ "callback", "abtn_callback(handles,a5)");
+ handles.a5edit = uicontrol("parent", handles.a5,'unit','normalized',"style", "edit","horizontalalignment", "center","VerticalAlignment","top","group", "a5","Enable", "off",...
+ 'String','0',...
+ "constraints", createConstraints("gridbag", [2, 1, 1, 1], [1.5 1], "both"), ...
+ "callback", "");
+
+
+
+// End of Analog In
+
+// Control Panel
+ handles.comport = uicontrol("parent", f,'unit','normalized',"style", "popupmenu","horizontalalignment", "center",...
+ 'Position',[x_pos+0.08,y_pos + y_offset*(d13-2+14),width/2,height*2],...
+ 'String',['com1','com2','com3','com4','com5','com6','com7','com8','com9'],...
+ 'value',1,...
+ "callback", "");
+ handles.connect = uicontrol("parent", f,'unit','normalized',"style", "pushbutton","horizontalalignment", "center",...
+ 'Position',[x_pos+0.08,y_pos + y_offset*(d13-2+12),width/2,height*2],...
+ 'String','Connect',...
+ "callback", "connect_callback(handles)");
+
+ handles.disconnect = uicontrol("parent", f,'unit','normalized',"style", "pushbutton","horizontalalignment", "center",...
+ 'Position',[x_pos+0.08,y_pos + y_offset*(d13-2+10),width/2,height*2],...
+ 'String','Disconnect','enable','off',...
+ "callback", "disconnect_callback(handles)");
+// End of Control Panel
+
+
+disable_all(handles)
+//////////
+// Callbacks are defined as below. Please do not delete the comments as it will be used in coming version
+//////////
+
+function da_callback(handles,val)
+
+ if val>=2 & val <= 7 then
+ cmd_str = "set(handles.d" + string(val) + "edit,''Enable'',''off'')";
+ eval(cmd_str);
+ else
+ cmd_str = "set(handles.d" + string(val-1) + "edit,''Enable'',''off'')";
+ eval(cmd_str);
+ end
+
+endfunction
+
+function db_callback(handles,val)
+
+
+ if val>=2 & val <= 7 then
+ cmd_str = "set(handles.d" + string(val) + "edit,''Enable'',''off'')";
+ eval(cmd_str);
+ else
+ cmd_str = "set(handles.d" + string(val-1) + "edit,''Enable'',''off'')";
+ eval(cmd_str);
+ end
+
+
+endfunction
+
+function dc_callback(handles,val)
+
+ if val>=2 & val <= 7 then
+ cmd_str = "set(handles.d" + string(val) + "edit,''Enable'',''on'')";
+ eval(cmd_str);
+ else
+ cmd_str = "set(handles.d" + string(val-1) + "edit,''Enable'',''on'')";
+ eval(cmd_str);
+ end
+
+endfunction
+
+function dd_callback(handles,val)
+
+ if val>=2 & val <= 7 then
+ cmd_str = "set(handles.d" + string(val) + "edit,''Enable'',''on'')";
+ eval(cmd_str);
+ else
+ cmd_str = "set(handles.d" + string(val-1) + "edit,''Enable'',''on'')";
+ eval(cmd_str);
+ end
+
+endfunction
+
+
+
+
+function enable_all(handles)
+
+ for cnt = 2:13
+ cmd_str = "set(handles.d" + string(cnt) + ",''Enable'',''on'')";
+ eval(cmd_str);
+ end
+
+ for cnt = 0:5
+ cmd_str = "set(handles.a" + string(cnt) + ",''Enable'',''on'')";
+ eval(cmd_str);
+ end
+endfunction
+
+function connect_callback(handles)
+
+ ok = open_serial(1,handles.comport.value,115200);
+ if ok == 0 then
+ handles.connect.enable = 'off';
+ handles.disconnect.enable = 'on';
+ enable_all(handles);
+ else
+ messagebox('aa','aa');
+ end
+
+endfunction
+
+function disconnect_callback(handles)
+ close_serial(1);
+ handles.connect.enable = 'on';
+ handles.disconnect.enable = 'off';
+ disable_all(handles);
+endfunction
+
+function dbtn_callback(handles,val)
+//Write your callback for rd_d2b here
+if val>=8 then
+ val = val - 1;
+end
+
+cmd_str = "get(handles.d" + string(val) +".children,""value"");"
+sel = find(evstr(cmd_str));
+
+if sel == 1 then
+ cmd_str = "get(handles.d" + string(val) +"edit,""string"");"
+ out = strtod(evstr(cmd_str));
+ cmd_analog_out(1,val,out);
+elseif sel == 2
+ cmd_str = "get(handles.d" + string(val) +"edit,""string"");"
+ out = strtod(evstr(cmd_str));
+ cmd_digital_out(1,val,out);
+elseif sel == 3
+ in = cmd_digital_in(1,val);
+ cmd_str = "set(handles.d" + string(val) +"edit,""string"",""" + string(in) + """);"
+ eval(cmd_str);
+
+end
+
+endfunction
+
+function abtn_callback(handles,val)
+ in = cmd_analog_in(1,val);
+ cmd_str = "set(handles.a" + string(val) +"edit,""string"",""" + string(in) + """);"
+ eval(cmd_str);
+
+endfunction
+
+
+f.visible = "on";
diff --git a/scilab-arduino/tools/windows/macros/DCMOTOR_SB.bin b/scilab-arduino/tools/windows/macros/DCMOTOR_SB.bin
new file mode 100644
index 0000000..02fa14a
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/DCMOTOR_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/DCMOTOR_SB.sci b/scilab-arduino/tools/windows/macros/DCMOTOR_SB.sci
new file mode 100644
index 0000000..f35fe91
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/DCMOTOR_SB.sci
@@ -0,0 +1,136 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=DCMOTOR_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+ // deprecated
+ case 'getinputs' then
+ // deprecater
+ case 'getoutputs' then
+ // deprecated
+ case 'getorigin' then
+ // deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok1,type_shield,num_arduino,exprs1]=scicos_getvalue('Arduino DC MOTOR parameters',..
+ [gettext('Type of Shield (1: MotorShield Rev3, 2: PMODHB5 or L298 based, 3: L293 (2 PWM))');...
+ gettext('Arduino card number')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok1 then break; end //cancel
+
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok1=%f;
+ end
+ if type_shield~=1 & type_shield~=2 & type_shield~=3
+ mess=[mess ;_("Type shield must be 1, 2 or 3")]
+ ok1 = %f
+ end
+
+ if ok1 then
+ num_pin_1=0; num_pin_2=0;
+ if type_shield==1 then //get number of motor (between 1 et 2)
+ [ok,motor_number,exprs2]=scicos_getvalue('Motorshield Rev 3 parameters',..
+ [gettext('Channel for DC motor : A (type 1) or B (type 2)')],list('vec',1), exprs(5))
+ if ~ok then break; end //cancel
+ if (motor_number <1 | motor_number > 2)
+ mess=[mess ;_("Motor number must be 1 or 2 for Motorshield Rev 3 card")]
+ ok = %f
+ end
+ if motor_number==1 then
+ num_pin_1=12;
+ num_pin_2=3;
+ else
+ num_pin_1=13;
+ num_pin_2=11;
+ end
+ elseif type_shield==2 then
+ [ok,num_pin_1,num_pin_2,motor_number,exprs2]=scicos_getvalue('PMODHB5 or L298 driver parameters',..
+ [gettext('Direction pin ');gettext('Enable (speed) Pin');gettext('Motor number (between 1 and 4)')],list('vec',1,'vec',1,'vec',1), exprs(3:5))
+ if ~ok then break; end //cancel
+ if (motor_number < 1 | motor_number>4)
+ mess=[mess ;_("Motor number must be between 1 and 4")]
+ ok = %f
+ end
+ elseif type_shield==3 then
+ [ok,num_pin_1,num_pin_2,motor_number,exprs2]=scicos_getvalue('L293 driver parameters (control 2 PWM)',..
+ [gettext('PWM 1 Pin');gettext('PWM 2 Pin');gettext('Motor number (between 1 and 3)')],list('vec',1,'vec',1,'vec',1), exprs(3:5))
+ if ~ok then break; end //cancel
+ if (motor_number < 1 | motor_number>4)
+ mess=[mess ;_("Motor number must be between 1 and 4")]
+ ok = %f
+ end
+ end
+
+ if ok then
+ rpar=[type_shield;num_arduino;num_pin_1;num_pin_2;motor_number];
+ // Everything's ok
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ else
+ message(mess);
+ end
+
+
+ end
+
+
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_DCMOTOR('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pin = 4;
+ input_port=IN_f('define')
+ input_port.graphics.exprs=["1"]
+ input_port.model.ipar=[1]
+ input_port.graphics.pout=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=input_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[2, 1,0], to=[1, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ num_arduino=1; type_shield=1; num_pin_1=13; num_pin_2=11; motor_number=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Typeshield %s<br>on card %s"]
+ x.graphics.exprs=string([type_shield;num_arduino;num_pin_1;num_pin_2;motor_number]);
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/DIGITAL_READ_SB.bin b/scilab-arduino/tools/windows/macros/DIGITAL_READ_SB.bin
new file mode 100644
index 0000000..ef8c382
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/DIGITAL_READ_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/DIGITAL_READ_SB.sci b/scilab-arduino/tools/windows/macros/DIGITAL_READ_SB.sci
new file mode 100644
index 0000000..c87edbf
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/DIGITAL_READ_SB.sci
@@ -0,0 +1,94 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=DIGITAL_READ_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Digital Read parameters' ; 'UNO digital PIN are : 2 to 13.'; 'MEGA digital PIN are : 2 to 53.'],..
+ [gettext('Digital Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 2 | num_pin>53
+ mess=[mess ;_("Digital Pin must be between 2 and 53.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_DIGITAL_READ('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pout = 4;
+ output_port=OUT_f('define')
+ output_port.graphics.exprs=["1"]
+ output_port.model.ipar=[1]
+ output_port.graphics.pin=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=output_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[1, 1,0], to=[2, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.out=-1
+ model.out2=-2
+ model.outtyp=-1
+ Pin=3; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Digital Read Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/DIGITAL_WRITE_SB.bin b/scilab-arduino/tools/windows/macros/DIGITAL_WRITE_SB.bin
new file mode 100644
index 0000000..cae5a1c
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/DIGITAL_WRITE_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/DIGITAL_WRITE_SB.sci b/scilab-arduino/tools/windows/macros/DIGITAL_WRITE_SB.sci
new file mode 100644
index 0000000..df97949
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/DIGITAL_WRITE_SB.sci
@@ -0,0 +1,93 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=DIGITAL_WRITE_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue(['Arduino Digital Write parameters' ; 'UNO digital PIN are : 0 to 13.'; 'MEGA digital PIN are : 0 to 53.'],..
+ [gettext('Digital Pin'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 2 | num_pin>53
+ mess=[mess ;_("Digital Pin must be between 2 and 53.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_DIGITAL_WRITE('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pin = 4;
+ input_port=IN_f('define')
+ input_port.graphics.exprs=["1"]
+ input_port.model.ipar=[1]
+ input_port.graphics.pout=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=input_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[2, 1,0], to=[1, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ Pin=13; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Digital Write Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/ENCODER_SB.bin b/scilab-arduino/tools/windows/macros/ENCODER_SB.bin
new file mode 100644
index 0000000..ce6e100
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ENCODER_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/ENCODER_SB.sci b/scilab-arduino/tools/windows/macros/ENCODER_SB.sci
new file mode 100644
index 0000000..577bf12
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/ENCODER_SB.sci
@@ -0,0 +1,117 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=ENCODER_SB(job, arg1, arg2)
+ global corresp;
+ //correspondance entre le numero de la PIN et le numéro de l'interruption
+ corresp(2)=0;corresp(3)=1;corresp(21)=2;corresp(20)=3;corresp(19)=4;corresp(18)=5;
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_arduino,counting_mode,exprs1]=scicos_getvalue('Arduino Encoder parameters',..
+ [gettext('Arduino card number');gettext('Counting mode : 1 (up chanA) 2 (up/down chanA) 4 (up/down chanA and B)')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok then break; end //cancel
+ //security tests
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+// if num_encoder < 1 | num_encoder>4
+// mess=[mess ;_("Encoder number must be 1 to 4 ")]
+// ok = %f
+// end
+ if counting_mode ~=1 & counting_mode~=2 & counting_mode~=4
+ mess=[mess ;_("Counting mode must be 1, 2 or 4")]
+ ok = %f
+ end
+
+ if ok then
+ ok2=%f
+ if counting_mode==1 | counting_mode==2 then
+ [ok2,pin_A,pin_B,exprs2]=scicos_getvalue(['Definition of Pins Encoder';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Pin Channel A (interruption PIN see above)');gettext('Pin Direction (whatever)')],list('vec',1,'vec',1), exprs(3:4))
+ elseif counting_mode==4
+ [ok2,pin_A,pin_B,exprs2]=scicos_getvalue(['Definition of Pins Encoder';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Pin Channel A (interruption PIN see above)');gettext('Pin Channel B (interruption PIN see above)')],list('vec',1,'vec',1), exprs(3:4))
+ end
+ if ~ok2 then break; end //cancel
+ if pin_A~=2 & pin_A~=3 & pin_A~=18 & pin_A~=19 & pin_A~=20 & pin_A~=21 then
+ mess=[mess ;_("Pin for Channel A must be 2, 3 or 18 to 21 (pin with interrupts) ")]
+ ok2 = %f
+ end
+ if ok2 then
+ rpar=[num_arduino;counting_mode;pin_A;pin_B];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_ENCODER('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pout = 4;
+ output_port=OUT_f('define')
+ output_port.graphics.exprs=["1"]
+ output_port.model.ipar=[1]
+ output_port.graphics.pin=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=output_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[1, 1,0], to=[2, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.out=-1
+ model.out2=-2
+ model.outtyp=-1
+ //num_encoder=1;
+ num_arduino=1, counting_mode=2; pin_A=2; pin_B=4;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Encoder<br>on card %s"]
+ //x.graphics.exprs=string([num_encoder;num_arduino;counting_mode;pin_A;pin_B])
+ x.graphics.exprs=string([num_arduino;counting_mode;pin_A;pin_B])
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/INTERRUPT_SB.bin b/scilab-arduino/tools/windows/macros/INTERRUPT_SB.bin
new file mode 100644
index 0000000..c7a8343
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/INTERRUPT_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/INTERRUPT_SB.sci b/scilab-arduino/tools/windows/macros/INTERRUPT_SB.sci
new file mode 100644
index 0000000..a4289a6
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/INTERRUPT_SB.sci
@@ -0,0 +1,82 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=INTERRUPT_SB(job, arg1, arg2)
+ global corresp;
+ corresp(2)=0;corresp(3)=1;corresp(21)=2;corresp(20)=3;corresp(19)=4;corresp(18)=5;
+ x=[];
+ y=[];
+ typ=[];
+
+ select job
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,pin_interrupt,num_arduino,exprs1]=scicos_getvalue(['Arduino Interrupt parameters';'UNO interruption PIN are : 2 or 3';'MEGA interruption PIN are : 2, 3 and 18 to 21'],..
+ [gettext('Interrupt pin number');gettext('Arduino card number')],list('vec',1,'vec',1), exprs(1:2))
+ mess=[];
+
+ if ~ok then break; end //cancel
+ //security tests
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if ok then
+
+ rpar=[pin_interrupt;num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_INTERRUPT('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pout = 4;
+ output_port=OUT_f('define')
+ output_port.graphics.exprs=["1"]
+ output_port.model.ipar=[1]
+ output_port.graphics.pin=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=output_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[1, 1,0], to=[2, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.out=-1
+ model.out2=-2
+ model.outtyp=-1
+ pin_interrupt=2; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Interrupt on pin %s<br>on card %s"]
+ x.graphics.exprs=string([pin_interrupt;num_arduino])
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/SERVO_READ_SB.bin b/scilab-arduino/tools/windows/macros/SERVO_READ_SB.bin
new file mode 100644
index 0000000..aaa9ea9
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/SERVO_READ_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/SERVO_READ_SB.sci b/scilab-arduino/tools/windows/macros/SERVO_READ_SB.sci
new file mode 100644
index 0000000..85ab3db
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/SERVO_READ_SB.sci
@@ -0,0 +1,93 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=SERVO_READ_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Servo Read parameters',..
+ [gettext('Servo number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 1 | num_pin>2
+ mess=[mess ;_("Servo numbers must be 1 or 2 (on pin 10 and 9)")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_SERVO_READ('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pout = 4;
+ output_port=OUT_f('define')
+ output_port.graphics.exprs=["1"]
+ output_port.model.ipar=[1]
+ output_port.graphics.pin=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=output_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[1, 1,0], to=[2, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.out=-1
+ model.out2=-2
+ model.outtyp=-1
+ Pin=1; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.out_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Servo Read Pin %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/SERVO_WRITE_SB.bin b/scilab-arduino/tools/windows/macros/SERVO_WRITE_SB.bin
new file mode 100644
index 0000000..28cc062
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/SERVO_WRITE_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/SERVO_WRITE_SB.sci b/scilab-arduino/tools/windows/macros/SERVO_WRITE_SB.sci
new file mode 100644
index 0000000..82f346e
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/SERVO_WRITE_SB.sci
@@ -0,0 +1,93 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=SERVO_WRITE_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Servo Write parameters',..
+ [gettext('Servo number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 1 | num_pin>2
+ mess=[mess ;_("Servo numbers must be 1 or 2 (on pin 10 and 9)")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_SERVO_WRITE('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pin = 4;
+ input_port=IN_f('define')
+ input_port.graphics.exprs=["1"]
+ input_port.model.ipar=[1]
+ input_port.graphics.pout=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=input_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[2, 1,0], to=[1, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ Pin=1; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Servo %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/STEPPER_SB.bin b/scilab-arduino/tools/windows/macros/STEPPER_SB.bin
new file mode 100644
index 0000000..9c5f1d7
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/STEPPER_SB.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/STEPPER_SB.sci b/scilab-arduino/tools/windows/macros/STEPPER_SB.sci
new file mode 100644
index 0000000..3a8dded
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/STEPPER_SB.sci
@@ -0,0 +1,93 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=STEPPER_SB(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,num_pin,num_arduino,exprs]=scicos_getvalue('Arduino Stepper parameters',..
+ [gettext('Motor number (1 or 2)'),gettext('Arduino card number')],list('vec',1,'vec',1), exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+ if num_arduino<>1 then
+ mess=[mess ;gettext("Only card 1 can be used with this toolbox version ")];
+ ok=%f;
+ end
+ if num_pin < 0 | num_pin>2
+ mess=[mess ;_("Analog Pin must be between 0 and 6.")]
+ ok = %f
+ end
+
+
+ if ok then// Everything's ok
+ rpar=[num_pin,num_arduino];
+ model.rpar.objs(1).model.rpar=rpar;
+ model.rpar.objs(1).graphics.exprs= string(rpar);
+ graphics.exprs = string(rpar);
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ diagram=scicos_diagram();
+ arduino_comp=ARDUINO_STEPPER('define')
+ arduino_comp.graphics.pein = 3;
+ arduino_comp.graphics.peout = 3;
+ arduino_comp.graphics.pin = 4;
+ input_port=IN_f('define')
+ input_port.graphics.exprs=["1"]
+ input_port.model.ipar=[1]
+ input_port.graphics.pout=4;
+
+ diagram.objs(1)=arduino_comp;
+ diagram.objs(2)=input_port;
+ diagram.objs(3)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[5, -1], from=[1, 1,0], to=[1, 1,1])
+ diagram.objs(4)=scicos_link(xx=[0 ; 0],yy=[0 ; 0], ct=[1,1], from=[2, 1,0], to=[1, 1,1])
+
+ model=scicos_model();
+ model.sim='csuper'
+ model.blocktype='h';
+ model.dep_ut=[%f %f];
+ model.rpar=diagram
+ model.in=-1
+ model.in2=-2
+ model.intyp=-1
+ Pin=0; num_arduino=1;
+ x=standard_define([2 2],model,[],[]);
+ x.graphics.in_implicit=['E'];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=bottom;verticalAlign=top;spacing=-2;displayedLabel=Stepper %s<br>on card %s"]
+ x.graphics.exprs=[string(Pin),string(num_arduino)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/TIME_SAMPLE.bin b/scilab-arduino/tools/windows/macros/TIME_SAMPLE.bin
new file mode 100644
index 0000000..e00e18d
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/TIME_SAMPLE.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/TIME_SAMPLE.sci b/scilab-arduino/tools/windows/macros/TIME_SAMPLE.sci
new file mode 100644
index 0000000..b9d1729
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/TIME_SAMPLE.sci
@@ -0,0 +1,77 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function [x, y, typ]=TIME_SAMPLE(job, arg1, arg2)
+ x=[];
+ y=[];
+ typ=[];
+ select job
+ case 'plot' then
+// deprecated
+ case 'getinputs' then
+// deprecater
+ case 'getoutputs' then
+// deprecated
+ case 'getorigin' then
+// deprecated
+ case 'set' then
+ x=arg1;
+ graphics=arg1.graphics;
+ exprs=graphics.exprs
+ model=arg1.model;
+
+ while %t do
+ [ok,tf,period,display_now,exprs]=scicos_getvalue('Time sample parameters',..
+ [gettext('Duration of acquisition (s)'),gettext('Sampling period (s)'),gettext('Display curvs continuously (1 yes / 0 no)')], list('vec',1,'vec',1,'vec',1), ..
+ exprs)
+ mess=[];
+
+ if ~ok then// Cancel
+ break;
+ end
+
+ if period <0.005 then
+ mess=[gettext("sampling period mus be greater than 0.005")];
+ ok=%f;
+ end
+
+ if display_now ~=1 & display_now~=0
+ mess=[mess ;_("Choose 1 or 0 to display curvs during simulation or at the end")]
+ ok = %f
+ end
+
+ if ok then// Everything's ok
+ model.rpar=[tf,period,display_now];
+ graphics.exprs = exprs;
+ x.model=model;
+ x.graphics = graphics;
+ break
+ else
+ message(mess);
+ end
+
+ end
+ case 'define' then
+ model=scicos_model();
+ model.sim=list("TIME_SAMPLE", 99)
+ model.blocktype='c';
+ model.dep_ut=[%f %f];
+ model.in=[];
+ tf=10;
+ period=0.1;
+ model.rpar=[tf,period,1]; //Digital Output number
+ x=standard_define([6 2],model,[],[]);
+ x.graphics.in_implicit=[];
+ x.graphics.style=["blockWithLabel;verticalLabelPosition=center;displayedLabel=Duration : %s<br> Sampling period %s"]
+ x.graphics.exprs=[string(tf),string(period),string(1)];
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/buildmacros.sce b/scilab-arduino/tools/windows/macros/buildmacros.sce
new file mode 100644
index 0000000..a129dc7
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/buildmacros.sce
@@ -0,0 +1,23 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+
+function buildmacros()
+ macros_path = get_absolute_file_path("buildmacros.sce");
+ tbx_build_macros(TOOLBOX_NAME, macros_path);
+ blocks = [
+ "ARDUINO_ANALOG_READ" "ARDUINO_ANALOG_WRITE" "ARDUINO_DCMOTOR" ...
+ "ARDUINO_DIGITAL_READ" "ARDUINO_DIGITAL_WRITE" "ARDUINO_ENCODER" ...
+ "ARDUINO_SERVO_READ" "ARDUINO_SERVO_WRITE" "ARDUINO_SETUP" ...
+ "ARDUINO_STEPPER" "ARDUINO_INTERRUPT"...
+ "TIME_SAMPLE" "ARDUINO_SETUP" ...
+ "ANALOG_READ_SB" "ANALOG_WRITE_SB" "DCMOTOR_SB" ...
+ "DIGITAL_READ_SB" "DIGITAL_WRITE_SB" "ENCODER_SB" ...
+ "SERVO_READ_SB" "SERVO_WRITE_SB" "STEPPER_SB" "INTERRUPT_SB" ...
+ "ARDUINO_SCOPE"
+ ];
+ tbx_build_blocks(toolbox_dir, blocks);
+
+endfunction
+
+buildmacros();
+clear buildmacros; // remove buildmacros on stack
+
diff --git a/scilab-arduino/tools/windows/macros/close_serial.bin b/scilab-arduino/tools/windows/macros/close_serial.bin
new file mode 100644
index 0000000..fee303d
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/close_serial.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/close_serial.sci b/scilab-arduino/tools/windows/macros/close_serial.sci
new file mode 100644
index 0000000..9c5b85f
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/close_serial.sci
@@ -0,0 +1,37 @@
+//
+// This file is part of Arduino toolbox
+// Copyright (C) 2012-2012 - DEMOSCIENCES - Alain CAIGNOT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+function res=close_serial(nHandle)
+// Command to close the serial port which is connected to Arduino
+//
+// Calling Sequence
+// res=close_serial(nHandle)
+//
+// Parameters
+// nHandle : Board number, reserved for future use. For this version, any number would do
+// res : 0 if the connection is successful, else the connection fail
+//
+// Description
+// It is important to close the serial port after use, else the port would be busy and restart of Scilab might required to connect to it again.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// close_serial(1)
+//
+// See also
+// open_serial
+//
+// Authors
+// Bruno JOFRET
+//
+ res=call("close_serial",nHandle,1,"i","out",[1,1],2,"i")
+endfunction
+
diff --git a/scilab-arduino/tools/windows/macros/cmd_analog_in.bin b/scilab-arduino/tools/windows/macros/cmd_analog_in.bin
new file mode 100644
index 0000000..d2b0771
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_analog_in.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_analog_in.sci b/scilab-arduino/tools/windows/macros/cmd_analog_in.sci
new file mode 100644
index 0000000..9c40d7b
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_analog_in.sci
@@ -0,0 +1,44 @@
+function val = cmd_analog_in(h,pin_no)
+// Command to read in analog signal from a connected Arduino board
+//
+// Calling Sequence
+// val = cmd_analog_in(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Analog pin to measure the signal
+// val : Reading in the range of 0-1023 to to indicate the input voltage from 0-5V
+//
+// Description
+// Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+// The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// val = cmd_analog_in(1,9)
+// close_serial(1)
+//
+// See also
+// cmd_analog_in_volt
+//
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ pin="A"+ascii(48+pin_no);
+ write_serial(h,pin,2);
+
+ //binary transfer
+ [a,b,c]=status_serial(h);
+ while (b < 2)
+ [a,b,c]=status_serial(h);
+ end
+ values=read_serial(h,2);
+
+ temp=ascii(values);
+ val=double(int16(256*temp(2)+temp(1)));
+
+
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_analog_in_volt.bin b/scilab-arduino/tools/windows/macros/cmd_analog_in_volt.bin
new file mode 100644
index 0000000..d888dbe
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_analog_in_volt.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_analog_in_volt.sci b/scilab-arduino/tools/windows/macros/cmd_analog_in_volt.sci
new file mode 100644
index 0000000..8c83254
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_analog_in_volt.sci
@@ -0,0 +1,45 @@
+function val = cmd_analog_in_volt(h,pin_no)
+// Command to read in analog signal from a connected Arduino board
+//
+// Calling Sequence
+// val = cmd_analog_in_volt(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Analog pin to measure the signal
+// val : Reading in the input voltage from 0-5V
+//
+// Description
+// Arduino UNO board has 6 analog input ports (A0 to A5), the Arduino Mega board has 16 analog input ports (A0 to A15).
+// The 10 bits channels convert the analog input from 0 to 5 volts, to a digital value between 0 and 1023. This function scale the reading to 0-5 so the user could get the measured voltage directly
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// val = cmd_analog_in_volt(1,9)
+// close_serial(1)
+//
+// See also
+// cmd_analog_out
+//
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ pin="A"+ascii(48+pin_no);
+ write_serial(h,pin,2);
+
+ //binary transfer
+ [a,b,c]=status_serial(h);
+ while (b < 2)
+ [a,b,c]=status_serial(h);
+ end
+ values=read_serial(h,2);
+
+ temp=ascii(values);
+ val=double(int16(256*temp(2)+temp(1)));
+ val = val./1023
+
+
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_analog_out.bin b/scilab-arduino/tools/windows/macros/cmd_analog_out.bin
new file mode 100644
index 0000000..4229203
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_analog_out.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_analog_out.sci b/scilab-arduino/tools/windows/macros/cmd_analog_out.sci
new file mode 100644
index 0000000..a667cd8
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_analog_out.sci
@@ -0,0 +1,41 @@
+function cmd_analog_out(h,pin_no,val)
+// Command to sent out analog signal to a connected Arduino board
+//
+// Calling Sequence
+// cmd_analog_out(h,pin_no,val)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin with ~ to sent the signal
+// val : The value of 0-255 to be sent to the digital pins with ~ sign. It will be then scaled to 0-5V
+//
+// Description
+// The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+// It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses,
+// the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+// voltage across the component connected to this port, which has the effect of having a analog output voltage.
+//
+// The input port accepts the value from 0 to 255 which is correspoding to the duty cycle of 0 to 100%. In other words, sending 0 to the block will generate 0 V output at the port, 127 generates 2.5V and 255 generates 5V. (the port is 8 bits, so the resolutions of output would be 2^8 =256).
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_analog_out(1,9,100)
+// close_serial(1)
+//
+// See also
+// cmd_analog_out_volt
+// cmd_arduino_a_control
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ if val > 255 then
+ val = 255;
+ elseif val < 0
+ val = 0;
+ end
+ code_sent="W"+ascii(48+pin_no)+ascii(abs(ceil(val)));
+ write_serial(h,code_sent,3);
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_analog_out_volt.bin b/scilab-arduino/tools/windows/macros/cmd_analog_out_volt.bin
new file mode 100644
index 0000000..9e37f87
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_analog_out_volt.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_analog_out_volt.sci b/scilab-arduino/tools/windows/macros/cmd_analog_out_volt.sci
new file mode 100644
index 0000000..60e9b6d
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_analog_out_volt.sci
@@ -0,0 +1,41 @@
+function cmd_analog_out_volt(h,pin_no,val)
+// Command to sent out analog signal to a connected Arduino board
+//
+// Calling Sequence
+// cmd_analog_out_volt(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin with ~ to sent the signal
+// val : The value in volt (0-5) to be sent to the digital pins with ~ sign.
+//
+// Description
+// The analog outputs of the Arduino Uno is available at the pins 3,5,6,9,10 and 11, while on the Mega board, the outputs are on pins 1-13 and 44-46.
+// It is a bit misleading to use the term "analog output", because in order to generate this output while minimizing energy losses,
+// the Arduino uses PWM (Pulse Width Modulation) available on these ports. By varying the duty cycle of the PWM is altered the average
+// voltage across the component connected to this port, which has the effect of having a analog output voltage.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_analog_out_volt(1,9,100)
+// close_serial(1)
+//
+// See also
+// cmd_analog_out
+// cmd_arduino_a_control
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ if val > 5 then
+ val = 5;
+ elseif val < 0
+ val = 0;
+ end
+ val = val .* 255 ./ 5;
+
+ code_sent="W"+ascii(48+pin_no)+ascii(abs(ceil(val)));
+ write_serial(h,code_sent,3);
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_arduino_a_control.bin b/scilab-arduino/tools/windows/macros/cmd_arduino_a_control.bin
new file mode 100644
index 0000000..7cc424a
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_arduino_a_control.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_arduino_a_control.sci b/scilab-arduino/tools/windows/macros/cmd_arduino_a_control.sci
new file mode 100644
index 0000000..9ff1492
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_arduino_a_control.sci
@@ -0,0 +1,70 @@
+// This GUI file is generated by guibuilder version 3.0
+//////////
+function cmd_arduino_a_control(h,pin_no)
+// GUI to control analog signal to be sent to a connected Arduino board
+//
+// Calling Sequence
+// cmd_arduino_a_control(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin with ~ to sent the signal
+//
+// Description
+// This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_arduino_a_control(1,9,100)
+// close_serial(1)
+//
+// See also
+// cmd_analog_out_volt
+// cmd_analog_out
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ // str = string(val);
+ //
+ handles.h = h;
+ handles.pin_no = pin_no;
+ f=figure('figure_position',[128,41],'figure_size',[300,300],'auto_resize','on','background',[33],'figure_name','Arduino Digital Control',"visible", "off",...
+ "dockable", "off", ...
+ "infobar_visible", "off", ...
+ "toolbar_visible", "off", ...
+ "menubar_visible", "off", ...
+ "default_axes", "off");
+
+ handles.pbStop=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.3159509,0.16,0.3619632,0.2],'Relief','default','SliderStep',[0.01,0.1],'String','Stop','Style','pushbutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','pbStop','Callback','pbStop_callback()')
+ handles.spResult=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[36],'FontUnits','points','FontWeight','bold','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[255],'Min',[0],'Position',[0.3190184,0.565,0.3527607,0.19],'Relief','default','SliderStep',[1,10],'String',"0",'Style','spinner','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','spResult','Callback','spResult_callback(handles)')
+
+
+ f.visible = "on";
+
+ handles = resume(handles);
+ //set(txtResult,'string',str);
+
+endfunction
+//////////
+// Callbacks are defined as below. Please do not delete the comments as it will be used in coming version
+function spResult_callback(handles)
+// pbResult = findobj("tag', "pbResult");
+
+// val
+ cmd_analog_out(handles.h,handles.pin_no,handles.spResult.value)
+ // disp(handles.spResult.value);
+
+endfunction //////////
+
+function pbStop_callback()
+ //Write your callback for pbStop here
+ close();
+ // abort;
+
+
+endfunction
+
+
+
diff --git a/scilab-arduino/tools/windows/macros/cmd_arduino_d_control.bin b/scilab-arduino/tools/windows/macros/cmd_arduino_d_control.bin
new file mode 100644
index 0000000..e4b6789
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_arduino_d_control.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_arduino_d_control.sci b/scilab-arduino/tools/windows/macros/cmd_arduino_d_control.sci
new file mode 100644
index 0000000..576b2a8
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_arduino_d_control.sci
@@ -0,0 +1,75 @@
+// This GUI file is generated by guibuilder version 3.0
+//////////
+function cmd_arduino_d_control(h,pin_no)
+// GUI to control digital signal to be sent to a connected Arduino board
+//
+// Calling Sequence
+// cmd_arduino_d_control(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin to sent the signal
+//
+// Description
+// This GUI provides a convenient way to control the value (0-255) to sent to the given pin number on Arduino.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_arduino_d_control(1,9)
+// close_serial(1)
+//
+// See also
+// cmd_digital_out_volt
+// cmd_digital_out
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ // str = string(val);
+ //
+ handles.h = h;
+ handles.pin_no = pin_no;
+ f=figure('figure_position',[128,41],'figure_size',[300,300],'auto_resize','on','background',[33],'figure_name','Arduino Digital Control',"visible", "off",...
+ "dockable", "off", ...
+ "infobar_visible", "off", ...
+ "toolbar_visible", "off", ...
+ "menubar_visible", "off", ...
+ "default_axes", "off");
+
+ handles.pbStop=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.3159509,0.16,0.3619632,0.2],'Relief','default','SliderStep',[0.01,0.1],'String','Stop','Style','pushbutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','pbStop','Callback','pbStop_callback()')
+ handles.pbResult=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[24],'FontUnits','points','FontWeight','bold','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.3190184,0.565,0.3527607,0.19],'Relief','default','SliderStep',[0.01,0.1],'String',"LOW",'Style','pushbutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','pbResult','Callback','pbResult_callback(handles)')
+
+
+ f.visible = "on";
+
+ handles = resume(handles);
+ //set(txtResult,'string',str);
+
+endfunction
+//////////
+// Callbacks are defined as below. Please do not delete the comments as it will be used in coming version
+function pbResult_callback(handles)
+// pbResult = findobj("tag', "pbResult");
+
+ if handles.pbResult.string == "LOW" then
+ set(handles.pbResult,"string", "HIGH")
+ set(handles.pbResult,"relief", "sunken")
+ cmd_digital_out(handles.h,handles.pin_no,1)
+ elseif handles.pbResult.string == "HIGH"
+ set(handles.pbResult,"string", "LOW")
+ set(handles.pbResult,"relief", "raised")
+ cmd_digital_out(handles.h,handles.pin_no,0)
+ end
+
+endfunction //////////
+
+function pbStop_callback()
+ //Write your callback for pbStop here
+ close();
+ // abort;
+
+
+endfunction
+
+
+
diff --git a/scilab-arduino/tools/windows/macros/cmd_arduino_meter.bin b/scilab-arduino/tools/windows/macros/cmd_arduino_meter.bin
new file mode 100644
index 0000000..cdc406e
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_arduino_meter.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_arduino_meter.sci b/scilab-arduino/tools/windows/macros/cmd_arduino_meter.sci
new file mode 100644
index 0000000..52d9de8
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_arduino_meter.sci
@@ -0,0 +1,64 @@
+// This GUI file is generated by guibuilder version 3.0
+//////////
+function cmd_arduino_meter(val)
+// GUI to display continuous signal from a loop, and break the loop after termination of the GUI
+//
+// Calling Sequence
+// cmd_arduino_meter(val)
+//
+// Parameters
+// val : Value to be displayed
+//
+// Description
+// This GUI provides a convenient way display a continuous data from a loop and break the loop after the termination of the GUI. By this, it behave like a digital meter by showing the data in a GUI instead of the console
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// val = cmd_analog_in_volt(1,9)
+// cmd_arduino_meter(val)
+// close_serial(1)
+//
+// See also
+// cmd_arduino_d_control
+// cmd_arduino_a_control
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ str = string(val);
+ f = findobj('figure_name','Arduino Meter');
+ if isempty(f) then
+ f=figure('figure_position',[128,41],'figure_size',[300,300],'auto_resize','on','background',[33],'figure_name','Arduino Meter',"visible", "off",...
+ "dockable", "off", ...
+ "infobar_visible", "off", ...
+ "toolbar_visible", "off", ...
+ "menubar_visible", "off", ...
+ "default_axes", "off");
+
+ pbStop=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[12],'FontUnits','points','FontWeight','normal','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.3159509,0.16,0.3619632,0.2],'Relief','default','SliderStep',[0.01,0.1],'String','Stop','Style','pushbutton','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','pbStop','Callback','pbStop_callback()')
+ txtResult=uicontrol(f,'unit','normalized','BackgroundColor',[-1,-1,-1],'Enable','on','FontAngle','normal','FontName','Tahoma','FontSize',[24],'FontUnits','points','FontWeight','bold','ForegroundColor',[-1,-1,-1],'HorizontalAlignment','center','ListboxTop',[],'Max',[1],'Min',[0],'Position',[0.3190184,0.565,0.3527607,0.19],'Relief','default','SliderStep',[0.01,0.1],'String',str,'Style','text','Value',[0],'VerticalAlignment','middle','Visible','on','Tag','txtResult','Callback','')
+
+ else
+ pbStop = findobj('Tag','pbStop');
+ txtResult = findobj('Tag','txtResult');
+ // pause
+
+ end
+ set(txtResult,'string',str);
+f.visible = "on";
+ endfunction
+ //////////
+ // Callbacks are defined as below. Please do not delete the comments as it will be used in coming version
+ //////////
+
+ function pbStop_callback()
+ //Write your callback for pbStop here
+ close();
+ abort;
+
+
+ endfunction
+
+
+
diff --git a/scilab-arduino/tools/windows/macros/cmd_dcmotor_release.bin b/scilab-arduino/tools/windows/macros/cmd_dcmotor_release.bin
new file mode 100644
index 0000000..8ca7ca5
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_dcmotor_release.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_dcmotor_release.sci b/scilab-arduino/tools/windows/macros/cmd_dcmotor_release.sci
new file mode 100644
index 0000000..daf694d
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_dcmotor_release.sci
@@ -0,0 +1,38 @@
+function cmd_dcmotor_release(h,motor_no)
+// Command to release pins which have setup for DC motor
+//
+// Calling Sequence
+// cmd_dcmotor_release(h,motor_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// motor_no : ID in which the motor has been connected
+//
+// Description
+// Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+//
+// Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+// cmd_dcmotor_run(1,1,255)
+// sleep(1000)
+// cmd_dcmotor_run(1,1,-255)
+// sleep(1000)
+// cmd_dcmotor_release(1,1)
+// close_serial(1)
+
+// See also
+// cmd_dcmotor_setup
+// cmd_dcmotor_release
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ code_sent="M"+ascii(48+motor_no)+"1"+ascii(0);
+ write_serial(h,code_sent,4);
+
+ code_sent="M"+ascii(48+motor_no)+"r";
+ write_serial(h,code_sent,3)
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_dcmotor_run.bin b/scilab-arduino/tools/windows/macros/cmd_dcmotor_run.bin
new file mode 100644
index 0000000..205c06e
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_dcmotor_run.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_dcmotor_run.sci b/scilab-arduino/tools/windows/macros/cmd_dcmotor_run.sci
new file mode 100644
index 0000000..f564c84
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_dcmotor_run.sci
@@ -0,0 +1,52 @@
+function cmd_dcmotor_run(h,motor_no,u1)
+// Command to run DC motor after setting up
+//
+// Calling Sequence
+// cmd_dcmotor_run(h,motor_no,u1)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// motor_no : ID in which the motor has been connected
+// u1 : Value to sent, range from -255 to 255, for clockwise and anti-clockwise direction
+//
+// Description
+// Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+//
+// Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+// cmd_dcmotor_run(1,1,255)
+// sleep(1000)
+// cmd_dcmotor_run(1,1,-255)
+// sleep(1000)
+// cmd_dcmotor_release(1,1)
+// close_serial(1)
+
+// See also
+// cmd_dcmotor_setup
+// cmd_dcmotor_release
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ direction=sign(u1);
+
+ if direction>=0 then
+ code_dir=ascii(49);
+ else
+ code_dir=ascii(48);
+ end
+ if abs(u1)>255 then
+ val=255;
+ else
+ val=abs(ceil(u1));
+ end
+
+ code_sent="M"+ascii(48+motor_no)+code_dir+ascii(val);
+ write_serial(h,code_sent,4)
+// end
+
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_dcmotor_setup.bin b/scilab-arduino/tools/windows/macros/cmd_dcmotor_setup.bin
new file mode 100644
index 0000000..30c501a
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_dcmotor_setup.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_dcmotor_setup.sci b/scilab-arduino/tools/windows/macros/cmd_dcmotor_setup.sci
new file mode 100644
index 0000000..2808bc4
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_dcmotor_setup.sci
@@ -0,0 +1,62 @@
+function cmd_dcmotor_setup(h,driver_type,motor_no,pin_no_1,pin_no_2)
+// Command to setup pins to control DC motor
+//
+// Calling Sequence
+// cmd_dcmotor_setup(h,driver_type,motor_no,pin_no_1,pin_no_2)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// driver_type : 1=Motorshield Rev3, 2=L298, 3=L293
+// motor_no : ID used to identify motor to be connected
+// pin_no_1 : Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.
+// pin_no_2 : Depends on the driver type, choose the correct pins for the purpose. For example, using L293 require PWM pin to be selected.
+//
+// Description
+// Arduino board does not deliver enough power, so it is necessary to use a H-bridge circuit/IC to control the motor. There are several types of H-bridge IC that do not all operate on the same principle. For example, the L298 requires the use of a PWM signal with current sense. The L293 uses two PWM to set the speed and direction. Ready-to-use Shields are also available.
+//
+// Remember that the PWM is 8-bit (0 to 255). The input of the block could accept any value, but it would saturate at +- 255.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293), motor 1, pin 9 and 10
+// cmd_dcmotor_run(1,1,255)
+// sleep(1000)
+// cmd_dcmotor_run(1,1,-255)
+// sleep(1000)
+// cmd_dcmotor_release(1,1)
+// close_serial(1)
+
+// See also
+// cmd_dcmotor_run
+// cmd_dcmotor_release
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ disp("init DCmotor")
+ if(driver_type==1) then
+ //code_sent="91";
+ code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"1"; //adafruit
+ elseif (driver_type==2) then
+ code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"1"; //code pour initialiser L298
+ elseif (driver_type==3) then
+ code_sent="C"+string(motor_no)+ascii(48+pin_no_1)+ascii(48+pin_no_2)+"0"; //code pour initialiser L293
+ end
+
+ write_serial(h,code_sent,5)
+
+
+ //Attente que l'arduino reponde OK
+ [a,b,c]=status_serial(1);
+ while (b < 2)
+ [a,b,c]=status_serial(1);
+ end
+ values=read_serial(1,2);
+ if (values == 'OK') then
+ disp('Init motor successful')
+ else
+ disp('Init motor unsuccessful')
+ end
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_digital_in.bin b/scilab-arduino/tools/windows/macros/cmd_digital_in.bin
new file mode 100644
index 0000000..f28d66e
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_digital_in.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_digital_in.sci b/scilab-arduino/tools/windows/macros/cmd_digital_in.sci
new file mode 100644
index 0000000..f3cdba7
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_digital_in.sci
@@ -0,0 +1,55 @@
+function values = cmd_digital_in(h,pin_no)
+// Command to read in digital signal from a connected Arduino board
+//
+// Calling Sequence
+// values = cmd_digital_in(h,pin_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin to measure the signal
+//
+// Description
+// The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+//
+// To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// val = cmd_digital_in(1,2)
+// close_serial(1)
+//
+// See also
+// cmd_digital_out
+//
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+if isvector(pin_no)
+ for cnt = 1: size(pin_no,2)
+ pin="Da"+ascii(48+pin_no(cnt))+"0";
+ write_serial(h,pin,4);
+ pin="Dr"+ascii(48+pin_no(cnt));
+ write_serial(1,pin,3);
+ //binary transfer
+ [a,b,c]=status_serial(h);
+ while (b < 1)
+ [a,b,c]=status_serial(h);
+ end
+ values(cnt)=strtod(read_serial(h,1));
+ end
+else
+pin="Da"+ascii(48+pin_no)+"0";
+write_serial(h,pin,4);
+ pin="Dr"+ascii(48+pin_no);
+ write_serial(1,pin,3);
+ //binary transfer
+ [a,b,c]=status_serial(h);
+ while (b < 1)
+ [a,b,c]=status_serial(h);
+ end
+ values=strtod(read_serial(h,1));
+end
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_digital_out.bin b/scilab-arduino/tools/windows/macros/cmd_digital_out.bin
new file mode 100644
index 0000000..38359b4
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_digital_out.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_digital_out.sci b/scilab-arduino/tools/windows/macros/cmd_digital_out.sci
new file mode 100644
index 0000000..e91cf52
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_digital_out.sci
@@ -0,0 +1,72 @@
+function cmd_digital_out(h,pin_no,val)
+// Command to sent out digital signal to a connected Arduino board
+//
+// Calling Sequence
+// cmd_digital_out(h,pin_no,val)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// pin_no : Digital pin to sent the signal
+// val : The value of 0 or 1 to be sent to the digital pins with. It is correspond to 0 and 5V
+//
+// Description
+// The Arduino board has a set of logical ports (digital) that are used for writing or reading data from a component.
+//
+// To map a UNO, ports 2-13 are available (0 and 1 are used for serial transmission). For MEGA board, ports 2-53 are available. The port takes the low logic level (0) or logic high (1) which corresponds to the reference voltage.
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_digital_out(1,13,0)
+// sleep(1000)
+// cmd_digital_out(1,13,1)
+// sleep(1000)
+// close_serial(1)
+//
+// See also
+// cmd_digital_in
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+
+ if isvector(pin_no)
+
+ for cnt = 1: size(pin_no,2)
+ if size(pin_no) == size(val)
+ pin="Da"+ascii(48+pin_no(cnt))+"1";
+ write_serial(h,pin,4);
+ if val(cnt) > 0.5 then
+ val(cnt) = 1;
+ else
+ val(cnt) = 0;
+ end
+ pin="Dw"+ascii(48+pin_no(cnt))+string(val(cnt));
+ write_serial(h,pin,4);
+
+ else
+
+ pin="Da"+ascii(48+pin_no(cnt))+"1";
+ write_serial(h,pin,4);
+ if val > 0.5 then
+ val = 1;
+ else
+ val = 0;
+ end
+ pin="Dw"+ascii(48+pin_no(cnt))+string(val);
+ write_serial(h,pin,4);
+ end
+
+ end
+ else
+
+ pin="Da"+ascii(48+pin_no)+"1";
+ write_serial(h,pin,4);
+ if val > 0.5 then
+ val = 1;
+ else
+ val = 0;
+ end
+ pin="Dw"+ascii(48+pin_no)+string(val);
+ write_serial(h,pin,4);
+ end
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_encoder_init.bin b/scilab-arduino/tools/windows/macros/cmd_encoder_init.bin
new file mode 100644
index 0000000..a7f0722
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_encoder_init.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_encoder_init.sci b/scilab-arduino/tools/windows/macros/cmd_encoder_init.sci
new file mode 100644
index 0000000..13b5ccc
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_encoder_init.sci
@@ -0,0 +1,18 @@
+function cmd_encoder_init(h,enc_mode,pin_no_1,pin_no_2)
+
+
+ //Eajkl: activate encoder on channelA on INT number j (j=ascii(2 or 3 or 18 or 19 or 20 or 21) et channelB on pin k or INT number k (k=ascii(0)..ascii(53)) and l=1 or 2 or 4 for 1x mode (count every rising of chA) or 2x mode (count every change statement of chA) or 4x mode (every change statement of chA et chB)
+
+ code_sent="Ea"+ascii(0+corresp(block.rpar(3))); //on envoie plus le PIN mais le numéro d'interruption
+ if block.rpar(2)==4 then //mode4
+ code_sent=code_sent+ascii(0+corresp(block.rpar(4)))+string(block.rpar(2));// on envoie le num d'interruption
+ else//mode 1 ou 2
+ code_sent=code_sent+ascii(0+block.rpar(4))+string(block.rpar(2));//on envoie le num de PIN en mode 1x/2x
+ end
+
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,5)
+ code_sent="Ez"+ascii(corresp(block.rpar(3)));
+// writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3)
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_servo_attach.bin b/scilab-arduino/tools/windows/macros/cmd_servo_attach.bin
new file mode 100644
index 0000000..b946f92
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_servo_attach.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_servo_attach.sci b/scilab-arduino/tools/windows/macros/cmd_servo_attach.sci
new file mode 100644
index 0000000..d6e3fcd
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_servo_attach.sci
@@ -0,0 +1,48 @@
+function cmd_servo_attach(h,servo_no)
+// Command to attach servo motor to Arduino
+//
+// Calling Sequence
+// cmd_servo_attach(h,servo_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// servo_no : 1=pin 9, 2=pin 10
+//
+// Description
+// A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+//
+// The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+//
+// A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_servo_attach(1,1)
+// sleep(1000)
+// cmd_servo_move(1,1,90)
+// sleep(1000)
+// cmd_servo_move(1,1,45)
+// sleep(1000)
+// cmd_servo_detach(1,1)
+// sleep(1000)
+// close_serial(1)
+//
+// See also
+// cmd_servo_move
+// cmd_servo_detach
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ disp("init servo write")
+ if servo_no==1 then //servo 1 on pin 9
+ pin="Sa1"
+ write_serial(h,pin,3);
+ elseif servo_no==2 then //servo 2 on pin 10
+ pin="Sa2"
+ write_serial(h,pin,3);
+ else
+ error('Error')
+ end
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_servo_detach.bin b/scilab-arduino/tools/windows/macros/cmd_servo_detach.bin
new file mode 100644
index 0000000..29b08af
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_servo_detach.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_servo_detach.sci b/scilab-arduino/tools/windows/macros/cmd_servo_detach.sci
new file mode 100644
index 0000000..f6ac511
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_servo_detach.sci
@@ -0,0 +1,47 @@
+function cmd_servo_detach(h,servo_no)
+// Command to release the pin which has been setup for servo motor
+//
+// Calling Sequence
+// cmd_servo_detach(h,servo_no)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// servo_no : 1=pin 9, 2=pin 10
+//
+// Description
+// A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+//
+// The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+//
+// A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_servo_attach(1,1)
+// sleep(1000)
+// cmd_servo_move(1,1,90)
+// sleep(1000)
+// cmd_servo_move(1,1,45)
+// sleep(1000)
+// cmd_servo_detach(1,1)
+// sleep(1000)
+// close_serial(1)
+//
+// See also
+// cmd_servo_setup
+// cmd_servo_move
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ if servo_no==1 then //servo 1 on pin 10
+ pin="Sd1"
+ write_serial(h,pin,3);
+ elseif servo_no==2 then //servo 2 on pin 9
+ pin="Sd2"
+ write_serial(h,pin,3);
+ else
+ error('Error')
+ end
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/cmd_servo_move.bin b/scilab-arduino/tools/windows/macros/cmd_servo_move.bin
new file mode 100644
index 0000000..357a788
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_servo_move.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/cmd_servo_move.sci b/scilab-arduino/tools/windows/macros/cmd_servo_move.sci
new file mode 100644
index 0000000..83309e1
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/cmd_servo_move.sci
@@ -0,0 +1,47 @@
+function cmd_servo_move(h,servo_no,u1)
+// Command to run servo motor which has been setup
+//
+// Calling Sequence
+// cmd_servo_move(h,servo_no,u1)
+//
+// Parameters
+// h : Board number, reserved for future use. For this version, any number would do
+// servo_no : 1=pin 9, 2=pin 10
+// u1 : 0 - 180 degree
+//
+// Description
+// A servomotor is an rotary actuator consist of an electric motor, gears, a potentiometer and an analogue or digital electronics for control. The servomotor usualy used for a position control application (or speed for continuous rotation servos).
+//
+// The user must give the command of the position setpoint or desired speed. This command is sent to the actuator in pulses spaced by 10 to 20 ms. The coding of these pulses is made such that a pulse of 1.5 ms corresponding to the centered position (rest), a pulse of 1 ms corresponds to an angle of 90° in the anticlockwise direction, and a pulse 2 ms corresponds to an angle of 90° clockwise. All other pulse widths give intermediate values​​.
+//
+// A servomotor for continuous rotation, the pulse width control the rotational speed and the direction. It is recommended to use a voltage regulator to power the servomotor instead of using the Arduino board power. For simplicity, the function takes an input commnad in degrees from 0 to 180. Two actuators can be controlled with this toolbox. (modified version of 3 motors available)
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// cmd_servo_attach(1,1)
+// sleep(1000)
+// cmd_servo_move(1,1,90)
+// sleep(1000)
+// cmd_servo_move(1,1,45)
+// sleep(1000)
+// cmd_servo_detach(1,1)
+// sleep(1000)
+// close_serial(1)
+//
+// See also
+// cmd_servo_setup
+// cmd_servo_detach
+//
+// Authors
+// Bruno JOFRET, Tan C.L.
+//
+ if (u1<0) then
+ pin="Sw"+ascii(48+servo_no)+ascii(0);
+ elseif u1>180 then
+ pin="Sw"+ascii(48+servo_no)+ascii(180);
+ else
+ pin="Sw"+ascii(48+servo_no)+ascii(uint8(u1));
+ end
+ write_serial(1,pin,4);
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/genhelpscript.sce b/scilab-arduino/tools/windows/macros/genhelpscript.sce
new file mode 100644
index 0000000..1220178
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/genhelpscript.sce
@@ -0,0 +1,18 @@
+help_from_sci('macros\cmd_analog_in.sci','help\en_US')
+help_from_sci('macros\cmd_analog_in_volt.sci','help\en_US')
+help_from_sci('macros\cmd_analog_out.sci','help\en_US')
+help_from_sci('macros\cmd_analog_out_volt.sci','help\en_US')
+help_from_sci('macros\cmd_arduino_a_control.sci','help\en_US')
+help_from_sci('macros\cmd_arduino_d_control.sci','help\en_US')
+help_from_sci('macros\cmd_arduino_meter.sci','help\en_US')
+help_from_sci('macros\cmd_dcmotor_release.sci','help\en_US')
+help_from_sci('macros\cmd_dcmotor_run.sci','help\en_US')
+help_from_sci('macros\cmd_dcmotor_setup.sci','help\en_US')
+help_from_sci('macros\cmd_digital_in.sci','help\en_US')
+help_from_sci('macros\cmd_digital_out.sci','help\en_US')
+help_from_sci('macros\cmd_servo_attach.sci','help\en_US')
+help_from_sci('macros\cmd_servo_detach.sci','help\en_US')
+help_from_sci('macros\cmd_servo_move.sci','help\en_US')
+help_from_sci('macros\open_serial.sci','help\en_US')
+help_from_sci('macros\close_serial.sci','help\en_US')
+
diff --git a/scilab-arduino/tools/windows/macros/getArduinoVersion.bin b/scilab-arduino/tools/windows/macros/getArduinoVersion.bin
new file mode 100644
index 0000000..c64a686
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/getArduinoVersion.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/getArduinoVersion.sci b/scilab-arduino/tools/windows/macros/getArduinoVersion.sci
new file mode 100644
index 0000000..f655812
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/getArduinoVersion.sci
@@ -0,0 +1,15 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2012-2012 - Scilab Enterprises - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function arduinoVersion = getArduinoVersion()
+ arduinoVersion = "1.1"
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/init_arduino.bin b/scilab-arduino/tools/windows/macros/init_arduino.bin
new file mode 100644
index 0000000..c6effb6
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/init_arduino.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/init_arduino.sci b/scilab-arduino/tools/windows/macros/init_arduino.sci
new file mode 100644
index 0000000..634ece8
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/init_arduino.sci
@@ -0,0 +1,177 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010-2010 - DIGITEO -
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+
+
+function []=init_arduino(scs_m, needcompile)
+ disp("Initialisation Arduino...");
+ scs=[]
+ // On recopie le scs_m
+ scs=scs_m;
+ // Retrieve all objects
+ objs = scs_m.objs;
+
+ nombre_blocs=0; //Nombre de blocs dans le diagramme
+ nombre_liens=0; //Nombre de lien dans le diagramme
+ nb_arduino=0; //nombre de cartes arduino
+ port_com_arduino=[]; //numero des ports com associes a chaque carte arduino
+
+ //liste des types de blocs arduino
+ list_arduino_gui=["ARDUINO_DIGITAL_WRITE","ARDUINO_DIGITAL_READ","ARDUINO_ANALOG_WRITE","ARDUINO_ANALOG_READ","ARDUINO_DCMOTOR","ARDUINO_SERVO_WRITE","ARDUINO_SERVO_READ","ARDUINO_STEPPER","ARDUINO_ENCODER"];
+ //initialisation des tableaux utilisés pour stocker les pin et type des blocs du schéma
+ nb_block_by_type=[]
+ arduino_pin_by_typeblock=cell(size(list_arduino_gui,2),1)
+ for i=1:size(list_arduino_gui,2)
+ nb_block_by_type($+1)=0;
+ arduino_pin_by_typeblock(i).entries=[];
+ end
+
+ //Récupère le nombre de blocs dans le modèle
+ for i=1:size(objs)
+ if typeof(objs(i))=='Block' then
+ nombre_blocs=nombre_blocs+1;
+ end
+ end
+
+ // Passe en revue tous les blocs pour relever dans des tableaux chacun des types de blocs
+ for i=1:nombre_blocs
+ if objs(i).gui=="ARDUINO_SETUP" then nb_arduino=nb_arduino+1;
+ port_com_arduino(objs(i).model.rpar(1))=objs(i).model.rpar(2); //on stocke le numero du com de la carte numerotée dans le bloc
+ end
+ //pour chaque bloc on releve le pin indiqué et on le stocke dans la catégorie correspondante
+ rep=find(objs(i).gui==list_arduino_gui);
+ if ~isempty(rep) then
+ nb_block_by_type(rep)=nb_block_by_type(rep)+1;
+ arduino_pin_by_typeblock(rep).entries($+1)=objs(i).model.rpar(1);
+ end
+ end
+
+ //initialisation des ports_com
+ //TODO : ouvrir plusieurs ports_com en fonction du numero de carte
+ global port_com
+ try
+ i=1;
+ //port_com=openserial(port_com_arduino(i),"115200,n,8,1"); //ouverture du port com de la carte i
+ open_serial(i,port_com_arduino(i),115200); //ouverture du port COM de l'arduino i
+ disp("communication with card "+string(i)+" on com "+string(port_com_arduino(i))+" is ok")
+
+ sleep(2000)
+ catch
+ messagebox("Mauvais port de communication.")
+ error('Mauvais port de communication.')
+ end
+ //configuration des Pin Pout
+ try
+ //mise a zero programme arduino
+ //writeserial(port_com,ascii(201)+ascii(201));
+ write_serial(1,ascii(201)+ascii(201),2); // utilité ?
+
+ for j=1:size(list_arduino_gui,2)
+ disp(list_arduino_gui(j))
+ for i=arduino_pin_by_typeblock(j).entries
+
+ if list_arduino_gui(j)=="ARDUINO_DIGITAL_WRITE" then
+ pin="0"+ascii(97+i)+"1"; // élaboration du string à envoyer pour initialiser le pin
+ //writeserial(port_com,pin); // envoyer le string
+ write_serial(1,pin,3);
+ end
+ if list_arduino_gui(j)=="ARDUINO_DIGITAL_READ" then
+ pin="0"+ascii(97+i)+"0";
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ end
+ if list_arduino_gui(j)=="ARDUINO_ANALOG_WRITE" then
+ pin="0"+ascii(97+i)+"1";
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ end
+ if list_arduino_gui(j)=="ARDUINO_ANALOG_READ" then
+ if i~=0 & i~=1 then
+ pin="0"+ascii(97+i)+"0";
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ end
+ end
+ if list_arduino_gui(j)=="ARDUINO_DCMOTOR" then
+ disp("motor")
+ code_sent="92";
+ //writeserial(port_com,code_sent);
+ write_serial(1,pin,2);
+ end
+ if list_arduino_gui(j)=="ARDUINO_STEPPER" then
+
+ end
+ if list_arduino_gui(j)=="ARDUINO_SERVO_WRITE" then
+ if i==1 then //servo 1 on pin 10
+ pin="6a1"
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ elseif i==2 then //servo 2 on pin 9
+ pin="6b1"
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ messagebox("Probleme dans le numero du servomoteur")
+ error('problem')
+ end
+ disp(pin)
+ end
+ if list_arduino_gui(j)=="ARDUINO_SERVO_READ" then
+ if i==1 then //servo 1 on pin 10
+ pin="6a1"
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ elseif i==2 then //servo 2 on pin 9
+ pin="6b1"
+ //writeserial(port_com,pin);
+ write_serial(1,pin,3);
+ else
+ messagebox("Probleme dans le numero du servomoteur")
+ error('problem')
+ end
+ disp(pin)
+ end
+ if list_arduino_gui(j)=="ARDUINO_ENCODER" then
+ code_sent="E"+string(i)+"a"
+ disp(code_sent)
+ //writeserial(port_com,code_sent);
+ write_serial(1,code_sent,3);
+ end
+ end
+ end
+ catch
+ error('Mauvais port de communication.')
+ end
+
+ disp("Initialisation terminee")
+
+endfunction
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scilab-arduino/tools/windows/macros/lib b/scilab-arduino/tools/windows/macros/lib
new file mode 100644
index 0000000..6471df1
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/lib
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/names b/scilab-arduino/tools/windows/macros/names
new file mode 100644
index 0000000..0890d56
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/names
@@ -0,0 +1,66 @@
+ANALOG_READ_SB
+ANALOG_WRITE_SB
+ARDUINO_ANALOG_READ
+ARDUINO_ANALOG_READ_sim
+ARDUINO_ANALOG_WRITE
+ARDUINO_ANALOG_WRITE_sim
+ARDUINO_DCMOTOR
+ARDUINO_DCMOTOR_sim
+ARDUINO_DIGITAL_READ
+ARDUINO_DIGITAL_READ_sim
+ARDUINO_DIGITAL_WRITE
+ARDUINO_DIG_WRITE_sim
+ARDUINO_ENCODER
+ARDUINO_ENCODER_sim
+ARDUINO_INTERRUPT
+ARDUINO_INTERRUPT_sim
+ARDUINO_PMODHB5
+ARDUINO_PMODHB5_WRITE_sim
+ARDUINO_SCOPE
+ARDUINO_SERVO_READ
+ARDUINO_SERVO_READ_sim
+ARDUINO_SERVO_WRITE
+ARDUINO_SERVO_WRITE_sim
+ARDUINO_SETUP
+ARDUINO_STEPPER
+ARDUINO_STEPPER_sim
+ARDUINO_WRITE
+ARDUINO_WRITE_sim
+ARDUINO_post_simulate
+ARDUINO_pre_simulate
+DCMOTOR_SB
+DIGITAL_READ_SB
+DIGITAL_WRITE_SB
+ENCODER_SB
+INTERRUPT_SB
+SERVO_READ_SB
+SERVO_WRITE_SB
+STEPPER_SB
+TIME_SAMPLE
+close_serial
+cmd_analog_in
+cmd_analog_in_volt
+cmd_analog_out
+cmd_analog_out_volt
+cmd_arduino_a_control
+cmd_arduino_d_control
+cmd_arduino_meter
+cmd_dcmotor_release
+cmd_dcmotor_run
+cmd_dcmotor_setup
+cmd_digital_in
+cmd_digital_out
+cmd_encoder_init
+cmd_servo_attach
+cmd_servo_detach
+cmd_servo_move
+getArduinoVersion
+init_arduino
+nicescope
+open_serial
+post_xcos_simulate
+pre_xcos_simulate
+read_serial
+status_serial
+tkscaleblk
+write_serial
diff --git a/scilab-arduino/tools/windows/macros/nicescope.bin b/scilab-arduino/tools/windows/macros/nicescope.bin
new file mode 100644
index 0000000..9436f73
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/nicescope.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/nicescope.sci b/scilab-arduino/tools/windows/macros/nicescope.sci
new file mode 100644
index 0000000..0e1c5c0
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/nicescope.sci
@@ -0,0 +1,69 @@
+function []=nicescope()
+
+// On ajuste la vues sur les scopes
+ list_fig=winsid(); // On récupere les numéros des figure
+
+ for i=1:length(list_fig)
+ h=get_figure_handle(list_fig(i));
+ scf(h);
+ //En cas de simulation param_var
+ if (h.tag=="todemux") then
+ legendtxt=h.children(1).children(1).text; //sauvegarde de la légende
+ nb_compound=length(h.children(1).children)-1;
+ for j=nb_compound+1:-1:2
+ unglue(h.children(1).children($));
+ end
+ for j=1:nb_compound-1
+ swap_handles(h.children(1).children(2*(nb_compound-j)),h.children(1).children(2*(nb_compound)-j));
+ end
+ legend(legendtxt);
+ h.tag="nodemux";
+ end
+ if (h.tag=="") then //nicescope classique
+ for j=1:length(h.children)
+ if h.children(j) <> [] & h.children(j).type == "Axes"
+ if h.children(j).children <> [] & ~isempty(find(h.children(j).children.type == "Polyline"))
+ if(length(h.children(j).children)==1 & h.children(j).children(1).type == "Polyline") then
+ xmin=min(h.children(j).children.data(:,1))
+ xmax=max(h.children(j).children.data(:,1))
+ ymax=max(h.children(j).children.data(:,2))*1.1
+ ymin=min(h.children(j).children.data(:,2))
+ // text_legend='Courbe 1';
+ // legend(text_legend)
+ else
+ xmin=1e8;
+ xmax=-1e8;
+ ymin=1e8;
+ ymax=-1e8;
+ text_legend=[]
+ nb_polylines=0;
+ for k=1:length(h.children(j).children)
+ if h.children(j).children(k).type == "Polyline" then
+ nb_polylines=nb_polylines+1;
+ xmin=min(xmin,min(h.children(j).children(k).data(:,1)))
+ xmax=max(xmax,max(h.children(j).children(k).data(:,1)))
+ ymin=min(ymin,min(h.children(j).children(k).data(:,2)))
+ ymax=max(ymax,max(h.children(j).children(k).data(:,2))*1.1)
+ text_legend($+1)='Courbe '+string(nb_polylines);
+ end
+ end
+ if nb_polylines==length(h.children(j).children) then
+ legend(text_legend)
+ end
+
+ end
+ if ymin<0 then ymin=ymin*1.2;
+ elseif ymin==0 then ymin=ymin-ymax*0.05*sign(ymax);
+ elseif ymin>0 then ymin=ymin*0.9;
+ end
+ //création des nouvelles valeurs extrèmes et tracé réactualisé
+ rect=[xmin,ymin,xmax,ymax]
+ replot(rect,h.children(j))
+ end
+ end
+ end
+ end
+ end
+
+endfunction
+
diff --git a/scilab-arduino/tools/windows/macros/open_serial.bin b/scilab-arduino/tools/windows/macros/open_serial.bin
new file mode 100644
index 0000000..05c1c6d
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/open_serial.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/open_serial.sci b/scilab-arduino/tools/windows/macros/open_serial.sci
new file mode 100644
index 0000000..980e852
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/open_serial.sci
@@ -0,0 +1,38 @@
+//
+// This file is part of Arduino toolbox
+// Copyright (C) 2012-2012 - DEMOSCIENCES - Alain CAIGNOT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+function res=open_serial(nHandle, nPort,baudrate)
+// Command to initialize the serial port which is connected to Arduino
+//
+// Calling Sequence
+// res=open_serial(nHandle, nPort,baudrate)
+//
+// Parameters
+// nHandle : Board number, reserved for future use. For this version, any number would do
+// nPort : Com port in which the Arduino is connected to
+// baudrate : baudrate for the serial comminication
+// res : 0 if the connection is successful, else the connection fail
+//
+// Description
+// To connect to the Arduino board. To check the port number, do to the device manager or check it from the Arduino software
+//
+// Examples
+// ok = open_serial(1,9,115200)
+// close_serial(1)
+//
+// See also
+// close_serial
+//
+// Authors
+// Bruno JOFRET
+
+ res=call("open_serial",nHandle,1,"i",nPort,2,"i",baudrate,3,"i","out",[1,1],4,"i")
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/post_xcos_simulate.bin b/scilab-arduino/tools/windows/macros/post_xcos_simulate.bin
new file mode 100644
index 0000000..6b7e413
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/post_xcos_simulate.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/post_xcos_simulate.sci b/scilab-arduino/tools/windows/macros/post_xcos_simulate.sci
new file mode 100644
index 0000000..c298070
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/post_xcos_simulate.sci
@@ -0,0 +1,97 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+
+function []=post_xcos_simulate(%cpr, scs_m, needcompile)
+ global port_com port_TCL;
+
+ callXcos_Param_Var=%f //Définit s'il faut appeler la fonction de variation paramètrique
+ callXcos_Param_Freq = %f;
+ callRep_freq = %f; // Lance la fonction de tracés des réponses fréquentielles.
+ presence_param_var=%f // indique la présence d'un bloc param_var
+ presence_rep_freq=%f //idem pour rep freq
+ presence_imprimante=%f //indique la presence d'un bloc imprimante
+ presence_bloc_end=%f //indique la presence d'un bloc END (pour faire une reponse temporelle)
+ presence_scope=%f //indique la presence d'un bloc scope personnalisé
+ presence_rep_temp=%f //indique la presence d'un bloc pour faire une reponse temporelle
+ presence_irep_temp=%f //indique la presence d'un bloc pour faire une reponse temporelle IREP TEMP
+ presence_arduino=%f //indique la presence d'un bloc pour faire une reponse temporelle ARDUINO
+
+ for i = 1:size(scs_m.objs)
+ curObj= scs_m.objs(i);
+ if (typeof(curObj) == "Block" & curObj.gui == "PARAM_VAR")
+ presence_param_var=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "REP_FREQ")
+ presence_rep_freq=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "IMPRIMANTE")
+ disp("ok post")
+ presence_imprimante=%t
+ values= "P" + ascii(0) + ascii(0)
+ writeserial(port_TCL,values);
+ sleep(100)
+ values= "P" + ascii(0) + ascii(0)
+ writeserial(port_TCL,values);
+ sleep(100)
+ closeserial(port_TCL);
+ elseif (typeof(curObj) == "Block" & curObj.gui == "ENDBLK")
+ presence_bloc_end=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "REP_TEMP")
+ presence_rep_temp=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "SCOPE")
+ presence_scope=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "IREP_TEMP") then
+ presence_irep_temp=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SETUP") then
+ presence_arduino=%t
+ end
+ end
+
+ if presence_arduino then
+ ARDUINO_post_simulate(scs_m)
+ return
+ end
+
+ if presence_irep_temp then
+ SIMM_post_simulate(scs_m)
+ return
+ end
+
+ if presence_rep_temp then
+ REP_TEMP_post_simulate(scs_m);
+ end
+
+ if presence_param_var & ~presence_rep_freq
+ callXcos_Param_Var = %t;
+ end
+
+ if presence_param_var & presence_rep_freq
+ callXcos_Param_Freq = %t;
+ end
+
+ if ~presence_param_var & presence_rep_freq
+ callRep_freq = %t;
+ end
+
+ if ~presence_scope & ~presence_rep_freq then
+ // On ajuste les scopes
+ nicescope()
+ end
+
+ if presence_rep_freq & ~presence_param_var
+ REP_FREQ_pre_simulate(scs_m, needcompile);
+ end
+
+if presence_imprimante==%t then
+ //global inc;
+ //PIC_end_of_simul() //deconnexion prealable du port serie au cas où.
+end
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/pre_xcos_simulate.bin b/scilab-arduino/tools/windows/macros/pre_xcos_simulate.bin
new file mode 100644
index 0000000..65170ad
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/pre_xcos_simulate.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/pre_xcos_simulate.sci b/scilab-arduino/tools/windows/macros/pre_xcos_simulate.sci
new file mode 100644
index 0000000..2066086
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/pre_xcos_simulate.sci
@@ -0,0 +1,117 @@
+//
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2011-2011 - DIGITEO - Bruno JOFRET
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+ global port_com port_TCL taskAI0 bufferSizeNI;
+
+function continueSimulation=pre_xcos_simulate(scs_m, needcompile)
+ global port_com port_TCL taskAI0;
+
+ continueSimulation = %t;
+ callXcos_Param_Var=%f //Définit s'il faut appeler la fonction de variation paramètrique
+ callXcos_Param_Freq = %f;
+ callRep_freq = %f;
+ presence_param_var=%f // indique la présence d'un bloc param_var
+ presence_rep_freq=%f //idem pour rep freq
+ presence_imprimante=%f //indique la presence d'un bloc imprimante
+ presence_bloc_end=%f //indique la presence d'un bloc END (pour faire une reponse temporelle)
+ presence_rep_temp=%f //indique la presence d'un bloc pour faire une reponse temporelle
+ presence_irep_temp=%f //indique la presence d'un bloc pour faire une reponse temporelle avec SIMM
+ presence_scope=%f //indique la presence d'un bloc scope personnalisé
+ presence_arduino=%f //indique la presence d'un bloc arduino setup
+ presence_NI600X=%f //indique la presence d'un bloc NI600X
+
+ for i = 1:size(scs_m.objs)
+ curObj= scs_m.objs(i);
+ if (typeof(curObj) == "Block" & curObj.gui == "PARAM_VAR")
+ presence_param_var=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "REP_FREQ")
+ presence_rep_freq=%t
+ //freq_temp_analysis=curObj.model.rpar(5);
+ elseif (typeof(curObj) == "Block" & curObj.gui == "IMPRIMANTE")
+ presence_imprimante=%t
+ block_imprimante=curObj;
+ scs_m.props.tol(5)=1;
+ elseif (typeof(curObj) == "Block" & curObj.gui == "ENDBLK")
+ presence_bloc_end=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "REP_TEMP")
+ presence_rep_temp=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "ARDUINO_SETUP")
+ presence_arduino=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "IREP_TEMP")
+ presence_irep_temp=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "SCOPE")
+ presence_scope=%t
+ elseif (typeof(curObj) == "Block" & curObj.gui == "NI600X_C_READ")
+ presence_NI600X=%t
+ block_NI600X=curObj;
+ scs_m.props.tol(5)=1;
+ end
+ end
+
+if presence_NI600X then
+ init_NI(block_NI600X);
+end
+
+ if presence_imprimante==%t then
+ continueSimulation=init_imprimante(block_imprimante)
+ end
+
+ if presence_arduino==%t then
+ scs_m=ARDUINO_pre_simulate(scs_m);
+ continueSimulation = %t;
+// scs_m=resume(scs_m)
+// return;
+ end
+
+if ~presence_rep_freq then
+ if (~presence_rep_temp & presence_scope )
+ message("Insérer un bloc REP_TEMP si vous souhaitez faire une analyse temporelle avec un ou plusieurs bloc(s) SCOPE")
+ continueSimulation = %f;
+ return ;
+ end
+end
+
+ if presence_rep_temp then
+ scs_m=REP_TEMP_pre_simulate(scs_m);
+ continueSimulation = %t;
+ end
+
+ if presence_irep_temp then
+ scs_m=SIMM_pre_simulate(scs_m);
+ continueSimulation = %t;
+// scs_m=resume(scs_m)
+// return;
+ end
+
+
+ if presence_param_var & ~presence_rep_freq then
+ continueSimulation=Param_Temp_pre_simulate(scs_m,needcompile);
+ end
+
+ if presence_param_var & presence_rep_freq then
+ if presence_rep_temp then
+ continueSimulation=Param_Temp_pre_simulate(scs_m,needcompile);
+ end
+ Param_Freq_pre_simulate(scs_m, needcompile);
+ continueSimulation = %f; //pour ne pas avoir un 2ème affichage : les scopes sont gérés par le Param_Var_pre_simulate
+ end
+
+ if presence_rep_freq & presence_scope & ~presence_rep_temp & ~presence_param_var then
+ disp('Simulation time set to 0')
+ scs_m.props.tf=0;
+ //Param_Freq_pre_simulate(scs_m, needcompile);
+ continueSimulation = %t;
+ end
+
+scs_m=resume(scs_m)
+
+
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/read_serial.bin b/scilab-arduino/tools/windows/macros/read_serial.bin
new file mode 100644
index 0000000..aeacf76
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/read_serial.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/read_serial.sci b/scilab-arduino/tools/windows/macros/read_serial.sci
new file mode 100644
index 0000000..c095320
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/read_serial.sci
@@ -0,0 +1,14 @@
+//
+// This file is part of Arduino toolbox
+// Copyright (C) 2012-2012 - DEMOSCIENCES - Alain CAIGNOT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+function res=read_serial(nHandle,sz)
+ res=call("read_serial",nHandle,1,"i",sz,3,"i","out",[sz,1],2,"c")
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/status_serial.bin b/scilab-arduino/tools/windows/macros/status_serial.bin
new file mode 100644
index 0000000..adc7737
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/status_serial.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/status_serial.sci b/scilab-arduino/tools/windows/macros/status_serial.sci
new file mode 100644
index 0000000..ebeeafb
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/status_serial.sci
@@ -0,0 +1,14 @@
+//
+// This file is part of Arduino toolbox
+// Copyright (C) 2012-2012 - DEMOSCIENCES - Alain CAIGNOT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+function [a,b,c]=status_serial(nHandle)
+ [a,b,c]=call("status_serial",nHandle,1,"i","out",[1,1],2,"i",[1,1],3,"i",[1,1],4,"i")
+endfunction
diff --git a/scilab-arduino/tools/windows/macros/tkscaleblk.bin b/scilab-arduino/tools/windows/macros/tkscaleblk.bin
new file mode 100644
index 0000000..a30843b
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/tkscaleblk.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/tkscaleblk.sci b/scilab-arduino/tools/windows/macros/tkscaleblk.sci
new file mode 100644
index 0000000..f1a480c
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/tkscaleblk.sci
@@ -0,0 +1,109 @@
+// Scicos
+//
+// Copyright (C) DIGITEO - Clément DAVID <clement.david@scilab.org>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+//
+// See the file ../license.txt
+//
+
+function block=tkscaleblk(block,flag)
+ if flag == 1 then
+ // Output update
+ slider = get(block.uid + "#slider");
+
+ if slider <> [] then
+ // calculate real value
+ //value = (block.rpar(1) + block.rpar(2) - get(slider,"value")) / block.rpar(3);
+ value = (get(slider,"value")) / block.rpar(3);
+ w = get(block.uid);
+ if w <> [] then
+ set(w, "info_message", string(value));
+ end
+
+ block.outptr(1) = value;
+ end
+ elseif flag == 4 then
+ // Initialization
+
+ // if already exists (stopped) then reuse
+ f = get(block.uid);
+ if f <> [] then
+ return;
+ end
+
+ f = figure("Figure_name", "TK Source: " + block.label, ...
+ "dockable", "off", ...
+ "infobar_visible" , "on", ...
+ "toolbar", "none", ...
+ "menubar_visible", "off", ...
+ "menubar", "none", ...
+ "backgroundcolor", [1 1 1], ...
+ "default_axes", "off", ...
+ "figure_size", [180 350], ...
+ "layout", "border", ...
+ "figure_position", [40 40], ...
+ "Tag", block.uid);
+
+ frame_slider = uicontrol(f, ...
+ "style", "frame", ...
+ "constraints", createConstraints("border", "left", [180, 0]), ...
+ "border", createBorder("line", "lightGray", 1), ...
+ "backgroundcolor", [1 1 1], ...
+ "layout", "gridbag");
+
+ // slider
+ bounds = block.rpar(1:2);
+ initial = mean(bounds);
+ uicontrol(frame_slider, ...
+ "Style", "slider", ...
+ "Tag", block.uid + "#slider", ...
+ "Min", bounds(1), ...
+ "Max", bounds(2), ...
+ "Value", initial, ...
+ "Position", [0 0 10 20], ...
+ "SliderStep", [block.rpar(3) 2*block.rpar(3)]);
+
+ frame_label = uicontrol(frame_slider, ...
+ "style", "frame", ...
+ "constraints", createConstraints("border", "right"), ...
+ "backgroundcolor", [1 1 1], ...
+ "layout", "gridbag");
+
+ // labels
+ labels = string([bounds(2) ; ...
+ mean([bounds(2) initial]) ; ...
+ initial ; ...
+ mean([bounds(1) initial]) ; ...
+ bounds(1)]);
+ labels = "<html>" + strcat(labels, "<br /><br /><br />") + "</html>";
+
+ uicontrol(frame_label, ...
+ "Style", "text", ...
+ "String", labels(1), ...
+ "FontWeight", "bold", ...
+ "backgroundcolor", [1 1 1]);
+
+ // update default value
+ block.outptr(1) = initial / block.rpar(3);
+ elseif flag == 5 then
+ // Ending
+ f = get(block.uid);
+ if f <> [] then
+ close(f);
+ end
+ end
+endfunction
+
diff --git a/scilab-arduino/tools/windows/macros/write_serial.bin b/scilab-arduino/tools/windows/macros/write_serial.bin
new file mode 100644
index 0000000..7f6f083
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/write_serial.bin
Binary files differ
diff --git a/scilab-arduino/tools/windows/macros/write_serial.sci b/scilab-arduino/tools/windows/macros/write_serial.sci
new file mode 100644
index 0000000..bebc6b9
--- /dev/null
+++ b/scilab-arduino/tools/windows/macros/write_serial.sci
@@ -0,0 +1,14 @@
+//
+// This file is part of Arduino toolbox
+// Copyright (C) 2012-2012 - DEMOSCIENCES - Alain CAIGNOT
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+//
+//
+function res=write_serial(nHandle,str,nb)
+ res=call("write_serial",nHandle,1,"i",str,2,"c",nb,3,"i","out",[1,1],4,"i")
+endfunction
diff --git a/scilab-arduino/tools/windows/src/libserial.dll b/scilab-arduino/tools/windows/src/libserial.dll
new file mode 100644
index 0000000..516ac3b
--- /dev/null
+++ b/scilab-arduino/tools/windows/src/libserial.dll
Binary files differ
diff --git a/scilab-arduino/tools/windows/src/libserial64.dll b/scilab-arduino/tools/windows/src/libserial64.dll
new file mode 100644
index 0000000..dc9dd3a
--- /dev/null
+++ b/scilab-arduino/tools/windows/src/libserial64.dll
Binary files differ
diff --git a/scilab-arduino/tools/windows/src/loader.sce b/scilab-arduino/tools/windows/src/loader.sce
new file mode 100644
index 0000000..b247189
--- /dev/null
+++ b/scilab-arduino/tools/windows/src/loader.sce
@@ -0,0 +1,50 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+// Generated by builder.sce : Please, do not edit this file
+// ----------------------------------------------------------------------------
+//
+//if win64() then
+// warning(_("This module requires a Windows x86 platform."));
+// return
+//end
+////
+serial_path = get_absolute_file_path('loader.sce');
+//
+// ulink previous function with same name
+[bOK, ilib] = c_link('open_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('close_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('write_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('status_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[bOK, ilib] = c_link('read_serial');
+if bOK then
+ ulink(ilib);
+end
+//
+[version, opts]=getversion();
+if (opts(2)=='x86') then
+ link(serial_path + 'libserial' + getdynlibext(), ['open_serial','close_serial','write_serial','status_serial','read_serial'],'c');
+elseif (opts(2)=='x64') then
+ link(serial_path + 'libserial64' + getdynlibext(), ['open_serial','close_serial','write_serial','status_serial','read_serial'],'c');
+else
+ disp('Unsupported architecture')
+end
+// remove temp. variables on stack
+clear serial_path;
+clear bOK;
+clear ilib;
+// ----------------------------------------------------------------------------
diff --git a/scilab-arduino/tools/windows/src/main.c b/scilab-arduino/tools/windows/src/main.c
new file mode 100644
index 0000000..d4877eb
--- /dev/null
+++ b/scilab-arduino/tools/windows/src/main.c
@@ -0,0 +1,133 @@
+/**************************************************
+
+file: main.c
+purpose: serial librairie for Scilab
+
+Alain Caignot
+**************************************************/
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <time.h>
+
+//#ifdef _WIN32
+#include <Windows.h>
+//#else
+//#include <unistd.h>
+//#endif
+
+#define MAXPORTS 5 //unused : can be used to opened several COM to have several Arduino card
+
+// Static definition to stock HANDLE of Port.
+static HANDLE hport;
+
+// Function to open port COM
+__declspec(dllexport) void __stdcall open_serial(int *handle,int *port, int *baudrate, int *OK){
+ DCB dcbSerialParams ;
+ DWORD dwBytesWrite = 0;
+ DWORD dwBytesRead = 10;
+ COMMTIMEOUTS timeouts={0};
+
+ char tmp[5]="COM5";
+ itoa(*port,&tmp[3],10);
+
+ *OK=0;
+
+
+ hport = CreateFile(tmp,
+ GENERIC_READ | GENERIC_WRITE,
+ 0,//FILE_SHARE_READ | FILE_SHARE_WRITE //to test : recuperation COM port if simulation crashes
+ 0,
+ OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL,
+ 0);
+
+ if(hport==INVALID_HANDLE_VALUE){
+ if(GetLastError()==ERROR_FILE_NOT_FOUND){
+ //serial port does not exist. Inform user.
+ *OK = GetLastError();
+ return;
+ }
+ //some other error occurred. Inform user.
+ *OK = GetLastError();
+ return;
+ }
+
+
+
+ dcbSerialParams.DCBlength=sizeof(dcbSerialParams);
+ if (!GetCommState(hport, &dcbSerialParams)) {
+ //error getting state
+ *OK = GetLastError();
+ return;
+ }
+ dcbSerialParams.BaudRate=*baudrate;
+ dcbSerialParams.ByteSize=8;
+ dcbSerialParams.StopBits=ONESTOPBIT;
+ dcbSerialParams.Parity=NOPARITY;
+ if(!SetCommState(hport, &dcbSerialParams)){
+ //error setting serial port state
+ *OK = GetLastError();
+ return;
+ }
+
+
+ timeouts.ReadIntervalTimeout=50;
+ timeouts.ReadTotalTimeoutConstant=50;
+ timeouts.ReadTotalTimeoutMultiplier=1;
+ timeouts.WriteTotalTimeoutConstant=50;
+ timeouts.WriteTotalTimeoutMultiplier=1;
+ if(!SetCommTimeouts(hport, &timeouts)){
+ //error occureed. Inform user
+ *OK = GetLastError();
+ return;
+ }
+ Sleep(1000);
+}
+
+
+__declspec (dllexport) __stdcall void close_serial(int *handle, int *OK){
+ int res;
+ *OK=0;
+ res=CloseHandle(hport);
+ if (res==0)//error
+ *OK = GetLastError();
+}
+
+__declspec (dllexport) __stdcall void write_serial(int *handle, char str[],int *size, int *OK){
+ DWORD dwBytesWrite = 0;
+ int res;
+ *OK=0;
+ res=WriteFile(hport,str,*size,&dwBytesWrite,NULL);
+
+ if (res==0) //error
+ *OK = GetLastError();
+
+}
+
+__declspec (dllexport) __stdcall void status_serial(int *handle, int *OK,int *nbread, int *nbwrite){
+ DWORD dwErrorFlags;
+ COMSTAT ComStat;
+ int res;
+
+ *OK=0;
+ res=ClearCommError( hport, &dwErrorFlags, &ComStat );
+ if (res==0) {//error
+ *OK = GetLastError();
+ return;
+ }
+ *nbread=ComStat.cbInQue;
+ *nbwrite=ComStat.cbOutQue;
+}
+
+__declspec (dllexport) __stdcall void read_serial(int *handle,char buf[],int *size){
+ DWORD dwBytesRead = 0;
+ int res;
+
+ //*OK=0;
+ res=ReadFile(hport, buf, *size, &dwBytesRead, NULL);
+ //if (res==0) {//error
+ // *OK = GetLastError();
+ // return;
+ //}
+}
diff --git a/scilab-arduino/tools/windows/src/make.txt b/scilab-arduino/tools/windows/src/make.txt
new file mode 100644
index 0000000..e64e023
--- /dev/null
+++ b/scilab-arduino/tools/windows/src/make.txt
@@ -0,0 +1,4 @@
+c:\mingw32\bin\gcc.exe -shared -o libserial.dll -O3 main.c
+
+"c:\mingw64\bin\x86_64-w64-mingw32-gcc.exe" -shared -o libserial64.ll -O3 main.c
+
diff --git a/scilab-arduino/tools/windows/unloader.sce b/scilab-arduino/tools/windows/unloader.sce
new file mode 100644
index 0000000..2e1dd1c
--- /dev/null
+++ b/scilab-arduino/tools/windows/unloader.sce
@@ -0,0 +1,14 @@
+// This file is released under the 3-clause BSD license. See COPYING-BSD.
+// Generated by builder.sce: Please, do not edit this file
+
+try
+ getversion("scilab");
+catch
+ error("Scilab 5.4 or more is required.");
+end;
+
+fileQuit = get_absolute_file_path("unloader.sce") + "etc\" + "arduino.quit";
+if isfile(fileQuit) then
+ exec(fileQuit);
+end
+
diff --git a/scilab-arduino/user-code/.DS_Store b/scilab-arduino/user-code/.DS_Store
new file mode 100644
index 0000000..7254418
--- /dev/null
+++ b/scilab-arduino/user-code/.DS_Store
Binary files differ
diff --git a/scilab-arduino/user-code/auto/arduino-sci.el b/scilab-arduino/user-code/auto/arduino-sci.el
new file mode 100644
index 0000000..e798c2d
--- /dev/null
+++ b/scilab-arduino/user-code/auto/arduino-sci.el
@@ -0,0 +1,60 @@
+(TeX-add-style-hook "arduino-sci"
+ (lambda ()
+ (LaTeX-add-environments
+ "codemass"
+ "code")
+ (TeX-add-symbols
+ '("fnref" 1)
+ '("mypageref" 1)
+ '("coderef" 1)
+ '("secref" 1)
+ '("chapref" 1)
+ '("tabref" 1)
+ '("figref" 1)
+ '("ourname" 1)
+ '("ccaption" 1)
+ '("redcolor" 1)
+ "listofcode"
+ "l"
+ "codclr"
+ "scilab"
+ "arduino"
+ "ie"
+ "tnfig"
+ "smfig"
+ "smfigp"
+ "lgfig"
+ "hgfig")
+ (TeX-run-style-hooks
+ "cite"
+ "url"
+ "fancybox"
+ "makeidx"
+ "graphicx"
+ "amsmath"
+ "fancyhdr"
+ "listings"
+ "subfig"
+ "chngcntr"
+ "paralist"
+ "morefloats"
+ "cclicenses"
+ "layouts"
+ "ntheorem"
+ "color"
+ "latex2e"
+ "bk11"
+ "book"
+ "a4paper"
+ "11pt"
+ "styles"
+ "dedicate"
+ "texfiles/microcontintro"
+ "texfiles/sciaurint"
+ "texfiles/led"
+ "texfiles/ldr"
+ "texfiles/dcmotor"
+ "texfiles/potmeter"
+ "texfiles/servo"
+ "texfiles/pushbutton")))
+
diff --git a/scilab-arduino/user-code/auto/styles.el b/scilab-arduino/user-code/auto/styles.el
new file mode 100644
index 0000000..a63e5c1
--- /dev/null
+++ b/scilab-arduino/user-code/auto/styles.el
@@ -0,0 +1,5 @@
+(TeX-add-style-hook "styles"
+ (lambda ()
+ (TeX-add-symbols
+ "item")))
+
diff --git a/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-both.mo b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-both.mo
new file mode 100644
index 0000000..066ca4f
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-both.mo
@@ -0,0 +1,24 @@
+model dcmotor_both "Rotate DC Motor in both directions"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ sComm.delay(2000);
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 100) "Motor 1 runs at PWM 100";
+ sComm.delay(3000) "for 3 seconds";
+ sComm.cmd_dcmotor_run(1, 1, -100) "Motor 1 runs at PWM -100 in reverse direction";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+end dcmotor_both; \ No newline at end of file
diff --git a/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-both.sce b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-both.sce
new file mode 100644
index 0000000..104b518
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-both.sce
@@ -0,0 +1,9 @@
+ok = open_serial(1,4,115200) //COM port is 4 and baud rate is 115200
+cmd_dcmotor_setup(1,3,1,10,11) // Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10
+cmd_dcmotor_run(1,1,100) // Motor 1 runs at PWM 100
+sleep(3000) // for 3 seconds
+cmd_dcmotor_run(1,1,-100) // Motor 1 runs at PWM -100 in reverse
+direction
+sleep(2000) // for 2 seconds
+cmd_dcmotor_release(1,1) // Motor 1 is released
+close_serial(1)
diff --git a/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-clock.mo b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-clock.mo
new file mode 100644
index 0000000..ffc3bba
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-clock.mo
@@ -0,0 +1,22 @@
+model dcmotor_clock "Rotate DC Motor clockwise"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ sComm.delay(2000);
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 100) "Motor 1 runs at PWM 100";
+ sComm.delay(3000) "This is allowed to continue for 3 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+end dcmotor_clock; \ No newline at end of file
diff --git a/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-clock.sce b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-clock.sce
new file mode 100644
index 0000000..310c72f
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-clock.sce
@@ -0,0 +1,6 @@
+ok = open_serial(1,4,115200) //COM port is 4 and baud rate is 115200
+cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10
+cmd_dcmotor_run(1,1,100) // Motor 1 runs at PWM 100
+sleep(3000) // This is allowed to continue for 3 seconds
+cmd_dcmotor_release(1,1) // Motor 1 is released
+close_serial(1)
diff --git a/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-loop.mo b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-loop.mo
new file mode 100644
index 0000000..979a098
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-loop.mo
@@ -0,0 +1,27 @@
+model dcmotor_loop "Rotate DC Motor in both directions in a loop"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ for i in 1:4 loop
+ sComm.cmd_dcmotor_setup(1, 3, 1, 9, 10) "Setup DC motor of type 3 (L293D), motor 1, pins 9 and 10";
+ sComm.cmd_dcmotor_run(1, 1, 100) "Motor 1 runs at PWM 100";
+ sComm.delay(2000) "for 3 seconds";
+ sComm.cmd_dcmotor_run(1, 1, 0) "Halt the motor";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_run(1, 1, -100) "Run it at PWM 100 in reverse direction";
+ sComm.delay(2000) "for 2 seconds";
+ sComm.cmd_dcmotor_release(1, 1) "Motor 1 is released";
+ end for;
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+end dcmotor_loop; \ No newline at end of file
diff --git a/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-loop.sce b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-loop.sce
new file mode 100644
index 0000000..fdb5b67
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/OpenModelica/dcmotor-loop.sce
@@ -0,0 +1,13 @@
+ok = open_serial(1,4,115200)//COM port is 4 and baud rate is 115200
+if ok~=0, error('Serial port is not accesible'); end
+cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293D), motor 1, pins 9 and 10
+for x=1:4
+ cmd_dcmotor_run(1,1,100) // Motor 1 runs at PWM 100
+ sleep(3000) // for 3 seconds
+ cmd_dcmotor_run(1,1,0) // Halt the motor
+ sleep(2000) // for 2 seconds
+ cmd_dcmotor_run(1,1,-100) // Run it at PWM 100 in reverse direction
+ sleep(2000) // for 2 seconds
+end
+cmd_dcmotor_release(1,1) // Motor 1 is released
+close_serial(1)
diff --git a/scilab-arduino/user-code/dcmotor/arduino/dcmotor-both/dcmotor-both.ino b/scilab-arduino/user-code/dcmotor/arduino/dcmotor-both/dcmotor-both.ino
new file mode 100644
index 0000000..1781c1d
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/arduino/dcmotor-both/dcmotor-both.ino
@@ -0,0 +1,16 @@
+void setup() {
+Serial.begin(115200); // set the baudrate=115200
+pinMode(9,OUTPUT); // use pins 10 and 11 for motor output
+pinMode(10,OUTPUT);
+analogWrite(9,100); // Motor runs at a low speed
+analogWrite(10,0);
+delay(3000); // 3 second delay
+analogWrite(9,0); //
+analogWrite(10,100); // Motor runs in the reverse direction for
+delay(2000); // 2 seconds
+analogWrite(9,0); // Motor is stopped
+analogWrite(10,0); //
+}
+void loop(){
+ // Code here runs in an infinite loop
+}
diff --git a/scilab-arduino/user-code/dcmotor/arduino/dcmotor-clock/dcmotor-clock.ino b/scilab-arduino/user-code/dcmotor/arduino/dcmotor-clock/dcmotor-clock.ino
new file mode 100644
index 0000000..b31f8fd
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/arduino/dcmotor-clock/dcmotor-clock.ino
@@ -0,0 +1,13 @@
+void setup() {
+Serial.begin(9600); // set the baudrate=9600
+pinMode(9,OUTPUT); // use pins 9 and 10 for motor output
+pinMode(10,OUTPUT);
+analogWrite(9,100); // PWM 100 on pin 9 makes the motor rotate
+analogWrite(10,0);
+delay(3000); // This is allowed to continue for 3 seconds
+analogWrite(9,0); // 0 on pin 9 stops the motor
+analogWrite(10,0);
+}
+void loop() {
+// what is put here will run in an infinite loop
+}
diff --git a/scilab-arduino/user-code/dcmotor/arduino/dcmotor-loop/dcmotor-loop.ino b/scilab-arduino/user-code/dcmotor/arduino/dcmotor-loop/dcmotor-loop.ino
new file mode 100644
index 0000000..7b87334
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/arduino/dcmotor-loop/dcmotor-loop.ino
@@ -0,0 +1,22 @@
+int i;
+void setup() {
+Serial.begin(115200); // set the baudrate=115200Hz
+pinMode(9,OUTPUT); // use pins 9 and 10 for motor output
+pinMode(10,OUTPUT);
+for(i=0; i<4; i++){
+ analogWrite(9,100); // Motor runs at a low speed
+ analogWrite(10,0);
+ delay(3000); // 3 second delay
+ analogWrite(9,0);
+ analogWrite(10,0); // Motor stops for
+ delay(2000); // 1 seconds
+ analogWrite(9,0); //
+ analogWrite(10,100); // Motor runs in the reverse direction for
+ delay(2000); // 2 seconds
+ analogWrite(9,0); // Stop the
+ analogWrite(10,0); // motor rotating
+ delay(1000); // for 1 second
+}
+}
+void loop(){
+}
diff --git a/scilab-arduino/user-code/dcmotor/auto/dcmotor.el b/scilab-arduino/user-code/dcmotor/auto/dcmotor.el
new file mode 100644
index 0000000..401c000
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/auto/dcmotor.el
@@ -0,0 +1,40 @@
+(TeX-add-style-hook "dcmotor"
+ (lambda ()
+ (LaTeX-add-index-entries
+ "H-Bridge circuit DC motor"
+ "H-Bridge"
+ "L293D,L298"
+ "PCB breakout
+ board"
+ "pulse width
+ modulation, PWM")
+ (LaTeX-add-labels
+ "fig:motordriverboard"
+ "fig:dcm-schematic"
+ "fig:dcmotorconn"
+ "sec:dcm-ard"
+ "sec:dcm-sci"
+ "table:convention"
+ "tab:dcmotor-init"
+ "sec:dc-both"
+ "fig:dcmotor-clock"
+ "tab:dcmotor-clock"
+ "fig:dcmotor-both"
+ "tab:dcmotor-both"
+ "fig:dcmotor-loop"
+ "tab:dcmotor-loop"
+ "sec:dcmotor-arduino-code"
+ "ard:dcmotor-clock"
+ "ard:dcmotor-both"
+ "ard:dcmotor-loop"
+ "sec:dcmotor-scilab-code"
+ "sci:dcmotor-clock"
+ "sci:dcmotor-both"
+ "sci:dcmotor-loop")
+ (TeX-add-symbols
+ '("LocDCMardbrief" 1)
+ '("LocDCMscibrief" 1)
+ "LocDCMfig"
+ "LocDCMscicode"
+ "LocDCMardcode")))
+
diff --git a/scilab-arduino/user-code/dcmotor/dcmotor.tex b/scilab-arduino/user-code/dcmotor/dcmotor.tex
new file mode 100644
index 0000000..28042c4
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/dcmotor.tex
@@ -0,0 +1,865 @@
+\chapter {Interfacing a DC motor}
+\thispagestyle{empty}
+\label{dcmotor}
+\newcommand{\LocDCMfig}{\Origin/user-code/dcmotor/figures}
+\newcommand{\LocDCMscicode}{\Origin/user-code/dcmotor/scilab}
+\newcommand{\LocDCMscibrief}[1]{{\tt \seqsplit{
+ Origin/user-code/dcmotor/scilab/#1}},
+see \fnrefp{fn:file-loc}}
+\newcommand{\LocDCMardcode}{\Origin/user-code/dcmotor/arduino}
+\newcommand{\LocDCMardbrief}[1]{{\tt \seqsplit{
+ Origin/user-code/dcmotor/arduino/#1}},
+see \fnrefp{fn:file-loc}}
+
+%%%%%%%%%%%%%python starts
+\newcommand{\LocDCMpycode}{\Origin/user-code/dcmotor/python}
+\newcommand{\LocDCMpybrief}[1]{{\tt \seqsplit{
+ Origin/user-code/dcmotor/python/#1}},
+see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%%%python ends
+
+%%%%%%%%%%%%%julia starts
+\newcommand{\LocDCMjuliacode}{\Origin/user-code/dcmotor/julia}
+\newcommand{\LocDCMjuliabrief}[1]{{\tt \seqsplit{
+ Origin/user-code/dcmotor/julia/#1}},
+see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%%%julia ends
+
+%%%%%%OpenModelica Starts
+\newcommand{\LocDCMOpenModelicacode}{\Origin/user-code/dcmotor/OpenModelica} %added for OpenModelica
+\newcommand{\LocDCMOpenModelicabrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/led/OpenModelica/#1}}, see \fnrefp{fn:file-loc}} % added for OpenModelica
+
+%%%%%OpenModelcia Ends
+
+Motors are widely used in commercial applications. DC motor converts
+electric power obtained from direct current to the mechanical
+motion. This chapter describes an experiment to control DC motor with
+\arduino\ board. We will observe the direction of motion of DC motor
+being changed using the microcontroller on \arduino\ board. Control
+instruction will be sent to \arduino\ using Scilab scripts, Arduino IDE and Scilab Xcos.
+
+\section{Preliminaries}
+In order to change its direction, the sign of the voltage applied to
+the DC motor is changed. For that, one needs to use external hardware
+called \index{H-Bridge circuit DC motor}%
+H-Bridge circuit DC motor with \arduino. \index{H-Bridge}%
+H-Bridge allows direction of the current passing through the DC motor
+to be changed. It avoids the sudden short that may happen while
+changing the direction of current passing through the motor. It is
+one of the essential circuits for the smooth operation of a DC
+motor. There are many manufacturers of H-bridge circuit viz.
+\index{L293D,L298}%
+L293D, L298, etc. Often they provide small \index{PCB breakout
+ board}%
+PCB breakout boards. These modules also provide an extra supply that
+is needed to drive the DC motor. \figref{fig:motordriverboard} shows
+the diagram of a typical breakout board containing IC L293D, which will
+be used in this book. \par
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocDCMfig/dcmotor_board.png}
+\caption{L293D motor driver board}
+\label{fig:motordriverboard}
+\end{figure}
+
+Input from \arduino\ to H-bridge IC is in \index{pulse width
+ modulation, PWM}%
+pulse width modulation (PWM) form. PWM is a technique to generate
+analog voltages using digital pins. We know that \arduino\ has digital
+input-output pins. When these pins are configured as an output, they
+provide High (5V) or Low (0V) voltage. With PWM technique, these pins
+are switched on and off iteratively and fast enough so that the
+voltage is averaged out to some analog value in between 0-5V. This
+analog value depends on ''switch-on'' time and ''switch-off''
+time. For example, if both ''switch-on'' time and ''switch-off'' time
+are equal, average voltage on PWM pin will be 2.5V. To enable fast
+switching of digital pin, a special hardware is provided in
+microcontrollers. PWM is considered as an important resource of
+the microcontroller system. \arduino\ board has 6 PWM pins for each of
+which, the input can come from 8 bits. Thus we can generate 256
+different analog values in between 0-5V with these pins.
+
+We now carry out the following connections:
+\begin{enumerate}
+\item Connect input of L293D (M1\_IN) pins to two of the PWM pins
+ available on \arduino. We have used pins 9 and 10 of the \arduino\
+ board.
+\item Connect the output of the L293D (M1\_OUT) pins directly to the 2
+ wires of the DC motor. As the direction is changed during the
+ operation, the polarity of the connection does not matter.
+\item Connect supply (Vcc) and ground (Gnd) pins of L293D to 5V and
+ Gnd pins of the \arduino\ board, respectively.
+\end{enumerate}
+A schematic of these connections is given in
+\figref{fig:dcm-schematic}. The actual connections can be seen in
+\figref{fig:dcmotorconn}.
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocDCMfig/schematic.png}
+\caption{A schematic of DC motor connections}
+\label{fig:dcm-schematic}
+\end{figure}
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocDCMfig/dc_motor_description.jpg}
+\caption{How to connect the DC motor to the \arduino\ board}
+\label{fig:dcmotorconn}
+\end{figure}
+
+
+\section{Controlling the DC motor from Arduino}
+\label{sec:dcm-ard}
+In this section, we will describe some experiments that will help
+drive the DC motor from the Arduino IDE. We will also give the
+necessary code. We will present four experiments in this section. We
+assume the shield to be attached to the \arduino\ board while doing
+these experiments. The reader should go through the instructions
+given in \secref{sec:ard-start} before getting started.
+\begin{enumerate}
+\item We now demonstrate how to drive the DC motor from the Arduino
+ IDE. \ardref{ard:dcmotor-clock} has the required code for this. It
+ starts the serial port at a baud rate of 9600. Pins 9 and 10 are
+ declared as output pins and hence values can be written on to them.
+ Next, we write PWM 100 on pin 9 and PWM 0 on pin 10. Recall from
+ \figref{fig:dcmotorconn} that pins 9 and 10 are connected to the
+ input of the breakout board, which in turn makes the DC motor run at
+ an intermediate speed. Recall from \secref{sec:led-pril} that a
+ high on pin 9 also makes the blue LED come on. As a result, the
+ blue LED also lights up.
+
+ Some of the breakout boards may not have enough current driving
+ capability and hence tend to heat up. To avoid these difficulties,
+ the DC motor is run at an intermediate value of PWM 100.
+
+ The line containing {\tt delay} makes the previous command execute
+ for 3 seconds. As a result, the DC motor continues to rotate for 3
+ seconds. After this, as we put a 0 in both pins 9 and 10, the motor
+ comes to a halt. The blue LED is also turned off.
+
+\item It is easy to make the DC motor run in the reverse direction by
+ interchanging the values put on pins 9 and 10. This is done in
+ \ardref{ard:dcmotor-both}. In this program, we make the DC motor
+ run in one direction for 3 seconds and then make it rotate in the
+ reverse direction for 2 seconds. The rotation in reverse direction
+ is achieved by putting 100 in pin 10. This makes the green LED
+ light up, recall the discussion in \secref{sec:led-pril}. After
+ that, we release the motor by writing 0 in both pins 9 and 10. This
+ turns the green LED off.
+
+\item Next, we make the DC motor run in forward and reverse
+ directions, in a loop. This is done through
+ \ardref{ard:dcmotor-loop}. We first put PWM 100 in the motor for 3
+ seconds. After that, make the motor stop for 2 seconds. Finally,
+ make the motor rotate in the reverse direction by putting PWM -100
+ for two seconds. Finally, we make the motor stop for one second.
+ The entire thing is put in a loop.
+\end{enumerate}
+
+\begin{exercise}
+Carry out the following exercise:
+\begin{enumerate}
+\item Try out some of the suggestions given above, \ie\ removing
+ certain numbers from the code
+\item See if the DC motor runs if you put 1 instead of 100 as the PWM
+ value. Explain why it does not run. Find out the smallest value at
+ which it will start running.
+\end{enumerate}
+\end{exercise}
+
+
+
+
+\section{Controlling the DC motor from Scilab}
+\label{sec:dcm-sci}
+In this section, we will explain a few experiments to rotate the DC
+motor. We will first initialize it and then rotate it clockwise and
+counterclockwise. We will explain some of the other required
+commands, such as sleep.
+
+\subsection{Initialization}
+In all the experiments in this section, we need to initialize the DC
+motor first, using a \scilab\ command of the following type:
+
+\begin{lstlisting}[style=nonumbers]
+ cmd_dcmotor_setup(1,H-Bridge type,Motor number,PWM pin 1,PWM pin 2)
+\end{lstlisting}
+As mentioned earlier, number 1 in the above list refers to the
+\arduino\ board. We now discuss how to choose values for the other
+parameters in this command. As mentioned above, there are many
+H-bridge IC manufacturers. The inbuilt function {\tt
+ cmd\_dcmotor\_setup} can work with most of the widely used ICs,
+through a suitable input parameter. Users have to provide the type
+number of the breakout board they have. Popular numbering convention
+for different types of DC motor breakout boards is given in
+\tabref{table:convention}. For example, L293D is type 3. Next, we
+have to provide the motor number we want to control. In our case, it
+is number 1. Finally we want to provide PWM pin numbers on \arduino.
+As mentioned earlier, we are using pins 10 and 11. In
+\tabref{tab:dcmotor-init}, we list the choices that we have made.
+Inserting these parameter values in the above shown \scilab\ command,
+we get the following command \\
+\lstinputlisting[firstline=2,lastline=2]
+{\LocDCMscicode/dcmotor-clock.sce}
+which is line number 2 in \sciref{sci:dcmotor-clock}. We have already
+seen
+the first two lines of this code and hence will not explain here. We
+will add more lines to this code as we go along.
+
+\begin{table}
+\centering
+\caption{A numbering convention used in the DC motor breakout board}
+\label{table:convention}
+\begin{tabular}{|c|c|}\hline
+DC Motor Type & Number \\ \hline
+MotorShield Rev3 & 1 \\
+PMODHB5/L298 & 2 \\
+L293D & 3 \\ \hline
+\end{tabular}
+\end{table}
+\begin{table}
+\centering
+\caption{Parameters for DC motor initialization}
+\label{tab:dcmotor-init}
+\begin{tabular}{|l|c|} \hline
+Parameter & Value \\ \hline
+H-Bridge type & 3 \\
+Motor number & 1 \\
+PWM 1 pin & 9 \\
+PWM 2 pin & 10 \\ \hline
+\end{tabular}
+\end{table}
+
+\subsection{Rotation for a specified time}
+\label{sec:dc-both}
+We will now explain how to run the DC motor. We have to provide motor
+number and the PWM value. The \scilab\ command is of the form,
+\begin{lstlisting}[style=nonumbers]
+ cmd_dcmotor_run(1,Motor number,(sign)(PWM value))
+\end{lstlisting}
+Motor number is 1, as mentioned earlier. Considering that the input
+to a PWM pin comes from two 8 digital pins, we can provide values
+between $-255$ and +255. Positive values correspond to clockwise
+rotation while negative values correspond to anti-clockwise rotation.
+Based on the PWM value and polarity, corresponding analog voltage is
+generated. We put a PWM value of 100 to make the DC motor to
+run at an intermediate speed. Assigning these values, we get the
+following command:
+\lstinputlisting[firstline=3,lastline=3]{\LocDCMscicode/dcmotor-clock.sce}
+This is line number 3 in \sciref{sci:dcmotor-clock}. This command
+does not say for how long the motor should run. This is taken care of
+by the {\tt sleep} statement. The units of sleep are milliseconds.
+For example, line number 4 of \sciref{sci:dcmotor-clock}, given next,
+says that \scilab\ should go to sleep for three seconds.
+\lstinputlisting[firstline=4,lastline=4]{\LocDCMscicode/dcmotor-clock.sce}
+
+Line number 5 of \sciref{sci:dcmotor-clock}, shown below, is mandatory
+for every program.
+\lstinputlisting[firstline=5,lastline=5]{\LocDCMscicode/dcmotor-clock.sce}
+It releases the DC motor. The PWM functionality on the \arduino\ pins
+is ceased using this command. This has the motor number as an input
+parameter.
+
+If the sleep command discussed above were not present, the DC motor
+will not even run: soon after putting the value 100, the DC motor
+would be released, leaving no time in between. If on the other hand,
+the DC motor is not released (\ie\ line number 6 being absent), the DC
+motor will go on rotating. Line number 6 of \sciref{sci:dcmotor-clock}
+closes the serial port.
+
+We encourage you to run the above code without either line numbers 4,
+5 or 6 or all combinations. Go ahead and do it - you will not break
+anything. At the most, you may have to unplug the USB cable and
+restart the whole thing from the beginning.
+
+\sciref{sci:dcmotor-clock} can easily be extended to make the DC motor
+run in both directions. The modified code is available in
+\sciref{sci:dcmotor-both}.
+
+\begin{exercise}
+Carry out the following exercise:
+\begin{enumerate}
+\item Try out some of the suggestions given above, \ie\ removing
+ certain numbers from the code
+\item See if the DC motor runs if you put 1 instead of 100 as the PWM
+ value. Explain why it does not run. Find out the smallest value at
+ which it will start running.
+\end{enumerate}
+\end{exercise}
+
+\subsection{Using the capabilities of \scilab}
+Given that Scilab has a powerful programming syntax, a lot of
+different experiments can be tried out. We illustrate a few in this
+section. We begin with a {\tt for loop}.
+
+In the previous section, we presented \sciref{sci:dcmotor-both}, where
+we made the motor run in both directions, five seconds in the
+clockwise direction and two seconds in reverse. This code can be
+embedded in a loop and the motor be made to repeat a certain number of
+times. This idea is implemented through \sciref{sci:dcmotor-loop}.
+Through the {\tt for loop} in between line numbers 3 and 8, we make
+the DC motor repeat four times the cycle containing one rotation in
+each direction.
+% \figref{fig:dcmotorfc} explains the entire operation
+% through a flowchart.
+% \begin{figure}
+% \centering
+% \includegraphics[width=\lgfig]{\LocDCMfig/dcmotorflowchart.png}
+% \caption{Flowchart}
+% \label{fig:dcmotorfc}
+% \end{figure}
+
+It is not difficult to see how some of the other features of the
+\scilab\ programming language can be used along with this DC motor.
+For example, it is possible to read a temperature value and based on
+its value, start or stop the motor. For real world applications, one
+has to provide extra current carrying capabilities through external
+hardware.
+
+
+\section{Driving the DC motor from Xcos}
+In this section, we will see how to drive the DC motor from Xcos. For
+each experiment, we will give the location of the zcos file and the
+parameters to set. The reader should go through the instructions
+given in \secref{sec:xcos-start} before getting started. If the
+rotation of the DC motor is blocked by any obstacle in any of the
+experiments given below, you may want to hold it in your hand and let
+it run unhindered.
+
+\begin{enumerate}
+\item First we will see a simple code that drives the DC motor for a
+ specified time. When the file required for this experiment is
+ invoked, one gets the GUI as in \figref{fig:dcmotor-clock}. In
+ the caption of this figure, one can see where to locate the file.
+
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocDCMfig/dcmotor-clock.png}
+ \caption[Control of DC motor for a specified time from Xcos]
+ {Control of DC motor for a specified time from Xcos. This is what
+ one sees when \LocDCMscibrief{dcmotor-clock.zcos}, is
+ invoked.}
+ \label{fig:dcmotor-clock}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:dcmotor-clock}. In case of {\tt
+ DCMOTOR\_SB}, enter 3 to indicate for L293D board. After clicking
+ on OK, another box will pop up. In that, enter the PWM pin numbers
+ as 9 and 10 and click OK.
+All other parameters are to be left
+ unchanged.
+ \begin{table}
+ \centering
+ \caption{Xcos parameters to drive the DC motor for a specified time}
+ \label{tab:dcmotor-clock}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ DCMOTOR\_SB & Type of Shield & 3 \\
+ & Arduino card number & 1 \\
+ & PWM pin numbers & 9 10 \\
+ & Motor number & 1 \\ \hline
+ STEP\_FUNCTION & Step time & 5 \\
+ & Initial Value & 100 \\
+ & Final Value & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+
+% Can you find out for how long the DC motor will run when this program
+% is executed? In which block do we provide this information? The
+% answer is that the DC motor will stop only when we terminate the
+% program. As in the previous experiments, we can terminate the Xcos
+% program by pressing the stop button. The DC motor gets released when
+% the stop button is pressed.
+
+
+
+\item Next, we will describe the Xcos code that drives the DC motor in
+ both forward and reverse directions. When the file required for
+ this experiment is invoked, one gets the GUI as in
+ \figref{fig:dcmotor-both}. In the caption of this figure, one can
+ see where to locate the file.
+
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocDCMfig/dcmotor-both.png}
+ \caption[Xcos control of the DC motor in forward and reverse
+ directions]{Xcos control of the DC motor in forward and reverse
+ directions. This is what one sees when
+ \LocDCMscibrief{dcmotor-both.zcos}, is invoked.}
+ \label{fig:dcmotor-both}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:dcmotor-both}. All other parameters are
+ to be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Xcos parameters to drive the DC motor in forward and
+ reverse directions}
+ \label{tab:dcmotor-both}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ DCMOTOR\_SB & Type of Shield & 3 \\
+ & Arduino card number & 1 \\
+ & PWM pin numbers & 9 10 \\
+ & Motor number & 1 \\ \hline
+ STEP\_FUNCTION & Step time & 5 \\
+ & Initial Value & 100 \\
+ & final value & 0 \\ \hline
+ CLOCK\_c & Period & 1 \\
+ & Initialisation Time & 0.1 \\ \hline
+ \end{tabular}
+ \end{table}
+
+\item Next, we will describe the Xcos code that drives the DC motor in
+ a loop. When the file required for
+ this experiment is invoked, one gets the GUI as in
+ \figref{fig:dcmotor-loop}. In the caption of this figure, one can
+ see where to locate the file.
+
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocDCMfig/dcmotor-loop.png}
+ \caption[Xcos control of the DC motor in forward and reverse
+ directions]{Xcos control of the DC motor in forward and reverse
+ directions. This is what one sees when
+ \LocDCMscibrief{dcmotor-loop.zcos}, is invoked.}
+ \label{fig:dcmotor-loop}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:dcmotor-loop}. All other parameters are
+ to be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Xcos parameters to drive the DC motor in a loop}
+ \label{tab:dcmotor-loop}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ DCMOTOR\_SB & Type of Shield & 3 \\
+ & Arduino card number & 1 \\
+ & PWM pin numbers & 9 10 \\
+ & Motor number & 1 \\ \hline
+ STEP\_FUNCTION 1 & Step time & 3 \\
+ & Initial Value & 100 \\
+ & Final Value & 0 \\ \hline
+ STEP\_FUNCTION 2 & Step time & 5 \\
+ & Initial Value & 0 \\
+ & Final Value & 100 \\ \hline
+ STEP\_FUNCTION 3 & Step time & 7 \\
+ & Initial Value & 0 \\
+ & Final Value & 100 \\ \hline
+ BIGSOM\_f & Inputs ports signs/gain & [1;-1;1] \\ \hline
+ \end{tabular}
+ \end{table}
+\end{enumerate}
+
+
+%\section{Do we need any of these? \redcolor{Manas, please answer}}
+% \begin{figure}
+% \centering
+% \includegraphics[width=\smfig]{\LocDCMfig/dc-motor-simple.png}
+% \caption[Control of DC motor from Xcos]{Control of DC motor from
+% Xcos. This is what one sees when {\tt
+% \LocDCMscibrief/dc-motor-simple.zcos} is invoked.}
+% \label{fig:dcm-xcos-simple}
+% \end{figure}
+
+
+
+% \begin{enumerate}
+% \item Card 1 on com 5 block: Right-click and open the block properties
+% or double click on this block. In the resulting dialog window,
+% enter the com port number of your system.
+% \item Typeshield 1 on card 1: Following the procedure mentioned above,
+% make sure that the entry for this block is 3, which corresponds to
+% L293D breakout board, as explained in \tabref{table:convention}.
+% \end{enumerate}
+% Leave the other blocks unchanged.
+
+% This Xcos program is used to put a specific PWM value to the DC motor.
+% We can right click (or double click) on any block and see what
+% parameter values are present in it. By doing this, we can see that
+% this program is used to put in a PWM value of 255. Start executing
+% the program by pressing the right arrow key.
+
+\begin{exercise}
+Carry out the following exercise:
+\begin{enumerate}
+\item Keep reducing the PWM value and find out the minimum value
+ required to run the DC motor. Is this value in agreement with what
+ we found in the previous section?
+\item Change the PWM value to $-100$ and check if the DC motor rotates
+ in the opposite direction.
+\item Find out the smallest PWM value required to make the motor run
+ in the opposite direction. That is, find the least count for both
+ directions.
+\item Come up with a method to rotate the motor in two directions for
+ different time periods.
+\end{enumerate}
+\end{exercise}
+
+%%%%%%%%%%%%%python description starts
+\section{Controlling the DC motor from Python}
+
+In this section, we will explain a few experiments to rotate the DC motor. We will
+first initialize it and then rotate it clockwise and counterclockwise. We will explain
+some of the other required commands, such as sleep.
+
+Initialization:
+In all the experiments in this section, we need to initialize the DC motor first, using
+a Python command of the following type:
+\begin{lstlisting}[style=nonumbers]
+ cmd_dcmotor_setup(1,H-Bridge type,Motor number,PWM pin 1,PWM pin 2)
+\end{lstlisting}
+
+As mentioned earlier, number 1 in the above list refers to the Arduino Uno board.
+We now discuss how to choose values for the other parameters in this command. As
+mentioned above, Popular numbering convention for different types of DC motor breakout
+boards is given in Table 7.1. For example, L293D is type 3. Next, we have to provide
+the motor number we want to control. In our case, it is number 1. Finally we want
+to provide PWM pin numbers on Arduino Uno. As mentioned earlier, we are using
+pins 10 and 11. In Table 7.2, we list the choices that we have made. Inserting these
+parameter values in the above shown Python command, we get the following command
+
+self.obj\_arduino.cmd\_dcmotor\_setup(1,3,1,self.pin1,self.pin2)
+
+To rotate the motor,we have to provide motor number
+and the PWM value. The Python command is of the form,
+
+cmd\_dcmotor\_run ( 1 , Motor number , ( sign ) (PWM value ) )
+
+The PWM values to be given are as same as explained in Scilab code before.
+
+To run the motor for specified amount of time,we will use sleep command
+
+sleep(3) //sleep for 3 seconds
+
+To release the dc motor, we will use the following command
+
+cmd\_dcmotor\_release(1,1) //Motor 1 is release
+
+To run motor in loop, for loop is used in Python code 7.3.
+
+
+%%%%%%%%%%%%%python description ends
+
+
+%%%%%%%%%%%%%julia description starts
+\section{Controlling the DC motor from Julia}
+
+In this section, we will explain a few experiments to rotate the DC motor. We will
+first initialize it and then rotate it clockwise and counterclockwise. We will explain
+some of the other required commands, such as sleep.
+
+Initialization:
+In all the experiments in this section, we need to initialize the DC motor first, using
+a Scilab command of the following type:
+
+\begin{lstlisting}[style=nonumbers]
+ DCMotorSetup(1,H-Bridge type,Motor number,PWM pin 1,PWM pin 2)
+\end{lstlisting}
+
+
+We now discuss how to choose values for the other parameters in this command. As
+mentioned above, choose the H-bridge accordingly as explained previously.THis is the second
+parameter given to the DCMotorSetup function. Next, we have to provide
+the motor number we want to control. In our case, it is number 1. Finally we want
+to provide PWM pin numbers on Arduino Uno. As mentioned earlier, we are using
+pins 9 and 10. In Table 7.2, we list the choices that we have made. Inserting these
+parameter values in the above shown Julia function command, we get the following command
+
+DCMotorSetup(1,3,1,9,10)
+
+To rotate the motor,we have to provide motor number
+and the PWM value. The Julia command is of the form,
+
+DCMotorRun ( 1 , Motor number , ( sign ) (PWM value ) )
+
+The PWM values to be given are as same as explained in Scilab code before.
+
+To run the motor for specified amount of time,we will use sleep command
+
+sleep(3) //sleep for 3 seconds
+
+To release the dc motor, we will use the following command
+
+DCMotorRelease(ser,1) //Motor 1 is release
+
+To run motor in loop, for loop is used in Julia code 7.3.
+
+
+%%%%%%%%%%%%%julia description ends
+
+%%%%%%%OpenModelica description starts
+
+\section{Controlling the DC motor from OpenModelica}
+
+
+Initialization of DC Motor :
+In all the experiments in this section, we need to initialize the DC motor first, using
+a OpenModelica command of the following type:
+
+\begin{lstlisting}[style=nonumbers]
+ cmd_dcmotor_setup(1,H-Bridge type,Motor number,PWM pin 1,PWM pin 2)
+\end{lstlisting}
+cmd\_dcmotor\_setup(1,3,1,9,10)
+
+To rotate the motor,we have to provide motor number
+and the PWM value. The OpenModelica command is of the form,
+
+cmd\_dcmotor\_run ( 1 , Motor number , ( sign ) (PWM value ) )
+
+The PWM values to be given are as same as explained in Scilab code before.
+
+To run the motor for specified amount of time,we will use sleep command
+
+delay(2000) //sleep for 2 seconds
+
+To release the dc motor, we will use the following command
+
+cmd\_dcmotor\_release(ser,1) //Motor 1 is release
+
+To run motor in loop, for loop is used in OpenModelica code 7.3
+
+%%%%%%%OpenModelica description ends
+
+% \subsection{Using the Xcos features in DC motor control}
+% Xcos can be used to control the DC motor in many different ways. In
+% this section, we will see a few approaches. First, we will make the
+% DC motor start and stop. For this, we will open the program given in \figref{fig:dcm-xcos-start-stop}.
+% \begin{figure}
+% \centering
+% \includegraphics[width=\smfig]{\LocDCMfig/dc-motor-start-stop.png}
+% \caption[Xcos program to make the DC motor to rotate, pause and
+% repeat]{Xcos program to make the DC motor to rotate, pause and
+% repeat. This is what one sees when {\tt
+% \LocDCMscibrief/dc-motor-start-stop.zcos} is invoked.}
+% \label{fig:dcm-xcos-start-stop}
+% \end{figure}
+
+% The input is a train of pulses of positive values. The amplitude of
+% these pulses is chosen to be 255. The period is chosen to be 1s.
+% \redcolor{these values have to be checked - this section to be
+% rewritten.} On executing this Xcos code, the DC motor rotates for
+% 1s, pauses for 1s, and repeats. This continues until the Xcos program
+% is terminated.
+
+% \begin{exercise}
+% Carry out the following exercise:
+% \begin{enumerate}
+% \item The user may repeat this exercise with different amplitude and
+% periods.
+% \item The above may be repeated with negative PWM values.
+% \item One may find the least count for all experiments.
+% \end{enumerate}
+% \end{exercise}
+
+% We will next see how to give positive and negative values of PWM in
+% the same experiment. For this, we will use the Xcos program given in
+% \figref{fig:dcm-xcos-both}. This code is similar to the previous one,
+% but for a few minor changes. First of all, we have introduced a gain
+% block, and assigned a value of 255. This block is excited by pulses
+% of $+1$ and $-1$ alternately. This simple approach, however, results
+% in the DC motor running in both directions for identical durations.
+% \begin{figure}
+% \centering
+% \includegraphics[width=\lgfig]{\LocDCMfig/dc-motor-both.png}
+% \caption[Xcos program to make the DC motor to rotate, pause and to
+% rotate in the opposite direction]{Xcos program to make the DC motor
+% to rotate, pause and to rotate in the opposite direction. This is
+% what one sees when {\tt \LocDCMscibrief/dc-motor-both.zcos} is
+% invoked.}
+% \label{fig:dcm-xcos-both}
+% \end{figure}
+
+% \begin{exercise}
+% Carry out the following exercise:
+% \begin{enumerate}
+% \item Repeat this experiment for different amplitudes and periods.
+% \end{enumerate}
+% \end{exercise}
+
+
+% \subsection{Troubleshooting \redcolor{Do we need this? - Manas, please answer}}
+% \begin{enumerate}
+% \item If we want to connect external supply, Ground (Gnd) pin of L293D board, external supply and \arduino\ board should be shorted. This creates common ground voltage for entire set-up.
+% \item We can connect more than one motor simultaneously using H-bridge like L293D. Typically break-out boards support 2 motors. However we are limited by number of PWM pins available on the board. For each motor cable of bidirectional motion, we need two PWM pins
+% \end{enumerate}
+
+\section{Arduino Code}
+\label{sec:dcmotor-arduino-code}
+\lstset{style=mystyle}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+\acaption{Rotating the DC motor}
+{Rotating the DC motor. Available at
+ \LocDCMardbrief{dcmotor-clock/dcmotor-clock.ino}.}
+\label{ard:dcmotor-clock}
+\lstinputlisting{\LocDCMardcode/dcmotor-clock/dcmotor-clock.ino}
+\end{ardcode}
+
+\begin{ardcode}
+\acaption{Rotating the DC motor in both directions}{Rotating the DC
+ motor in both directions.
+ Available at
+ \LocDCMardbrief{dcmotor-both/dcmotor-both.ino}.}
+\label{ard:dcmotor-both}
+\lstinputlisting{\LocDCMardcode/dcmotor-both/dcmotor-both.ino}
+\end{ardcode}
+
+\begin{ardcode}
+\acaption{Rotating the DC motor in both directions in a loop}{Rotating
+ the DC motor in both directions in a loop.
+ Available at
+ \LocDCMardbrief{dcmotor-loop/dcmotor-loop.ino}.}
+\label{ard:dcmotor-loop}
+\lstinputlisting{\LocDCMardcode/dcmotor-loop/dcmotor-loop.ino}
+\end{ardcode}
+
+\section{Scilab Code}
+\label{sec:dcmotor-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+\ccaption{Rotating the DC motor}
+{Rotating the DC motor. Available at
+ \LocDCMscibrief{dcmotor-clock.sce}.}
+\label{sci:dcmotor-clock}
+\lstinputlisting{\LocDCMscicode/dcmotor-clock.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Rotating the DC motor in both directions}
+{Rotating DC motor in both directions. Available at
+ \LocDCMscibrief{dcmotor-both.sce}.}
+\label{sci:dcmotor-both}
+\lstinputlisting{\LocDCMscicode/dcmotor-both.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Rotating the DC motor in both directions in a loop}{Rotating
+ the DC motor in both directions in a loop.
+ Available at
+ \LocDCMscibrief{dcmotor-loop.sce}.}
+\label{sci:dcmotor-loop}
+\lstinputlisting{\LocDCMscicode/dcmotor-loop.sce}
+\end{scicode}
+
+%%%%%%%%%%python code starts
+\section{Python Code}
+\label{sec:dcmotor-python-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{pycode}
+\pcaption{Rotating the DC motor}
+{Rotating the DC motor. Available at
+ \LocDCMpybrief{dcmotor-clock.py}.}
+\label{py:dcmotor-clock}
+\lstinputlisting{\LocDCMpycode/dcmotor-clock.py}
+\end{pycode}
+
+\begin{pycode}
+\pcaption{Rotating the DC motor in both directions}
+{Rotating DC motor in both directions. Available at
+ \LocDCMpybrief{dcmotor-both.py}.}
+\label{py:dcmotor-both}
+\lstinputlisting{\LocDCMpycode/dcmotor-both.py}
+\end{pycode}
+
+\begin{pycode}
+\pcaption{Rotating the DC motor in both directions in a loop}{Rotating
+ the DC motor in both directions in a loop.
+ Available at
+ \LocDCMpybrief{dcmotor-loop.py}.}
+\label{py:dcmotor-loop}
+\lstinputlisting{\LocDCMpycode/dcmotor-loop.py}
+\end{pycode}
+%%%%%%%%%%python code ends
+
+
+
+%%%%%%%%%%Julia code starts
+\section{Julia Code}
+\label{sec:dcmotor-julia-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{juliacode}
+\pcaption{Rotating the DC motor}
+{Rotating the DC motor. Available at
+ \LocDCMjuliabrief{dcmotor-clock.jl}.}
+\label{julia:dcmotor-clock}
+\lstinputlisting{\LocDCMjuliacode/dcmotor-clock.jl}
+\end{juliacode}
+
+\begin{juliacode}
+\pcaption{Rotating the DC motor in both directions}
+{Rotating DC motor in both directions. Available at
+ \LocDCMjuliabrief{dcmotor-both.jl}.}
+\label{julia:dcmotor-both}
+\lstinputlisting{\LocDCMjuliacode/dcmotor-both.jl}
+\end{juliacode}
+
+\begin{juliacode}
+\pcaption{Rotating the DC motor in both directions in a loop}{Rotating
+ the DC motor in both directions in a loop.
+ Available at
+ \LocDCMjuliabrief{dcmotor-loop.jl}.}
+\label{julia:dcmotor-loop}
+\lstinputlisting{\LocDCMjuliacode/dcmotor-loop.jl}
+\end{juliacode}
+%%%%%%%%%%Julia code ends
+
+%%%%%%%%%%OpenModelica code starts
+\section{OpenModelica Code}
+\label{sec:dcmotor-OpenModelica-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{OpenModelicacode}
+\pcaption{Rotating the DC motor}
+{Rotating the DC motor. Available at
+ \LocDCMOpenModelicabrief{dcmotor-clock.mo}.}
+\label{OpenModelica:dcmotor-clock}
+\lstinputlisting{\LocDCMOpenModelicacode/dcmotor-clock.mo}
+\end{OpenModelicacode}
+
+\begin{OpenModelicacode}
+\pcaption{Rotating the DC motor in both directions}
+{Rotating DC motor in both directions. Available at
+ \LocDCMOpenModelicabrief{dcmotor-both.mo}.}
+\label{OpenModelica:dcmotor-both}
+\lstinputlisting{\LocDCMOpenModelicacode/dcmotor-both.mo}
+\end{OpenModelicacode}
+
+\begin{OpenModelicacode}
+\pcaption{Rotating the DC motor in both directions in a loop}{Rotating
+ the DC motor in both directions in a loop.
+ Available at
+ \LocDCMOpenModelicabrief{dcmotor-loop.mo}.}
+\label{OpenModelica:dcmotor-loop}
+\lstinputlisting{\LocDCMOpenModelicacode/dcmotor-loop.mo}
+\end{OpenModelicacode}
+%%%%%%%%%%OpenModelica code ends \ No newline at end of file
diff --git a/scilab-arduino/user-code/dcmotor/figures/dc-motor-both.png b/scilab-arduino/user-code/dcmotor/figures/dc-motor-both.png
new file mode 100644
index 0000000..7dd7347
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dc-motor-both.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/dc-motor-simple.png b/scilab-arduino/user-code/dcmotor/figures/dc-motor-simple.png
new file mode 100644
index 0000000..ae82faa
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dc-motor-simple.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/dc-motor-start-stop.png b/scilab-arduino/user-code/dcmotor/figures/dc-motor-start-stop.png
new file mode 100644
index 0000000..3e55dcc
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dc-motor-start-stop.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/dc-motor.png b/scilab-arduino/user-code/dcmotor/figures/dc-motor.png
new file mode 100644
index 0000000..994e2f4
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dc-motor.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/dc_motor_description.jpg b/scilab-arduino/user-code/dcmotor/figures/dc_motor_description.jpg
new file mode 100644
index 0000000..59e7806
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dc_motor_description.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/dc_motor_xcos_desc.png b/scilab-arduino/user-code/dcmotor/figures/dc_motor_xcos_desc.png
new file mode 100644
index 0000000..7cd2344
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dc_motor_xcos_desc.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/dcmotor-both.png b/scilab-arduino/user-code/dcmotor/figures/dcmotor-both.png
new file mode 100644
index 0000000..c1945a2
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dcmotor-both.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/dcmotor-clock.png b/scilab-arduino/user-code/dcmotor/figures/dcmotor-clock.png
new file mode 100644
index 0000000..165b463
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dcmotor-clock.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/dcmotor-loop.png b/scilab-arduino/user-code/dcmotor/figures/dcmotor-loop.png
new file mode 100644
index 0000000..cd5398d
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dcmotor-loop.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/dcmotor_board.png b/scilab-arduino/user-code/dcmotor/figures/dcmotor_board.png
new file mode 100644
index 0000000..3390211
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dcmotor_board.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/dcmotorflowchart.png b/scilab-arduino/user-code/dcmotor/figures/dcmotorflowchart.png
new file mode 100644
index 0000000..adfea5b
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/dcmotorflowchart.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/schematic.png b/scilab-arduino/user-code/dcmotor/figures/schematic.png
new file mode 100644
index 0000000..474bf15
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/schematic.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/figures/trash/dc-motor-start-stop.png b/scilab-arduino/user-code/dcmotor/figures/trash/dc-motor-start-stop.png
new file mode 100644
index 0000000..7211071
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/figures/trash/dc-motor-start-stop.png
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/julia/dcmotor-both.jl b/scilab-arduino/user-code/dcmotor/julia/dcmotor-both.jl
new file mode 100644
index 0000000..a1b65e2
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/julia/dcmotor-both.jl
@@ -0,0 +1,11 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+DCMotorSetup(ser,3,1,9,10)
+DCMotorRun(ser,1,100)
+sleep(3)
+DCMotorRun(ser,1,-100)
+sleep(3)
+DCMotorRelease(ser,1)
+close(ser)
diff --git a/scilab-arduino/user-code/dcmotor/julia/dcmotor-clock.jl b/scilab-arduino/user-code/dcmotor/julia/dcmotor-clock.jl
new file mode 100644
index 0000000..df185d6
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/julia/dcmotor-clock.jl
@@ -0,0 +1,9 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+DCMotorSetup(ser,3,1,9,10)
+DCMotorRun(ser,1,100)
+sleep(3)
+DCMotorRelease(ser,1)
+close(ser)
diff --git a/scilab-arduino/user-code/dcmotor/julia/dcmotor-loop.jl b/scilab-arduino/user-code/dcmotor/julia/dcmotor-loop.jl
new file mode 100644
index 0000000..1d09943
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/julia/dcmotor-loop.jl
@@ -0,0 +1,15 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+DCMotorSetup(ser,3,1,9,10)
+for i = 1:4
+ DCMotorRun(ser,1,100)
+ sleep(3)
+ DCMotorRun(ser,1,0)
+ sleep(2)
+ DCMotorRun(ser,1,-100)
+ sleep(2)
+end
+DCMotorRelease(ser,1)
+close(ser)
diff --git a/scilab-arduino/user-code/dcmotor/python/dcmotor-both.py b/scilab-arduino/user-code/dcmotor/python/dcmotor-both.py
new file mode 100644
index 0000000..1db2463
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/python/dcmotor-both.py
@@ -0,0 +1,40 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class DCMOTOR_ROTATION:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.pin2=10
+ self.obj_arduino.cmd_dcmotor_setup(1,3,1,self.pin1,self.pin2)
+ self.obj_arduino.cmd_dcmotor_run(1,1,100)
+ sleep(3)
+ self.obj_arduino.cmd_dcmotor_run(1,1,-100)
+ sleep(3)
+ self.obj_arduino.cmd_dcmotor_release(1,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_dcmotor=DCMOTOR_ROTATION(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/dcmotor/python/dcmotor-clock.py b/scilab-arduino/user-code/dcmotor/python/dcmotor-clock.py
new file mode 100644
index 0000000..0a66f10
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/python/dcmotor-clock.py
@@ -0,0 +1,43 @@
+import os
+import sys
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class DCMOTOR_ROTATION:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.pin2=10
+ self.obj_arduino.cmd_dcmotor_setup(1,3,1,self.pin1,self.pin2)
+ self.obj_arduino.cmd_dcmotor_run(1,1,100)
+ sleep(2)
+ self.obj_arduino.cmd_dcmotor_release(1,1)
+
+
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_dcmotor=DCMOTOR_ROTATION(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/dcmotor/python/dcmotor-loop.py b/scilab-arduino/user-code/dcmotor/python/dcmotor-loop.py
new file mode 100644
index 0000000..dffbbb1
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/python/dcmotor-loop.py
@@ -0,0 +1,45 @@
+import os
+import sys
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class DCMOTOR_ROTATION:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.pin2=10
+ for i in range(4):
+ self.obj_arduino.cmd_dcmotor_setup(1,3,1,self.pin1,self.pin2)
+ self.obj_arduino.cmd_dcmotor_run(1,1,150)
+ sleep(3)
+ self.obj_arduino.cmd_dcmotor_run(1,1,0)
+ sleep(2)
+ self.obj_arduino.cmd_dcmotor_run(1,1,-150)
+ sleep(2)
+ self.obj_arduino.cmd_dcmotor_release(1,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_dcmotor=DCMOTOR_ROTATION(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/dcmotor/scilab/dc-motor-both.zcos b/scilab-arduino/user-code/dcmotor/scilab/dc-motor-both.zcos
new file mode 100644
index 0000000..bc5d217
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/dc-motor-both.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/scilab/dc-motor-simple.zcos b/scilab-arduino/user-code/dcmotor/scilab/dc-motor-simple.zcos
new file mode 100644
index 0000000..4fcc235
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/dc-motor-simple.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/scilab/dc-motor-start-stop.zcos b/scilab-arduino/user-code/dcmotor/scilab/dc-motor-start-stop.zcos
new file mode 100644
index 0000000..a0350ad
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/dc-motor-start-stop.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/scilab/dc-motor.zcos b/scilab-arduino/user-code/dcmotor/scilab/dc-motor.zcos
new file mode 100644
index 0000000..8e6c170
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/dc-motor.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/scilab/dcmotor-both.sce b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-both.sce
new file mode 100644
index 0000000..104b518
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-both.sce
@@ -0,0 +1,9 @@
+ok = open_serial(1,4,115200) //COM port is 4 and baud rate is 115200
+cmd_dcmotor_setup(1,3,1,10,11) // Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10
+cmd_dcmotor_run(1,1,100) // Motor 1 runs at PWM 100
+sleep(3000) // for 3 seconds
+cmd_dcmotor_run(1,1,-100) // Motor 1 runs at PWM -100 in reverse
+direction
+sleep(2000) // for 2 seconds
+cmd_dcmotor_release(1,1) // Motor 1 is released
+close_serial(1)
diff --git a/scilab-arduino/user-code/dcmotor/scilab/dcmotor-both.zcos b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-both.zcos
new file mode 100644
index 0000000..9af1541
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-both.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/scilab/dcmotor-clock.sce b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-clock.sce
new file mode 100644
index 0000000..310c72f
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-clock.sce
@@ -0,0 +1,6 @@
+ok = open_serial(1,4,115200) //COM port is 4 and baud rate is 115200
+cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293D), motor 1, pin 9 and 10
+cmd_dcmotor_run(1,1,100) // Motor 1 runs at PWM 100
+sleep(3000) // This is allowed to continue for 3 seconds
+cmd_dcmotor_release(1,1) // Motor 1 is released
+close_serial(1)
diff --git a/scilab-arduino/user-code/dcmotor/scilab/dcmotor-clock.zcos b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-clock.zcos
new file mode 100644
index 0000000..79f185b
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-clock.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/scilab/dcmotor-loop.sce b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-loop.sce
new file mode 100644
index 0000000..fdb5b67
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-loop.sce
@@ -0,0 +1,13 @@
+ok = open_serial(1,4,115200)//COM port is 4 and baud rate is 115200
+if ok~=0, error('Serial port is not accesible'); end
+cmd_dcmotor_setup(1,3,1,9,10) // Setup DC motor of type 3 (L293D), motor 1, pins 9 and 10
+for x=1:4
+ cmd_dcmotor_run(1,1,100) // Motor 1 runs at PWM 100
+ sleep(3000) // for 3 seconds
+ cmd_dcmotor_run(1,1,0) // Halt the motor
+ sleep(2000) // for 2 seconds
+ cmd_dcmotor_run(1,1,-100) // Run it at PWM 100 in reverse direction
+ sleep(2000) // for 2 seconds
+end
+cmd_dcmotor_release(1,1) // Motor 1 is released
+close_serial(1)
diff --git a/scilab-arduino/user-code/dcmotor/scilab/dcmotor-loop.zcos b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-loop.zcos
new file mode 100644
index 0000000..1f3ff68
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/dcmotor-loop.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/dcmotor/scilab/scilab.tex b/scilab-arduino/user-code/dcmotor/scilab/scilab.tex
new file mode 100644
index 0000000..9e2e0fd
--- /dev/null
+++ b/scilab-arduino/user-code/dcmotor/scilab/scilab.tex
@@ -0,0 +1,13 @@
+\subsection{Method of execution \redcolor{this should be explained in
+ detail for the first experiment}}
+The steps to execute the \scilab\ code are the following:
+\begin{enumerate}
+\item Execute {\tt builder.sce} using the command {\tt exec
+ builder.sce}
+\item Execute {\tt loader.sce} using the command {\tt exec loader.sce}
+\item Connect \arduino\ board through a USB cable
+\item Set the path for working directory
+\item Open the Arduino environment
+\item Load the firmware on to Arduino
+\item Execute the {.sce} file
+\end{enumerate}
diff --git a/scilab-arduino/user-code/hw-env/auto/hw-env.el b/scilab-arduino/user-code/hw-env/auto/hw-env.el
new file mode 100644
index 0000000..9753712
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/auto/hw-env.el
@@ -0,0 +1,29 @@
+(TeX-add-style-hook "hw-env"
+ (lambda ()
+ (LaTeX-add-labels
+ "sec:hw-env"
+ "micro-arch"
+ "resolution"
+ "sec:oshw"
+ "fig:OSHW-logo"
+ "arduino"
+ "micro-table"
+ "mega"
+ "lily"
+ "arduino-phone"
+ "3dprinter"
+ "fig:PCB-image"
+ "fig:sch-shield"
+ "fig:shield-photo"
+ "tab:shield-values"
+ "shield-table"
+ "shield")
+ (TeX-add-symbols
+ '("LocSHbrief" 1)
+ "LocHWfig"
+ "LocHWscicode"
+ "LocHWscibrief"
+ "LocHWardcode"
+ "LocHWardbrief"
+ "LocSH")))
+
diff --git a/scilab-arduino/user-code/hw-env/figures/ArduinoUno-elaborated.odt b/scilab-arduino/user-code/hw-env/figures/ArduinoUno-elaborated.odt
new file mode 100644
index 0000000..f04e0df
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/ArduinoUno-elaborated.odt
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/OSHW-138px.png b/scilab-arduino/user-code/hw-env/figures/OSHW-138px.png
new file mode 100644
index 0000000..74a4a34
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/OSHW-138px.png
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/aduino-lilypad.jpg b/scilab-arduino/user-code/hw-env/figures/aduino-lilypad.jpg
new file mode 100644
index 0000000..9d39b40
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/aduino-lilypad.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/arduino-3d-printer.jpg b/scilab-arduino/user-code/hw-env/figures/arduino-3d-printer.jpg
new file mode 100644
index 0000000..a2bacbd
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/arduino-3d-printer.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/arduino-ide.jpg b/scilab-arduino/user-code/hw-env/figures/arduino-ide.jpg
new file mode 100644
index 0000000..17fbde3
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/arduino-ide.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/arduino-mega.jpg b/scilab-arduino/user-code/hw-env/figures/arduino-mega.jpg
new file mode 100644
index 0000000..cd30e28
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/arduino-mega.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/arduino-phone.jpg b/scilab-arduino/user-code/hw-env/figures/arduino-phone.jpg
new file mode 100644
index 0000000..b78ae62
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/arduino-phone.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/arduino-uno.jpg b/scilab-arduino/user-code/hw-env/figures/arduino-uno.jpg
new file mode 100644
index 0000000..18b5a63
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/arduino-uno.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/arduino.png b/scilab-arduino/user-code/hw-env/figures/arduino.png
new file mode 100644
index 0000000..84b6b8b
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/arduino.png
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/auto/hardware.el b/scilab-arduino/user-code/hw-env/figures/auto/hardware.el
new file mode 100644
index 0000000..44667ad
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/auto/hardware.el
@@ -0,0 +1,16 @@
+(TeX-add-style-hook "hardware"
+ (lambda ()
+ (LaTeX-add-labels
+ "micro-arch"
+ "resolution"
+ "micro-table"
+ "shield-table"
+ "shield"
+ "arduino-ide"
+ "arduino"
+ "device-manager"
+ "update"
+ "executable"
+ "run"
+ "ide")))
+
diff --git a/scilab-arduino/user-code/hw-env/figures/executable.png b/scilab-arduino/user-code/hw-env/figures/executable.png
new file mode 100644
index 0000000..2709370
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/executable.png
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/hw-device-manager.jpg b/scilab-arduino/user-code/hw-env/figures/hw-device-manager.jpg
new file mode 100644
index 0000000..d1ac27b
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/hw-device-manager.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/lily.jpg b/scilab-arduino/user-code/hw-env/figures/lily.jpg
new file mode 100644
index 0000000..9d39b40
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/lily.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/mega.jpg b/scilab-arduino/user-code/hw-env/figures/mega.jpg
new file mode 100644
index 0000000..cd30e28
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/mega.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/miccontblk.png b/scilab-arduino/user-code/hw-env/figures/miccontblk.png
new file mode 100644
index 0000000..9d8c142
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/miccontblk.png
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/neo-1973-openmoko-smartphone.jpg b/scilab-arduino/user-code/hw-env/figures/neo-1973-openmoko-smartphone.jpg
new file mode 100644
index 0000000..b1398c4
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/neo-1973-openmoko-smartphone.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/open-source-hardware-logo.png b/scilab-arduino/user-code/hw-env/figures/open-source-hardware-logo.png
new file mode 100644
index 0000000..64fed4a
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/open-source-hardware-logo.png
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/resolution.png b/scilab-arduino/user-code/hw-env/figures/resolution.png
new file mode 100644
index 0000000..2a47921
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/resolution.png
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/run.png b/scilab-arduino/user-code/hw-env/figures/run.png
new file mode 100644
index 0000000..d095c29
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/run.png
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/shield-crop.jpg b/scilab-arduino/user-code/hw-env/figures/shield-crop.jpg
new file mode 100644
index 0000000..91b8eb9
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/shield-crop.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/shield-crop.tiff b/scilab-arduino/user-code/hw-env/figures/shield-crop.tiff
new file mode 100644
index 0000000..2d6a5a5
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/shield-crop.tiff
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/shield.png b/scilab-arduino/user-code/hw-env/figures/shield.png
new file mode 100644
index 0000000..b1e976f
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/shield.png
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/figures/update-driver.png b/scilab-arduino/user-code/hw-env/figures/update-driver.png
new file mode 100644
index 0000000..1e7b356
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/figures/update-driver.png
Binary files differ
diff --git a/scilab-arduino/user-code/hw-env/hw-env.log b/scilab-arduino/user-code/hw-env/hw-env.log
new file mode 100644
index 0000000..d031643
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/hw-env.log
@@ -0,0 +1,15093 @@
+This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010) (format=pdflatex 2011.1.23) 13 NOV 2015 10:28
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**\input hw-env.tex
+(./hw-env.tex
+! Undefined control sequence.
+l.1 \chapter
+ {Hardware Environment}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.1 \chapter{H
+ ardware Environment}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no H in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 1--12
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.13 I
+ n this book, we shall use an \arduino\ board and associated circuitry
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.13 In this book, we shall use an \arduino
+ \ board and associated circuitry
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.20 the kit. \bluecolor
+ {fix the kit}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 13--21
+[]
+ []
+
+! Undefined control sequence.
+l.23 \section
+ {Microcontroller}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.23 \section{M
+ icrocontroller}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no M in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no : in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 23--29
+[]
+ []
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+! Undefined control sequence.
+l.41 \subsection
+ {Organization of a Microcontroller}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.45 ...m of a microcontroller is shown in \figref
+ {micro-arch}. We shall
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 41--47
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.48 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.50 \includegraphics
+ [width=\lgfig]{\LocHWfig/miccontblk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.50 \includegraphics[width=\lgfig
+ ]{\LocHWfig/miccontblk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocHWfig ->\Origin
+ /user-code/hw-env/figures
+l.50 \includegraphics[width=\lgfig]{\LocHWfig
+ /miccontblk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.51 \caption
+ {Functional block diagram of a microcontroller}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no F in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.53 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: Environment description undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.55 \begin{description}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.56 \item {
+ Processor:} It is also known as a Central Processing Unit
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.65 \item {
+ Memory:}
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no M in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ; in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{description}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.81 \end{description}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.83 \subsection
+ {Microcontroller Peripherals}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no M in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 83--86
+[]
+ []
+
+
+! LaTeX Error: Environment description undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.87 \begin{description}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.88 \item {
+ Clock:} A complex digital circuit, such as the one that is
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.95 \item {
+ Timer/Counter:} A timer is a pulse counter. A timer circuit is
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.100 \item{
+ Input/Output Ports:} I/O ports correspond to physical pins on
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.105 \item{
+ Interrupts:} An interrupt to the CPU suspends running program
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.111 \item {
+ Universal Asynchronous Receiver/Transmitter (UART):} UART is a
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.117 \item {
+ Analog to Digital Converter (ADC):} Most of the signals around
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.122 shown pictorially in \figref
+ {resolution}. Higher resolution relates
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.125 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.127 \includegraphics
+ [width=\tnfig]{\LocHWfig/resolution.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.127 \includegraphics[width=\tnfig
+ ]{\LocHWfig/resolution.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocHWfig ->\Origin
+ /user-code/hw-env/figures
+l.127 \includegraphics[width=\tnfig]{\LocHWfig
+ /resolution.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.128 \caption
+ {ADC resolution}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.130 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.132 \item {
+ Digital to Analog Converter (DAC):} Digital output of CPU is
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.136 \item {
+ Serial Peripheral Interface (SPI):} SPI is a synchronous 4 wire
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.146 ...mostly based on SPI interface. \bluecolor
+ {what is
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no ? in font nullfont!
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.149 \item {
+ Firmware:} Firmware is an application that configures the
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Lonely \item--perhaps a missing list environment.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.155 \item{
+ Interfacing:} Some of the popular connections with microcontroll...
+
+Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{description}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.166 \end{description}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.168 \section
+ {Open Source Hardware (OSHW)}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{oshw-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.172 \emph{defined} as follows \cite{oshw-ref}
+ :
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `oshw-ref' on page undefined on input line 172.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no : in font nullfont!
+
+! LaTeX Error: Environment quote undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.173 \begin{quote}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{quote}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.177 \end{quote}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{oshw-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.178 The OSHW website \cite{oshw-ref}
+ gives additional conditions to be
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `oshw-ref' on page undefined on input line 178.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.181 in \figref
+ {fig:OSHW-logo} \cite{OSHW-logo-ref}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{OSHW-logo-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.181 ...igref{fig:OSHW-logo} \cite{OSHW-logo-ref}
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `OSHW-logo-ref' on page undefined on input line 181.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.182 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.184 \includegraphics
+ [width=1in]{\LocHWfig/OSHW-138px.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocHWfig ->\Origin
+ /user-code/hw-env/figures
+l.184 \includegraphics[width=1in]{\LocHWfig
+ /OSHW-138px.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.185 \caption
+ {The logo of Open Source Hardware}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.187 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 168--191
+[]
+ []
+
+
+Overfull \hbox (13.28879pt too wide) in paragraph at lines 168--191
+\OT1/cmr/m/it/10 de-
+ []
+
+
+Overfull \hbox (20.4443pt too wide) in paragraph at lines 168--191
+\OT1/cmr/m/it/10 fined
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 168--191
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 168--191
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 168--191
+[]
+ []
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (19.9332pt too wide) in paragraph at lines 192--194
+\OT1/cmr/m/it/10 open
+ []
+
+
+Overfull \hbox (20.9554pt too wide) in paragraph at lines 192--194
+\OT1/cmr/m/it/10 com-
+ []
+
+
+Overfull \hbox (18.39987pt too wide) in paragraph at lines 192--194
+\OT1/cmr/m/it/10 pute
+ []
+
+
+Overfull \hbox (29.00531pt too wide) in paragraph at lines 192--194
+\OT1/cmr/m/it/10 project
+ []
+
+Missing character: There is no B in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (22.48874pt too wide) in paragraph at lines 196--198
+\OT1/cmr/m/it/10 Open
+ []
+
+
+Overfull \hbox (30.35257pt too wide) in paragraph at lines 196--198
+\OT1/cmr/m/it/10 Graph-
+ []
+
+
+Overfull \hbox (11.75548pt too wide) in paragraph at lines 196--198
+\OT1/cmr/m/it/10 ics
+ []
+
+
+Overfull \hbox (30.67752pt too wide) in paragraph at lines 196--198
+\OT1/cmr/m/it/10 Project
+ []
+
+
+Overfull \hbox (30.36372pt too wide) in paragraph at lines 196--198
+\OT1/cmr/m/it/10 (OGP)
+ []
+
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (50.8774pt too wide) in paragraph at lines 198--200
+\OT1/cmr/m/it/10 ArduCopter
+ []
+
+
+Overfull \hbox (18.83876pt too wide) in paragraph at lines 198--200
+\OT1/cmr/m/it/10 DIY
+ []
+
+
+Overfull \hbox (31.49837pt too wide) in paragraph at lines 198--200
+\OT1/cmr/m/it/10 Drones
+ []
+
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (43.83582pt too wide) in paragraph at lines 200--201
+\OT1/cmr/m/it/10 NetFPGA
+ []
+
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (44.37192pt too wide) in paragraph at lines 201--203
+\OT1/cmr/m/it/10 OpenROV
+ []
+
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 7 in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (46.27748pt too wide) in paragraph at lines 203--206
+\OT1/cmr/m/it/10 OpenMoko
+ []
+
+
+Overfull \hbox (16.63321pt too wide) in paragraph at lines 203--206
+\OT1/cmr/m/it/10 Neo
+ []
+
+
+Overfull \hbox (20.44434pt too wide) in paragraph at lines 203--206
+\OT1/cmr/m/it/10 1973
+ []
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 208--214
+[]
+ []
+
+! Undefined control sequence.
+l.215 \section
+ {Arduino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 215--221
+[]
+ []
+
+
+Overfull \hbox (7.1555pt too wide) in paragraph at lines 215--221
+\OT1/cmr/m/it/10 C
+ []
+
+! Undefined control sequence.
+l.222 \subsection
+ {Brief History}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no Z in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 222--229
+[]
+ []
+
+
+Overfull \hbox (13.05547pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 In-
+ []
+
+
+Overfull \hbox (15.71652pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 ter-
+ []
+
+
+Overfull \hbox (13.28879pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 ac-
+ []
+
+
+Overfull \hbox (17.12212pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 tion
+ []
+
+
+Overfull \hbox (15.72765pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 De-
+ []
+
+
+Overfull \hbox (17.37767pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 sign
+ []
+
+
+Overfull \hbox (13.05547pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 In-
+ []
+
+
+Overfull \hbox (14.05545pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 sti-
+ []
+
+
+Overfull \hbox (16.61098pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 tute
+ []
+
+
+Overfull \hbox (21.36092pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 Ivrea
+ []
+
+
+Overfull \hbox (28.62206pt too wide) in paragraph at lines 222--229
+\OT1/cmr/m/it/10 shields
+ []
+
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 230--234
+[]
+ []
+
+
+Overfull \hbox (16.86655pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 The
+ []
+
+
+Overfull \hbox (16.37766pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 An-
+ []
+
+
+Overfull \hbox (22.10541pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 droid
+ []
+
+
+Overfull \hbox (22.48874pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 Open
+ []
+
+
+Overfull \hbox (15.09987pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 Ac-
+ []
+
+
+Overfull \hbox (16.35541pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 ces-
+ []
+
+
+Overfull \hbox (18.2721pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 sory
+ []
+
+
+Overfull \hbox (15.72765pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 De-
+ []
+
+
+Overfull \hbox (15.3332pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 vel-
+ []
+
+
+Overfull \hbox (13.79991pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 op-
+ []
+
+
+Overfull \hbox (21.72208pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 ment
+ []
+
+
+Overfull \hbox (14.07768pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 Kit
+ []
+
+
+Overfull \hbox (30.84981pt too wide) in paragraph at lines 230--234
+\OT1/cmr/m/it/10 (ADK)
+ []
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 235--238
+[]
+ []
+
+! Undefined control sequence.
+l.239 \subsection
+ {Arduino Uno Board}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.242 ...ion, we will briefly discuss the \arduino
+ \ board, the most popular
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.244 \arduino
+ \ board in this book.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 239--245
+[]
+ []
+
+Missing character: There is no B in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.246 Based on ATmega328, the \arduino
+ \ board has 14 digital input/output
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.250 to PC using USB cable. \figref
+ {arduino} has a picture of this board
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{uno-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.251 \cite{uno-ref}
+ . \tabref{micro-table} has the specifications of the
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `uno-ref' on page undefined on input line 251.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.251 \cite{uno-ref}. \tabref
+ {micro-table} has the specifications of the
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.252 \arduino
+ \ board.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 246--253
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 246--253
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.254 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.256 \includegraphics
+ [width=\hgfig]{\LocHWfig/arduino.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.256 \includegraphics[width=\hgfig
+ ]{\LocHWfig/arduino.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocHWfig ->\Origin
+ /user-code/hw-env/figures
+l.256 \includegraphics[width=\hgfig]{\LocHWfig
+ /arduino.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.257 \caption
+ {Arduino Uno Board}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.259 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: Environment table undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.261 \begin{table}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 262--262
+[]
+ []
+
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <7> on input line 263.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line 263.
+! Undefined control sequence.
+l.265 {\bf
+ Parameter} & {\bf Value} \\ \hline
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+! Undefined control sequence.
+l.265 {\bf Parameter} & {\bf
+ Value} \\ \hline
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no V in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no 7 in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.283 \caption
+ {Arduino Uno hardware specifications}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{table}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.286 \end{table}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.293 digital and PWM pins. \figref
+ {mega} has a picture of this board
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{mega-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.294 \cite{mega-ref}
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `mega-ref' on page undefined on input line 294.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.295 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.297 \includegraphics
+ [width=\lgfig]{\LocHWfig/mega.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.297 \includegraphics[width=\lgfig
+ ]{\LocHWfig/mega.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocHWfig ->\Origin
+ /user-code/hw-env/figures
+l.297 \includegraphics[width=\lgfig]{\LocHWfig
+ /mega.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.298 \caption
+ {Arduino Mega Board}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.300 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 290--301
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 290--301
+[]
+ []
+
+Missing character: There is no Y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.304 ... supports sensors and actuators. \figref
+ {lily} has a picture of
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{lily-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.305 this board \cite{lily-ref}
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `lily-ref' on page undefined on input line 305.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.306 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.308 \includegraphics
+ [width=\smfig]{\LocHWfig/lily.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.308 \includegraphics[width=\smfig
+ ]{\LocHWfig/lily.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocHWfig ->\Origin
+ /user-code/hw-env/figures
+l.308 \includegraphics[width=\smfig]{\LocHWfig
+ /lily.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.309 \caption
+ {LilyPad Arduino Board}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.311 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 302--312
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 302--312
+[]
+ []
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 313--316
+[]
+ []
+
+! Undefined control sequence.
+l.317 \subsection
+ {Popular Arduino Projects}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 317--322
+[]
+ []
+
+! Undefined control sequence.
+l.323 \paragraph
+ {Arduino phone:} An Arduino connected with graphic LCD and a
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.324 ...ld. This low tech phone, shown in \figref
+ {arduino-phone} can be bui...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{phone-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.324 ... be built in a few hours \cite{phone-ref}
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `phone-ref' on page undefined on input line 324.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.325 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.327 \includegraphics
+ [width=\smfig]{\LocHWfig/arduino-phone.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.327 \includegraphics[width=\smfig
+ ]{\LocHWfig/arduino-phone.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocHWfig ->\Origin
+ /user-code/hw-env/figures
+l.327 \includegraphics[width=\smfig]{\LocHWfig
+ /arduino-phone.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.328 \caption
+ {Arduino Phone}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.330 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 323--331
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 323--331
+[]
+ []
+
+! Undefined control sequence.
+l.332 \paragraph
+ {Candy sorting machine:} As the name suggest this machine
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{candy-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.333 ...s color to separate jars \cite{candy-ref}
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `candy-ref' on page undefined on input line 333.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 332--334
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 332--334
+[]
+ []
+
+! Undefined control sequence.
+l.335 \paragraph
+ {3D printers:} There are open source 3D printers based on
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{3d-printer-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.338 hobbyists \cite{3d-printer-ref}
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `3d-printer-ref' on page undefined on input line 338.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.339 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.341 \includegraphics
+ [width=\smfig]{\LocHWfig/arduino-3d-printer.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.341 \includegraphics[width=\smfig
+ ]{\LocHWfig/arduino-3d-printer.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocHWfig ->\Origin
+ /user-code/hw-env/figures
+l.341 \includegraphics[width=\smfig]{\LocHWfig
+ /arduino-3d-printer.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.342 \caption
+ {3D printer}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.344 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 335--345
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 335--345
+[]
+ []
+
+! Undefined control sequence.
+l.346 \section
+ {Shield}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{shield-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.348 board \cite{shield-ref}
+ , which makes it easy to perform experiments on
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `shield-ref' on page undefined on input line 348.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 346--355
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 346--355
+[]
+ []
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.357 the \arduino
+ \ board. The shield fits snugly on to the \arduino\
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.357 ...The shield fits snugly on to the \arduino
+ \
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 356--361
+[]
+ []
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.365 this a OSHW, see \secref
+ {sec:oshw}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 362--366
+[]
+ []
+
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+\LocSHbrief #1->{\tt
+ Origin/tools/shield/#1}
+l.369 \LocSHbrief{gerber-V1.2}
+ . The image of the PCB file is given in
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.370 \figref
+ {fig:PCB-image}, which also helps locate the PCB file.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.371 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.373 \includegraphics
+ [width=\smfig]{\LocSH/pcb_board_V1p2.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.373 \includegraphics[width=\smfig
+ ]{\LocSH/pcb_board_V1p2.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSH ->\Origin
+ /tools/shield
+l.373 \includegraphics[width=\smfig]{\LocSH
+ /pcb_board_V1p2.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no b in font nullfont!
+! Missing $ inserted.
+<inserted text>
+ $
+l.373 \includegraphics[width=\smfig]{\LocSH/pcb_
+ board_V1p2.png}
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+! Extra }, or forgotten $.
+l.373 ...[width=\smfig]{\LocSH/pcb_board_V1p2.png}
+
+I've deleted a group-closing symbol because it seems to be
+spurious, as in `$x}$'. But perhaps the } is legitimate and
+you forgot something else, as in `\hbox{$x}'. In such cases
+the way to recover is to insert both the forgotten and the
+deleted material, e.g., by typing `I$}'.
+
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.374 \caption
+ [PCB image of the shield]{PCB image of the shield. The PCB
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+! Undefined control sequence.
+\LocSHbrief #1->{\tt
+ Origin/tools/shield/#1}
+l.375 ... be found at \LocSHbrief{shield-V1p2.brd}
+ .}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.377 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Missing $ inserted.
+<inserted text>
+ $
+l.377 \end{figure}
+
+I've inserted something that you may have forgotten.
+(See the <inserted text> above.)
+With luck, this will get me unwedged. But if you
+really didn't forget anything, try typing `2' now; then
+my insertion and my current dilemma will both disappear.
+
+! Missing } inserted.
+<inserted text>
+ }
+l.377 \end{figure}
+
+I've inserted something that you may have forgotten.
+(See the <inserted text> above.)
+With luck, this will get me unwedged. But if you
+really didn't forget anything, try typing `2' now; then
+my insertion and my current dilemma will both disappear.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.379 in \figref
+ {fig:sch-shield}, which also helps locate the schematic of
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.381 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.383 \includegraphics
+ [width=\hgfig]{\LocSH/shield-V1p2.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.383 \includegraphics[width=\hgfig
+ ]{\LocSH/shield-V1p2.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSH ->\Origin
+ /tools/shield
+l.383 \includegraphics[width=\hgfig]{\LocSH
+ /shield-V1p2.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.384 \caption
+ [Pictorial representation of the schematic of the
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ] in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+\LocSHbrief #1->{\tt
+ Origin/tools/shield/#1}
+l.387 \LocSHbrief{shield-V1p2.sch.}
+ }
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.389 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.391 \figref
+ {fig:shield-photo}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.392 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.394 \includegraphics
+ [width=0.6\linewidth]{\LocSH/shield-V1p2.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 6 in font nullfont!
+! Missing number, treated as zero.
+<to be read again>
+ ]
+l.394 \includegraphics[width=0.6\linewidth]
+ {\LocSH/shield-V1p2.jpg}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Illegal unit of measure (pt inserted).
+<to be read again>
+ ]
+l.394 \includegraphics[width=0.6\linewidth]
+ {\LocSH/shield-V1p2.jpg}
+Dimensions can be in units of em, ex, in, pt, pc,
+cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
+I'll assume that you meant to say pt, for printer's points.
+To recover gracefully from this error, it's best to
+delete the erroneous units; e.g., type `2' to delete
+two letters. (See Chapter 27 of The TeXbook.)
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSH ->\Origin
+ /tools/shield
+l.394 \includegraphics[width=0.6\linewidth]{\LocSH
+ /shield-V1p2.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.395 \caption
+ [Pictorial representation of the schematic of the
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ] in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+l.398 {\tt
+ \LocSHbrief/shield-V1p2.sch.}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\LocSHbrief #1->{\tt
+ Origin/tools/shield/#1}
+l.398 {\tt \LocSHbrief/
+ shield-V1p2.sch.}}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.400 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 367--401
+[]
+ []
+
+
+Overfull \hbox (574.85713pt too wide) in paragraph at lines 367--401
+[]\OML/cmm/m/it/10 oard[]\OT1/cmr/m/n/10 1\OML/cmm/m/it/10 p\OT1/cmr/m/n/10 2\O
+ML/cmm/m/it/10 :png\OT1/cmr/m/n/10 [\OML/cmm/m/it/10 PCBimageoftheshield\OT1/cm
+r/m/n/10 ][][]$
+ []
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.403 \tabref
+ {tab:shield-values}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment table undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.404 \begin{table}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.406 \caption
+ {Values of components used in the shield}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no V in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no Q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 7 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 9 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 2 in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{table}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.435 \end{table}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.436 \tabref
+ {shield-table} provides information about various sensors,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{shield-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.438 \cite{shield-ref}
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `shield-ref' on page undefined on input line 438.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment table undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.439 \begin{table}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.441 \caption
+ {Information on sensors and pin numbers}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+! Undefined control sequence.
+l.445 {\bf
+ Shield components} & {\bf Arduino pin}\\ \hline
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+! Undefined control sequence.
+l.445 {\bf Shield components} & {\bf
+ Arduino pin}\\ \hline
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 9 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no Z in font nullfont!
+Missing character: There is no Z in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 3 in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{table}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.458 \end{table}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.459 ...ure of the completed shield is in \figref
+ {shield}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.460 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.462 \includegraphics
+ [width=\hgfig]{\LocHWfig/shield-crop.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.462 \includegraphics[width=\hgfig
+ ]{\LocHWfig/shield-crop.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocHWfig ->\Origin
+ /user-code/hw-env/figures
+l.462 \includegraphics[width=\hgfig]{\LocHWfig
+ /shield-crop.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.463 \caption
+ {Picture of the shield with all components}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.465 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 402--466
+[]
+ []
+
+
+Overfull \hbox (26.43062pt too wide) in paragraph at lines 402--466
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 402--466
+[]
+ []
+
+)
+! Emergency stop.
+<*> \input hw-env.tex
+
+*** (job aborted, no legal \end found)
+
+
+Here is how much of TeX's memory you used:
+ 41 strings out of 493747
+ 473 string characters out of 3143546
+ 73070 words of memory out of 3000000
+ 3431 multiletter control sequences out of 15000+200000
+ 4294 words of font info for 16 fonts, out of 3000000 for 9000
+ 714 hyphenation exceptions out of 8191
+ 20i,7n,26p,217b,141s stack positions out of 5000i,500n,10000p,200000b,50000s
+! ==> Fatal error occurred, no output PDF file produced!
diff --git a/scilab-arduino/user-code/hw-env/hw-env.tex b/scilab-arduino/user-code/hw-env/hw-env.tex
new file mode 100644
index 0000000..073be75
--- /dev/null
+++ b/scilab-arduino/user-code/hw-env/hw-env.tex
@@ -0,0 +1,488 @@
+\chapter{Hardware Environment}
+\thispagestyle{empty}
+\label{sec:hw-env}
+\newcommand{\LocHWfig}{\Origin/user-code/hw-env/figures}
+\newcommand{\LocHWscicode}{\Origin/user-code/hw-env/scilab}
+\newcommand{\LocHWscibrief}{Origin/user-code/hw-env/scilab}
+\newcommand{\LocHWardcode}{\Origin/user-code/hw-env/arduino}
+\newcommand{\LocHWardbrief}{\tt Origin/user-code/hw-env/arduino}
+\newcommand{\LocSH}{\Origin/tools/shield}
+%\newcommand{\LocSHbrief}{{\tt Origin/tools/shield}}
+\newcommand{\LocSHbrief}[1]{{\tt Origin/tools/shield/#1}, see \fnrefp{fn:file-loc}}
+
+In this book, we shall use an \arduino\ board and associated circuitry
+to perform several experiments on data acquisition and control. This
+chapter will briefly take you through the hardware environment needed
+to perform these experiments. We will start with the introduction to a
+microcontroller followed by a brief on Open Source Hardware. Then, we
+shall go through the history and hardware specifications of the
+Arduino Uno board and the schema and uses of the Shield provided in
+the kit.
+
+
+\section{Microcontroller}
+A microcontoller is a ``smart'' and complex programmable digital circuit
+that contains a processor, memory and input/output peripherals on a
+single integrated circuit. Effectively, it can function as a small
+computer that can perform a variety of applications. A few of these
+day to day applications include:
+\begin{itemize}
+\item Automotive: Braking, driver assist, fault diagnosis, power
+ steering
+\item Household appliances: CD/DVD players, washing machines,
+ microwave ovens, energy meters
+\item Telecommunication: Mobile phones, switches, routers, ethernet
+ controllers
+\item Medical: Implantable devices, MRI, ultrasound, dental imaging
+\item General: Automation, safety systems, electronic measurement
+ instruments
+\end{itemize}
+
+\subsection{Organization of a Microcontroller}
+In this section, we will give a brief overview of the organization of
+a typical microcontroller. A microcontroller consists of three major
+components, namely, Processor, Memory and Peripherals. The basic block
+diagram of a microcontroller is shown in \figref{micro-arch}. We shall
+briefly review the functionality of each block.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocHWfig/miccontblk.png}
+\caption{Functional block diagram of a microcontroller}
+\label{micro-arch}
+\end{figure}
+
+\begin{description}
+\item {Processor:} It is also known as a Central Processing Unit
+ (CPU). A processor is the heart of any computer/embedded
+ system. The applications running on these systems involve arithmetic
+ and logic operations. These operations are further simplified into
+ instructions and fed to the processor. The Instruction decoder
+ decodes these instructions while arithmetic and logic operations are
+ taken care of by an Arithmetic and Logic Unit (ALU). A modern day
+ CPU can execute millions of instructions per second (MIPS).
+
+\item {Memory:}
+A computer memory, usually a semiconductor device, is used to hold data and instructions. Depending on the make, it could be volatile or non volatile in nature. There are different types of memory:
+\begin{enumerate}
+\item Read Only Memory (ROM): It is a non-volatile storage entity. It
+ is used in computers, phones, modems, watches and other electronic
+ devices. A program is typically uploaded (flashed) to ROM through PC.
+ Its content cannot be modified; it can only be erased and flashed
+ using compatible tools.
+\item Random-access Memory: RAM is a volatile storage entity. It is
+ used by CPU to store intermediate data during execution of a
+ program. RAM is usually faster than ROM.
+\item Electronically Erasable Programmable Read-Only Memory: EEPROM is
+ an optional non-volatile storage entity. It can be erased and
+ written by the running program. For example, it can be used to
+ store values of a temperature sensor connected to the microcontroller.
+\end{enumerate}
+\end{description}
+
+\subsection{Microcontroller Peripherals}
+Microcontrollers have a few built in peripherals. In this section, we
+will review them briefly.
+
+\begin{description}
+\item {Clock:} A complex digital circuit, such as the one that is
+ present in a microcontroller, requires a clock pulse to
+ synchronize different parts of it. The clock
+ is generated through internal or external crystal oscillator. A
+ typical microcontroller can execute one instruction per clock
+ cycle (time between two consecutive clock pulses).
+
+\item {Timer/Counter:} A timer is a pulse counter. A timer circuit is
+ controlled by registers. An 8 bit timer can count from 0 to 255. A
+ timer is primarily used to generate delay, and could be configured
+ to count events.
+
+\item{Input/Output Ports:} I/O ports correspond to physical pins on
+ microcontroller. They are used to interface external peripherals. A
+ port can be configured as input or output by setting bits in I/O
+ registers. Each pin can be individually addressed too.
+
+\item{Interrupts:} An interrupt to the CPU suspends running program
+ and executes a code block corresponding to it. After serving/attending
+ interrupts, the CPU resumes the previous program and continues. An
+ interrupt could be originated by the software or the hardware. A
+ hardware interrupt normally has a higher priority.
+
+\item {Universal Asynchronous Receiver/Transmitter (UART):} UART is a
+ standard microcontroller peripheral to communicate with external
+ serial enabled devices. It has two dedicated pins to be used as
+ Rx (Receiver) and Tx (Transmitter). The baud rate defines the speed
+ of the UART and can be configured using registers.
+
+\item {Analog to Digital Converter (ADC):} Most of the signals around
+ us are continuous. Digital circuits cannot process them. An ADC
+ converts them into digital signals. The resolution of the ADC
+ determines the efficiency of conversion. For example, a 10 bit
+ resolution of the ADC relates to 1024 values per sample. This is
+ shown pictorially in \figref{resolution}. Higher resolution relates
+ to better translation of an analog signal.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\tnfig]{\LocHWfig/resolution.png}
+ \caption{ADC resolution}
+ \label{resolution}
+\end{figure}
+
+\item {Digital to Analog Converter (DAC):} Digital output of CPU is
+ converted to analog signals using pulse width modulation (PWM)
+ technique. The output of a DAC is used to drive analog devices and actuators.
+
+\item {Serial Peripheral Interface (SPI):} SPI is a synchronous 4 wire
+ serial communication device. It requires a master and slave
+ configuration. The SPI peripheral has dedicated pins and marked
+ as:
+ \begin{enumerate}
+ \item SCLK (from Master)
+ \item MOSI (Master out, Slave input)
+ \item MISO (Master Input, Slave output)
+ \item Slave select (Active when 0V, originates from Master)
+ \end{enumerate}
+
+\item {Firmware:} Firmware is an application that configures the
+ hardware. It is programmed to a non volatile memory such as ROM,
+ EPROM (Erasable Programmable ROM). This concept is used in computer
+ BIOS and embedded devices. In a microcontroller setup, a firmware
+ file contains addresses and hexadecimal values.
+
+\item{Interfacing:} Some of the popular connections with microcontrollers include,
+ \begin{enumerate}
+ \item Digital input devices: Switch, keypad, encoder, multiplexer,
+ touchscreen
+ \item Digital output devices: LED, LCD, relay, buzzer
+ \item Digital input and output devices: RTC (Real Time Clock),
+ SD Card, external ROM
+ \item Analog input devices: Audio, sensor, potentiometer
+ \item Analog output devices: Brightness control, speaker
+ \item Serial communication (UART): GSM, GPS, Zigbee, Bluetooth
+ \end{enumerate}
+\end{description}
+
+\section{Open Source Hardware (OSHW)}
+\label{sec:oshw}
+In this section, we will introduce the reader to Open Source Hardware
+(OSHW), which is
+\emph{defined} as follows \cite{oshw-ref}:
+\begin{quote}
+Open source hardware is a hardware whose design is made publicly
+available so that anyone can study, modify, distribute, make, and sell
+the design or hardware based on that design...
+\end{quote}
+The OSHW website \cite{oshw-ref} gives additional conditions to be
+fulfilled before a hardware can be called as OSHW. It also argues why
+we should promote and contribute to OSHW. The logo of OSHW is given
+in \figref{fig:OSHW-logo} \cite{OSHW-logo-ref}.
+\begin{figure}
+\centering
+\includegraphics[width=1in]{\LocHWfig/OSHW-138px.png}
+\caption{The logo of Open Source Hardware}
+\label{fig:OSHW-logo}
+\end{figure}
+The open source hardware initiative is popular in electronic,
+computing hardware and automation industry. Here are some examples of
+open source hardware projects:
+\begin{enumerate}
+\item The ``open compute project'' at Facebook shares the design of
+ data center products.
+\item Beagle board, Panda board, OLinuXino are ARM based development
+ boards.
+\item ``Open Graphics Project (OGP)'' releases the designs of
+ graphics card.
+\item ``ArduCopter'' is a UAV (unmanned aerial vehicle) created by
+ \emph{DIY Drones} community.
+\item ``NetFPGA'' is a prototyping of computer network devices.
+\item ``OpenROV'' project (Open Source Remotely Operated Vehicle)
+ aims at affordable underwater exploration.
+\item ``OpenMoko'' project set foundation for open source mobile
+ phones. ``Neo 1973'' was the first smartphone released in 2007
+ with Linux based operating system, it had 128MB RAM and 64MB ROM.
+\end{enumerate}
+
+Companies like Adafruit Industries, Texas Instruments, Solarbotics,
+Sparkfun electronics, MakerBot industries and DIY Drones have proven
+the power of OSHW with their revenues. Nevertheless, collaborative
+innovation using OSHW is yet to establish itself in mainstream. But
+the trend has certainly started and is going strong. There are now
+many robotics startups taking full use of OSHW.
+
+\section {Arduino}
+Arduino is an open source microcontroller board and a software
+development environment. Arduino language is a \emph{C} like
+programming language which is easy to learn and understand. Arduino
+has two components, open source hardware and open source software. We
+will cover the basics of the Arduino hardware in this section.
+
+\subsection{Brief History}
+Arduino project was started at the \emph{Interaction Design Institute
+ Ivrea} in Ivrea, Italy. The aim was to create a low cost
+microcontroller board that anyone with little or no background domain
+knowledge can design and develop. Arduino uses expansion circuit
+boards known as \emph{shields}. Shields can provide GPS, GSM,
+Bluetooth, Zigbee, motor and other functionality.
+
+Within the first two years of its inception, the Arduino Team sold
+more than 50,000 boards. In 2011, Google announced \emph{The Android
+Open Accessory Development Kit (ADK)}, which enables Arduino boards to
+interface with Android mobile platform.
+
+Today Arduino is the first choice for electronic designers and
+hobbyists. There are more than 13 official variants of Arduino and
+many more third party Arduino software compatible boards.
+
+\subsection{Arduino Uno Board}
+There are different Arduino boards for different requirements. All
+original Arduino boards are based on ATMEL microcontrollers. In this
+section, we will briefly discuss the \arduino\ board, the most popular
+Arduino board. We will illustrate all applications using the
+\arduino\ board in this book.
+
+Based on ATmega328, the \arduino\ board has 14 digital input/output
+pins, 6 analog inputs, 6 PWM pins, a 16 MHz ceramic resonator, a power
+jack, an ICSP (In-Circuit Serial Programming) header, and a reset
+button. It has on board USB to serial converter, and can be connected
+to PC using USB cable. \figref{arduino} has a picture of this board
+\cite{uno-ref}. \tabref{micro-table} has the specifications of the
+\arduino\ board.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\hgfig]{\LocHWfig/arduino.png}
+ \caption{Arduino Uno Board}
+ \label{arduino}
+\end{figure}
+
+\begin{table}
+\begin{center}
+\begin{tabular}{ || l | c || r }
+ \hline
+{\bf Parameter} & {\bf Value} \\ \hline
+ Microcontroller & ATmega328P\\
+Operating Voltage & 5V\\
+Input Voltage (recommended) & 7-12V\\
+Input Voltage (limits) & 6-20V\\
+Digital I/O Pins & 14 (of which 6 provide PWM output)\\
+Analog Input Pins & 6\\
+DC Current per I/O Pin & 20 mA\\
+DC Current for 3.3V Pin & 50 mA\\
+Flash Memory & 32 KB (ATmega328), 0.5 KB used by bootloader\\
+SRAM & 2 KB (ATmega328)\\
+EEPROM & 1 KB (ATmega328)\\
+Clock Speed & 16 MHz\\
+Length & 68.6 mm\\
+Width & 53.4 mm\\
+Weight & 25 g\\
+ \hline
+\end{tabular}
+\caption{Arduino Uno hardware specifications}
+\label{micro-table}
+\end{center}
+\end{table}
+
+
+
+Another popular board is Arduino Mega board. Based on
+ATmega2560, this board has almost double the size of program
+memory (ROM) compared to Arduino Uno. It also has extra serial ports,
+digital and PWM pins. \figref{mega} has a picture of this board
+\cite{mega-ref}.
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocHWfig/mega.jpg}
+ \caption{Arduino Mega Board}
+ \label{mega}
+\end{figure}
+
+Yet another popular board is LilyPad Arduino, a small circular
+board for fabric designers. It can be stitched with conductive thread,
+and it supports sensors and actuators. \figref{lily} has a picture of
+this board \cite{lily-ref}.
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocHWfig/lily.jpg}
+ \caption{LilyPad Arduino Board}
+ \label{lily}
+\end{figure}
+
+There are other similar configuration boards with different form
+factors, such as Arduino Fio, Arduino Mini, Arduino Nano, Arduino
+Duemilanove, Arduino serial and so on.
+
+\subsection{Popular Arduino Projects}
+Arduino is intuitive and it's easy to setup and use. That's why people around the globe
+are using Arduino in innovative ways. We list a few of these projects to give a
+flavour of some of these interesting applications.
+
+\paragraph{Arduino phone:} An Arduino connected with graphic LCD and a
+GSM shield. This low tech phone, shown in \figref{arduino-phone} can
+be built in a few hours \cite{phone-ref}.
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocHWfig/arduino-phone.jpg}
+ \caption{Arduino Phone}
+ \label{arduino-phone}
+\end{figure}
+
+\paragraph{Candy sorting machine:} As the name suggests, this machine
+can sort candy based on its color to separate jars \cite{candy-ref}.
+
+\paragraph{3D printers:} There are open source 3D printers based on
+Arduino and Raspberry Pi. Although 3D printers, shown in \figref{3dprinter},
+ are relatively slow and lack precision, but they can be ideal for building prototypes by
+hobbyists \cite{3d-printer-ref}.
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocHWfig/arduino-3d-printer.jpg}
+ \caption{3D printer}
+ \label{3dprinter}
+\end{figure}
+
+\section{Shield}
+The shield that we use in this book is a modified version of the Diyode Codeshield
+board \cite{shield-ref}, which makes it easy to perform
+experiments on the Arduino Uno board. The shield is a printed circuit
+board (PCB) with a large number of sensors, already wired and hence,
+ready to use. It obviates the need for a breadboard as an
+intermediate tool for electronics circuit prototyping, which is quite
+cumbersome for beginners. The shield provides the user a faster way
+of circuit prototyping without worrying much about troubleshooting.
+
+The numbering on the shield is identical to that on
+the \arduino\ board. The shield fits snugly on to the \arduino\
+board, obviating the need to do the wiring in many experiments. One
+can even say that shields have made the hardware experiments involving
+Arduino boards as easy as writing software.
+
+All the experiments in this book have been verified with the use of a
+modified version of Diyode Codeshield, as mentioned above. We make
+available all the required information to make a shield, thus making
+this a OSHW, see \secref{sec:oshw}.
+
+We now explain where the required files to make our shield are given.
+The gerber file to make the shield is given in
+\LocSHbrief{gerber-V1.2}. The image of the PCB file is given in
+\figref{fig:PCB-image}, which also helps locate the PCB file.
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocSH/pcb_board_V1p2.png}
+\caption[PCB image of the shield]{PCB image of the shield. The PCB
+ file can be found at \LocSHbrief{shield-V1p2.brd}.}
+\label{fig:PCB-image}
+\end{figure}
+The pictorial representation of the schematic for the shield is given
+in \figref{fig:sch-shield}, which also helps locate the schematic of
+the shield.
+\begin{figure}
+\centering
+\includegraphics[width=\linewidth]{\LocSH/shield-V1p2.png}
+\caption[Pictorial representation of the schematic of the
+shield]{Pictorial representation of the schematic of the shield. The
+actual schematic can be found at
+\LocSHbrief{shield-V1p2.sch.}}
+\label{fig:sch-shield}
+\end{figure}
+A photograph of the PCB after fabrication is given in
+\figref{fig:shield-photo}.
+\begin{figure}
+\centering
+\includegraphics[width=0.6\linewidth]{\LocSH/shield-V1p2.jpg}
+\caption[PCB of the
+shield]{PCB of the shield. The
+actual image can be found at
+\LocSHbrief{shield-V1p2.sch.}}
+\label{fig:shield-photo}
+\end{figure}
+
+The values of the various components used in the shield are given in
+\tabref{tab:shield-values}.
+\begin{table}
+\centering
+\caption{Values of components used in the shield}
+\label{tab:shield-values}
+\begin{tabular}{|l|l|c|} \hline
+Name & Description & Quantity \\ \hline
+R1 & $100\Omega$ Resistor (Br-Bl-Br) & 1 \\
+R2, R3, R4 & $91\Omega$ Resistor (Wt-Br-Bl) & 3 \\
+R5, R6, R7, R8 & $10K\Omega$ Resistor (Br-Bl-Or) & 4 \\
+R9 & $1K\Omega$ Resistor (Br-Bl-Rd) & 1 \\
+D1 & Diode & 1 \\
+Relay & Relay & 1 \\
+X1 & Terminal block & 1 \\
+Piezo & Piezo & 1 \\
+LED 1 & LED - 2 lead & 1 \\
+LED 2 & RGB LED & 1 \\
+T1 & Transistor & 1 \\
+SWITCH & Switch & 1 \\
+BUTTON, RESET & Push button & 2 \\
+PHOTO & Photo resistor & 1 \\
+HALL & Hall effect sensor & 1 \\
+POT & Potentiometer & 1 \\
+ENC & Rotary encoder & 1 \\
+THERM & Thermistor & 1 \\
+SERVO & Servo & 1 \\
+SERVO-PARTS & Servo parts & 1 \\
+NUT, BOLT & Nut, bolt & 2 \\
+HEADER & 6x pin header & 2 \\
+HEADER & 8x pin header & 2 \\
+\hline
+\end{tabular}
+\end{table}
+\tabref{shield-table} provides information about various sensors,
+components on Shield and its corresponding pin number on Arduino Board
+\cite{shield-ref}.
+\begin{table}
+\centering
+\caption{Information on sensors and pin numbers}
+\label{shield-table}
+\begin{tabular}{ || l | c || r }
+ \hline
+{\bf Shield components} & {\bf Arduino pin}\\ \hline
+RGB LED BLUE & Digital Pin 9\\
+RGB LED GREEN & Digital Pin 10\\
+RGB LED RED & Digital Pin 11\\
+PUSH BUTTON & Digital Pin 12\\
+THERMISTOR & Analog Pin 4\\
+RELAY & Digital Pin 2\\
+POTENTIOMETER & Analog Pin 2\\
+PHOTORESISTOR (LDR) & Analog Pin 5\\
+HALL EFFECT SENSOR & Analog Pin 3\\
+BUZZER & Digital Pin 3\\
+ \hline
+\end{tabular}
+\end{table}
+A picture of the completed shield is in \figref{shield}.
+\begin{figure}
+ \centering
+ \includegraphics[width=\linewidth]{\LocHWfig/shield-crop.jpg}
+ \caption{Picture of the shield with all components}
+ \label{shield}
+\end{figure}
+
+\section{Experimental Test Bed}
+We experimented the contents of this book with the
+following list. We will refer to this as a \emph{kit} in the rest of
+this book.
+\begin{enumerate}
+\item \arduino\ board
+\item Shield containing
+\begin{enumerate}
+\item LED
+\item LDR
+\item Push Button
+\item Thermistor
+\end{enumerate}
+\item DC motor and its controller board
+\item Servo motor
+\item Energy meter with Modbus interface
+\end{enumerate}
+
+The \arduino\ board is easily available in the market. The shield is
+designed by us. Details of most of these units are provided in the
+previous sections. Information on all of these is available at the
+file, mentioned in \fnref{fn:file-loc}.
+
+
diff --git a/scilab-arduino/user-code/ldr/OpenModelica/ldr-led.mo b/scilab-arduino/user-code/ldr/OpenModelica/ldr-led.mo
new file mode 100644
index 0000000..1cf6fb8
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/OpenModelica/ldr-led.mo
@@ -0,0 +1,34 @@
+model ldr_led "LED indicating light sensor readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ for i in 1:500 loop
+ analog_in := sComm.cmd_analog_in(1, 5) "read analog pin 5 (ldr)";
+ if analog_in < 300 then
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "Turn ON LED";
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "Turn OFF LED";
+ end if;
+ sComm.delay(200);
+ end for;
+ end if;
+ end when;
+ //strm.print(String(time));
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ //Run for 500 iterations
+ //Setting Threshold value of 300
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.02));
+end ldr_led; \ No newline at end of file
diff --git a/scilab-arduino/user-code/ldr/OpenModelica/ldr-read.mo b/scilab-arduino/user-code/ldr/OpenModelica/ldr-read.mo
new file mode 100644
index 0000000..d58cab3
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/OpenModelica/ldr-read.mo
@@ -0,0 +1,27 @@
+model ldr_read "Reading light intensity using ldr"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ for i in 1:100 loop
+ analog_in := sComm.cmd_analog_in(1, 5) "read analog pin 5 (ldr)";
+ strm.print("LDR Readings at time " + String(time) + " : " + String(analog_in));
+ sComm.delay(500);
+ end for;
+ end if;
+ end when;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ //Run for 10 iterations
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 1));
+end ldr_read; \ No newline at end of file
diff --git a/scilab-arduino/user-code/ldr/arduino-old/ldr-led/ldr-led.ino b/scilab-arduino/user-code/ldr/arduino-old/ldr-led/ldr-led.ino
new file mode 100644
index 0000000..8a4421f
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/arduino-old/ldr-led/ldr-led.ino
@@ -0,0 +1,19 @@
+int val1;
+int i=1;
+void setup() {
+pinMode(11,OUTPUT); // LED Pin
+Serial.begin(9600);
+for(i=1;i<=2000;i++){
+ val1=analogRead(A5); // Value of LDR
+ Serial.println(val1);
+ if(val1<300){ // Threshold
+ digitalWrite(11,HIGH);
+ }
+ else
+ {
+ digitalWrite(11,LOW);
+ }
+}
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/ldr/arduino-old/ldr-read/ldr-read.ino b/scilab-arduino/user-code/ldr/arduino-old/ldr-read/ldr-read.ino
new file mode 100644
index 0000000..34103ff
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/arduino-old/ldr-read/ldr-read.ino
@@ -0,0 +1,12 @@
+int val1; // for LDR
+int i=1;
+void setup() {
+Serial.begin(9600);
+for(i=1;i<=20;i++){
+ val1=analogRead(A5); // value of LDR
+ Serial.println(val1); // for display
+ delay(500);
+ }
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/ldr/arduino/ldr-led/ldr-led.ino b/scilab-arduino/user-code/ldr/arduino/ldr-led/ldr-led.ino
new file mode 100644
index 0000000..2340f5f
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/arduino/ldr-led/ldr-led.ino
@@ -0,0 +1,19 @@
+int val1;
+int i=1;
+void setup() {
+pinMode(11,OUTPUT); // LED Pin
+Serial.begin(115200);
+for(i=1;i<=2000;i++){
+ val1=analogRead(A5); // Value of LDR
+ Serial.println(val1);
+ if(val1<300){ // Threshold
+ digitalWrite(11,HIGH);
+ }
+ else
+ {
+ digitalWrite(11,LOW);
+ }
+}
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/ldr/arduino/ldr-read/ldr-read.ino b/scilab-arduino/user-code/ldr/arduino/ldr-read/ldr-read.ino
new file mode 100644
index 0000000..ce5ee54
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/arduino/ldr-read/ldr-read.ino
@@ -0,0 +1,12 @@
+int val1; // for LDR
+int i=1;
+void setup() {
+Serial.begin(115200);
+for(i=1;i<=20;i++){
+ val1=analogRead(A5); // value of LDR
+ Serial.println(val1); // for display
+ delay(500);
+ }
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/ldr/auto/ldr.el b/scilab-arduino/user-code/ldr/auto/ldr.el
new file mode 100644
index 0000000..81193d4
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/auto/ldr.el
@@ -0,0 +1,23 @@
+(TeX-add-style-hook "ldr"
+ (lambda ()
+ (LaTeX-add-labels
+ "fig:ldr"
+ "fig:ldrsym"
+ "fig:ldrconn"
+ "fig:ldr-read"
+ "tab:ldr-read"
+ "fig:ldr-led"
+ "tab:ldr-led"
+ "sec:ldr-arduino-code"
+ "ard:ldr-read"
+ "ard:ldr-led"
+ "sec:ldr-scilab-code"
+ "sci:ldr-read"
+ "sci:ldr-led")
+ (TeX-add-symbols
+ '("LocLDRardbrief" 1)
+ '("LocLDRscibrief" 1)
+ "LocLDRfig"
+ "LocLDRscicode"
+ "LocLDRardcode")))
+
diff --git a/scilab-arduino/user-code/ldr/figures/LDRblock.png b/scilab-arduino/user-code/ldr/figures/LDRblock.png
new file mode 100644
index 0000000..1f2ffea
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/LDRblock.png
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/ldr-conn.png b/scilab-arduino/user-code/ldr/figures/ldr-conn.png
new file mode 100644
index 0000000..97e7dc4
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/ldr-conn.png
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/ldr-led-out.PNG b/scilab-arduino/user-code/ldr/figures/ldr-led-out.PNG
new file mode 100644
index 0000000..7760530
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/ldr-led-out.PNG
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/ldr-led-xcos.PNG b/scilab-arduino/user-code/ldr/figures/ldr-led-xcos.PNG
new file mode 100644
index 0000000..b15f503
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/ldr-led-xcos.PNG
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/ldr-led.png b/scilab-arduino/user-code/ldr/figures/ldr-led.png
new file mode 100644
index 0000000..45cff6c
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/ldr-led.png
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/ldr-read-xcos.PNG b/scilab-arduino/user-code/ldr/figures/ldr-read-xcos.PNG
new file mode 100644
index 0000000..5bac46b
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/ldr-read-xcos.PNG
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/ldr-sat-out.PNG b/scilab-arduino/user-code/ldr/figures/ldr-sat-out.PNG
new file mode 100644
index 0000000..5281817
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/ldr-sat-out.PNG
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/ldr-therm.png b/scilab-arduino/user-code/ldr/figures/ldr-therm.png
new file mode 100644
index 0000000..45944d3
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/ldr-therm.png
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/ldr-xcos.png b/scilab-arduino/user-code/ldr/figures/ldr-xcos.png
new file mode 100644
index 0000000..87ede3d
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/ldr-xcos.png
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/ldr.jpg b/scilab-arduino/user-code/ldr/figures/ldr.jpg
new file mode 100644
index 0000000..f58608a
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/ldr.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/ldr_sym.png b/scilab-arduino/user-code/ldr/figures/ldr_sym.png
new file mode 100644
index 0000000..dce01b5
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/ldr_sym.png
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/schematic.png b/scilab-arduino/user-code/ldr/figures/schematic.png
new file mode 100644
index 0000000..97e7dc4
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/schematic.png
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/figures/xcos_ldr.png b/scilab-arduino/user-code/ldr/figures/xcos_ldr.png
new file mode 100644
index 0000000..6ea34c0
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/figures/xcos_ldr.png
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/julia/ldr-led.jl b/scilab-arduino/user-code/ldr/julia/ldr-led.jl
new file mode 100644
index 0000000..cdf5dc7
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/julia/ldr-led.jl
@@ -0,0 +1,12 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+for i = 1:500
+ p = analogRead(ser,5)
+ println(p)
+ if p > 300 digiWrite(ser,9,0)
+ else digiWrite(ser,9,1) end
+end
+close(ser)
diff --git a/scilab-arduino/user-code/ldr/julia/ldr-read.jl b/scilab-arduino/user-code/ldr/julia/ldr-read.jl
new file mode 100644
index 0000000..beffb7a
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/julia/ldr-read.jl
@@ -0,0 +1,14 @@
+using SerialPorts
+include("ArduinoTools.jl")
+i = 0
+x = []
+y = []
+ser = connectBoard(115200)
+for i = 1:20
+ p = analogRead(ser,5)
+
+ sleep(0.5)
+ println(p)
+end
+
+close(ser)
diff --git a/scilab-arduino/user-code/ldr/ldr.tex b/scilab-arduino/user-code/ldr/ldr.tex
new file mode 100644
index 0000000..e52f15e
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/ldr.tex
@@ -0,0 +1,535 @@
+\chapter {Interfacing a Light Dependent Resistor}
+\thispagestyle{empty}
+\label{ldr}
+
+\newcommand{\LocLDRfig}{\Origin/user-code/ldr/figures}
+\newcommand{\LocLDRscicode}{\Origin/user-code/ldr/scilab}
+\newcommand{\LocLDRscibrief}[1]{{\tt
+ \seqsplit{Origin/user-code/ldr/scilab/#1}},
+see \fnrefp{fn:file-loc}}
+\newcommand{\LocLDRardcode}{\Origin/user-code/ldr/arduino}
+\newcommand{\LocLDRardbrief}[1]{{\tt
+ \seqsplit{Origin/user-code/ldr/arduino/#1}},
+see \fnrefp{fn:file-loc}}
+
+%%%%%%%%%python
+\newcommand{\LocLDRpycode}{\Origin/user-code/ldr/python}
+\newcommand{\LocLDRpybrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/ldr/python/#1}}, see \fnrefp{fn:file-loc}}
+%%%%%%python
+
+%%%%%%%%%julia starts
+\newcommand{\LocLDRjuliacode}{\Origin/user-code/ldr/julia}
+\newcommand{\LocLDRjuliabrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/ldr/julia/#1}}, see \fnrefp{fn:file-loc}}
+%%%%%%julia ends
+
+%%%%%%OpenModelica Starts
+\newcommand{\LocLDROpenModelicacode}{\Origin/user-code/ldr/OpenModelica} %added for OpenModelica
+\newcommand{\LocLDROpenModelicabrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/led/OpenModelica/#1}}, see \fnrefp{fn:file-loc}} % added for OpenModelica
+
+%%%%%OpenModelcia Ends
+
+
+A Light Dependent Resistor (LDR) or Photoresistor is a light sensitive
+semiconductor device whose resistance varies with the variation in the
+intensity of light falling on it. As the intensity of the incident
+light increases, resistance offered by the LDR decreases. Typically,
+in dark, the resistance offered by an LDR is in the range of a few
+mega ohms. With the increase in light intensity, the resistance
+reduces to as low as a few ohms.
+
+An LDR is widely used in camera shutter control, light intensity
+meters, burglar alarms, street lighting control, automatic emergency
+lights, etc. In this chapter we shall interface an LDR with the
+\arduino\ board.
+
+\section{Preliminaries}
+A typical LDR and its symbolic representation are shown in
+\figref{fig:ldr} and \figref{fig:ldrsym} respectively. The shield
+provided with the kit has an LDR mounted on it. The LDR mounted on
+the shield looks exactly like the picture in \figref{fig:ldr},
+although, the picture looks a lot larger. This LDR is connected
+to the analog pin 5 of the \arduino\ board. The connections for this
+experiment are shown in \figref{fig:ldrconn}. However, the user
+doesn't need to connect any wire or component explicitly.
+
+\begin{figure}
+\centering
+\subfloat[Pictorial representation of an LDR]{
+\includegraphics[width=\smfig]{\LocLDRfig/ldr.jpg}
+\label{fig:ldr}} \hfill
+\subfloat[Symbolic representation of an LDR]{
+\includegraphics[width=\smfig]{\LocLDRfig/ldr_sym.png}
+\label{fig:ldrsym}}
+\caption{Light Dependent Resistor}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocLDRfig/ldr-conn.png}
+\caption{Internal connection diagram for the LDR on the shield}
+\label{fig:ldrconn}
+\end{figure}
+
+The LDR mounted on the shield is an analog sensor. Hence, the analog voltage, corresponding to the changing resistance, across its terminals needs to be digitized before being sent to the computer. This is taken care of by an onboard Analog to Digital Converter (ADC) of ATmega328 microcontroller on the \arduino\
+board. ATmega328 has a 6-channel, 0 through 5, 10 bit ADC. Analog pin 5 of the \arduino\ board, to which the LDR is connected, corresponds to channel 5 of the ADC. As there are 10 bits, 0-5V readings from LDR are mapped to the ADC values from 0 to 1023.
+
+LDR is a commonly available sensor in the market. It costs about Rs. 100. There are multiple manufacturers which provide commercial LDRs. Some examples are VT90N1 and VT935G from EXCELITAS TECH, and N5AC501A085 and NSL19M51 from ADVANCED PHOTONIX.
+
+\section{Arduino Experiments}
+In this section, we shall learn to read the voltage values from an LDR connected to the analog pin 5 of the \arduino\ board. Later, the read values will be used to change the state of an LED.
+\begin{enumerate}
+\item A simple code to read the LDR values is given in
+ \ardref{ard:ldr-read}. As discussed earlier, the 0-5V LDR readings
+ are mapped to 0-1023 through an ADC. The
+%\redcolor{Arduino IDE}\
+ Arduino IDE
+ based command for the analog read functionality is given by,
+ \lstinputlisting[firstline=6,lastline=6]
+ {\LocLDRardcode/ldr-read/ldr-read.ino} where {\tt A5} represents the
+ analog pin 5 to be read and the read LDR values are stored in the
+ variable {\tt val1}. The read values are then displayed using,
+ \lstinputlisting[firstline=7,lastline=7]
+ {\LocLDRardcode/ldr-read/ldr-read.ino} The command, on line 8,
+ \lstinputlisting[firstline=8,lastline=8]
+ {\LocLDRardcode/ldr-read/ldr-read.ino} is given so that the readings
+ do not scroll away very fast. The entire reading and display
+ operation is carried out 20 times.
+
+ To observe the values, one has to open the {\tt Serial Monitor} of
+ the Arduino IDE. The numbers displayed are in the range 0 to 1023
+ and depend on the light falling on the LDR. If one does the
+ experiment in a completely dark room, the reading will be 0. If on
+ the other hand, a bright light, say for instance the torch light
+ from mobile, is shined, the value displayed is close to 1023. One
+ will get intermediate values by keeping one's finger on the LDR.
+
+\item In this experiment, depending the resistance of the LDR, we will
+ turn the red LED on. The program for this is available at
+ \ardref{ard:ldr-led}. The value of LDR is read and stored in {\tt
+ val1}, which is written on to the Serial Monitor. In case it is
+ above some threshold (it is 300 in the code), it puts a high in pin
+ number 11. From \secref{sec:led-pril}, one can see that this pin is
+ for the red LED. If the LDR value is about 300, the red LED will be
+ on, else, it will be turned off. This loop is repeated 2,000 times.
+\end{enumerate}
+
+\begin{exercise}
+Carry out the following exercise:
+\begin{enumerate}
+\item Carry out the experiment in a dark room and check what values
+ get displayed on the {\tt Serial Monitor}.
+\item Carry out the experiment with the torch light from the mobile
+ phone shining on the LDR.
+\end{enumerate}
+\end{exercise}
+
+\section {Scilab Experiments}
+In this section, we will explain a few Scilab experiments to read the
+LDR values corresponding to the incident light. The LDR values can be
+read using the following function of Scilab Arduino toolbox:
+\begin{lstlisting}[style=nonumbers]
+ cmd_analog_in(1,port number on Arduino Uno)
+\end{lstlisting}
+where the input argument 1 is fixed for this kit, and the port number corresponds to the analog pin of \arduino that needs to be read. We will carry out two experiments using Scilab.
+
+\begin{enumerate}
+\item We use \sciref{sci:ldr-read} to read the LDR values. We find the
+ port number from the computer settings and give it as input to the
+ {\tt open\_serial} command to start serial port communication. In
+ our case, the port number is 2. Next, we shall fetch LDR values
+ using the command, {\tt cmd\_analog\_in}, as explained above. This
+ is indicated on line 4 of the code. We run this command in a {\tt
+ for} loop 20 times. In each iteration of the {\tt for} loop, we
+ acquire LDR data fed to analog pin 5, display it in the Scilab
+ command window and suspend Scilab operation for 500
+ milliseconds. The output of this experiment is displayed on the Scilab command
+ window. After reading the values, we close the serial port using the
+ command, {\tt close\_serial}, of Scilab-Arduino toolbox.
+
+\item In this experiment, we will observe the saturation point of LDR,
+ see \sciref{sci:ldr-led}. We know that as incident light intensity
+ increases, voltage at analog input of the \arduino\ board
+ increases. Thus the ADC values being read by the \arduino\ board also
+ increase. But after certain high intensity, ADC values reach its
+ maximum. For 10 bit ADC in Arduino, this high intensity corresponds
+ to 1023. Beyond this value, the LDR is incapable of sensing the
+ change in light intensity and is considered to be saturated. To
+ observe this saturation point, we can do a simple task of exposing
+ LDR to high intensity. We can put a torch/light source sensor to
+ close proximity of LDR.
+\end{enumerate}
+
+\begin{exercise}
+Carry out the exercise below:
+\begin{enumerate}
+\item Carry out the exercise in the previous section
+\item Calculate the difference in LDR readings in indoor room
+ before lighting the lamp and after lighting the lamp. You can also
+ record changes in the room lighting at different times of the day.
+\end{enumerate}
+\end{exercise}
+
+\section{LDR experiments through Xcos}
+Next, we shall perform the above mentioned experiment, to read LDR
+values, through Xcos. We will carry out the same four experiments as in the previous
+sections. For each, will give the location
+of the zcos file and the parameters to set. The reader should go
+through the instructions given in \secref{sec:xcos-start} before
+getting started.
+
+\begin{enumerate}
+\item The Xcos diagram in \figref{fig:ldr-read} performs data
+ acquisition from analog pin 5 and displays the read values on the
+ scope. When the file required for this experiment is invoked, one
+ gets the GUI as in \figref{fig:ldr-read}. In the caption of this
+ figure, one can see where to locate the file.
+
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocLDRfig/ldr-read-xcos.PNG}
+ \caption[Xcos diagram to read LDR values]{Xcos diagram to read LDR
+ values.
+ This is what one sees when
+ \LocLDRscibrief{ldr-read.zcos}, is invoked.}
+ \label{fig:ldr-read}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:ldr-read}. All other parameters are to
+ be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Xcos parameters to read LDR}
+ \label{tab:ldr-read}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ ANALOG\_READ\_SB & Analog Pin & 5 \\
+ & Arduino card number & 1 \\ \hline
+ CSCOPE & Ymin & 0 \\
+ & Ymax & 1023 \\
+ & Refresh period & 100 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation Time & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+
+ During this experiment, we vary the light incident on LDR by using
+ several light sources and obstacles such as torch light, paper,
+ hand, etc. and observe the LDR readings. We observe that with a
+ constant light source, the LDR output saturates after some time.
+%The output for this experiment is shown in \figref{fig:ldrsatout}.
+
+% \begin{figure}
+% \centering
+% \includegraphics[width=\lgfig]{\LocLDRfig/ldr-sat-out.png}
+% \caption[LDR output for varying intensity of incident light, as
+% seen in Xcos] {LDR output for varying intensity of
+% incident light, as seen in Xcos. This is what one sees when
+% {\tt \LocLDRscibrief/ldr-read-xcos.zcos} is invoked.}
+% \label{fig:ldrsatout}
+% \end{figure}
+
+\item In the second experiment, we read the value of the LDR and using
+ it, turn the red LED on or off. When the file required for this
+ experiment is invoked, one gets the GUI as in \figref{fig:ldr-led}.
+ In the caption of this figure, one can see where to locate the file.
+
+ \begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocLDRfig/ldr-led.png}
+% \includegraphics[width=\smfig]{\LocLDRfig/ldr-led-xcos.PNG}
+ \caption[Xcos diagram to read the value of the LDR, which is used
+ to turn the blue LED on or off] {Xcos diagram to read the value of
+ the LDR, which is used to turn the blue LED on or off. This is
+ what one sees when \LocLDRscibrief{ldr-led-xcos.zcos}, is
+ invoked.}
+ \label{fig:ldr-led}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:ldr-led}. In the CSCOPE\_c block, the
+ two values correspond to two graphs, one for digital write and other
+ for analog read values. All other parameters are to be left
+ unchanged.
+ \begin{table}
+ \centering
+ \caption{Xcos parameters to read LDR and regulate blue LED}
+ \label{tab:ldr-led}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ ANALOG\_READ\_SB & Analog pin & 5 \\
+ & Arduino card number & 1 \\ \hline
+ CMSCOPE & Ymin & 0 0 \\
+ & Ymax & 1 1023 \\
+ & Refresh period & 100 100 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation time & 0 \\ \hline
+ SWITCH2\_m & Datatype & 1 \\
+ & threshold & 300 \\
+ & pass first input if field & 0 \\
+ & use zero crossing & 1 \\ \hline
+ DIGITAL\_WRITE\_SB & Digital pin & 9 \\
+ & Arduino card number & 1 \\ \hline
+ \end{tabular}
+ \end{table}
+
+
+
+\end{enumerate}
+
+
+%%%%%%%%%%%%%%%%%%python description starts
+\section {Python Experiments}
+In this section, we will explain a few Python experiments to read the
+LDR values corresponding to the incident light. The LDR values can be
+read using the following function of Python Arduino toolbox:
+\begin{lstlisting}[style=nonumbers]
+ cmd_analog_in(1,port number on Arduino Uno)
+\end{lstlisting}
+where the input argument 1 is fixed for this kit, and the port number corresponds to the analog pin of \arduino that needs to be read. We will carry out two experiments using Python.
+
+\begin{enumerate}
+\item We use \pyref{py:ldr-read} to read the LDR values. We find the
+ port number from the computer settings and give it as input to the
+ {\tt open\_serial} command to start serial port communication. In
+ our case, the port number is 2. Next, we shall fetch LDR values
+ using the command, {\tt cmd\_analog\_in}, as explained above. This
+ is indicated on line 4 of the code. We run this command in a {\tt
+ for} loop 20 times. In each iteration of the {\tt for} loop, we
+ acquire LDR data fed to analog pin 5, display it in the Python
+ command window and suspend Python operation for 500
+ milliseconds. The output of this experiment is displayed on the Python command
+ window. After reading the values, we close the serial port using the
+ command, {\tt close\_serial}, of Python-Arduino toolbox.
+
+\item In this experiment, we will observe the saturation point of LDR,
+ see \pyref{py:ldr-led}. We know that as incident light intensity
+ increases, voltage at analog input of the \arduino\ board
+ increases. Thus the ADC values being read by the \arduino\ board also
+ increase. But after certain high intensity, ADC values reach its
+ maximum. For 10 bit ADC in Arduino, this high intensity corresponds
+ to 1023. Beyond this value, the LDR is incapable of sensing the
+ change in light intensity and is considered to be saturated. To
+ observe this saturation point, we can do a simple task of exposing
+ LDR to high intensity. We can put a torch/light source sensor to
+ close proximity of LDR.
+\end{enumerate}
+
+\begin{exercise}
+Carry out the exercise below:
+\begin{enumerate}
+\item Carry out the exercise in the previous section
+\item Calculate the difference in LDR readings in indoor room
+ before lighting the lamp and after lighting the lamp. You can also
+ record changes in the room lighting at different times of the day.
+\end{enumerate}
+\end{exercise}
+%%%%%%%%%%%%python description ends
+
+
+%%%%%%%%%%%%%%%%%%julia description starts
+\section {Julia Experiments}
+In this section, we will explain a few Julia experiments to read the
+LDR values corresponding to the incident light. The LDR values can be
+read using the following function of Julia Arduino toolbox:
+\begin{lstlisting}[style=nonumbers]
+ analogRead(ser,port number on Arduino Uno)
+\end{lstlisting}
+where the input argument ser give the serial por no. and the 2nd argument gives the Arduino pin to which
+LDR is connected.
+
+\begin{enumerate}
+\item We use \juliaref{julia:ldr-read} to read the LDR values. In
+ our case, the port number is 2. Next, we shall fetch LDR values
+ using the command, {\tt analogRead}. This is indicated in
+ \lstinputlisting[firstline=8,lastline=12]
+ {\LocPushjuliacode/led-push-button.jl}. We run this command in a {\tt
+ for} loop 20 times. In each iteration of the {\tt for} loop, we
+ acquire LDR data fed to analog pin 5, display it in the console.
+ After reading the values, we close the serial port using the
+ command, {\tt close}, of Julia-Arduino toolbox.
+
+\item In this experiment, we will observe the saturation point of LDR,
+ see \juliaref{julia:ldr-led}.The experiment and its explanation is same
+ as python \& scilab experiment.
+\end{enumerate}
+
+\begin{exercise}
+Carry out the exercise below:
+\begin{enumerate}
+\item Carry out the exercise in the previous section
+\item Calculate the difference in LDR readings in indoor room
+ before lighting the lamp and after lighting the lamp. You can also
+ record changes in the room lighting at different times of the day.
+\end{enumerate}
+\end{exercise}
+%%%%%%%%%%%%Julia description ends
+
+%%%%%%%%OpenModelica Description Starts
+\section {OpenModelica Experiments}
+In this section, we will explain a few OpenModelica experiments to read the
+LDR values corresponding to the incident light. The LDR values can be
+read using the following function of OpenModelica Arduino toolbox:
+\begin{lstlisting}[style=nonumbers]
+ cmd_analog_in(ser,port number on Arduino Uno)
+\end{lstlisting}
+where the input argument ser give the serial por no. and the 2nd argument gives the Arduino pin to which
+LDR is connected.
+
+\begin{enumerate}
+\item We use \OpenModelicaref{OpenModelica:ldr-read} to read the LDR values. In
+ our case, the port number is 2. Next, we shall fetch LDR values
+ using the command, {\tt cmd\_analog\_in}. This is indicated in
+ \lstinputlisting[firstline=15,lastline=17]
+ {\LocPushOpenModelicacode/led-push-button.mo}. We run this command in a {\tt
+ for} loop 20 times. In each iteration of the {\tt for} loop, we
+ acquire LDR data fed to analog pin 5, display it in the console.
+ After reading the values, we close the serial port using the
+ command, {\tt close}, of Julia-Arduino toolbox.
+
+\item In this experiment, we will observe the saturation point of LDR,
+ see \juliaref{OpenModelica:ldr-led}.The experiment and its explanation is same
+ as scilab experiment.
+\end{enumerate}
+
+%%%%%%%%OpenMocelica Description Ends
+
+% \section{Do we need these? \redcolor{Manas, please answer}}
+% \begin{figure}
+% \centering
+% \includegraphics[width=\lgfig]{\LocLDRfig/ldr-led.png}
+% \caption{Xcos diagram to change LED state depending on the LDR values}
+% \label{fig:ldrxcosled}
+% \end{figure}
+
+% \begin{figure}
+% \centering
+% \includegraphics[width=\lgfig]{\LocLDRfig/ldr-led-out.png}
+% \caption{LDR output and corresponding LED input}
+% \label{fig:ldrledout}
+% \end{figure}
+
+\section{Arduino Code}
+\label{sec:ldr-arduino-code}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+\acaption{Read and display the LDR values}
+{Read and display the LDR values. Available at
+ \LocLDRardbrief{ldr-read/ldr-read.ino}.}
+\label{ard:ldr-read}
+\lstinputlisting{\LocLDRardcode/ldr-read/ldr-read.ino}
+\end{ardcode}
+
+\begin{ardcode}
+\acaption{Turning the blue LED on and off}
+{Turning the red LED on and off. Available at
+ \LocLDRardbrief{ldr-led/ldr-led.ino}.}
+\label{ard:ldr-led}
+\lstinputlisting{\LocLDRardcode/ldr-led/ldr-led.ino}
+\end{ardcode}
+
+
+\section{Scilab Code}
+\label{sec:ldr-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+\ccaption{Read and display the LDR values}
+{Read and display the LDR values. Available at
+ \LocLDRscibrief{ldr-read.sce}.}
+\label{sci:ldr-read}
+\lstinputlisting{\LocLDRscicode/ldr-read.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Turning the blue LED on and off}
+{Turning the blue LED on and off. Available at
+ \LocLDRscibrief{ldr-led.sce}.}
+\label{sci:ldr-led}
+\lstinputlisting{\LocLDRscicode/ldr-led.sce}
+\end{scicode}
+
+%%%%%%%%%%%%%%python code
+\section{Python Code}
+\label{sec:ldr-python-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{pycode}
+\ccaption{Read and display the LDR values}
+{Read and display the LDR values. Available at
+ \LocLDRpybrief{ldr-read.py}.}
+\label{py:ldr-read}
+\lstinputlisting{\LocLDRpycode/ldr-read.py}
+\end{pycode}
+
+\begin{pycode}
+\ccaption{Turning the blue LED on and off}
+{Turning the blue LED on and off. Available at
+ \LocLDRpybrief{ldr-led.py}.}
+\label{py:ldr-led}
+\lstinputlisting{\LocLDRpycode/ldr-led.py}
+\end{pycode}
+
+%%%%%%%%%%%%%%python code
+
+%%%%%begin julia code
+
+\section{Julia Code}
+\label{sec:ldr-julia-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{juliacode}
+\ccaption{Read and display the LDR values}
+{Read and display the LDR values. Available at
+ \LocLDRjuliabrief{ldr-read.jl}.}
+\label{julia:ldr-read}
+\lstinputlisting{\LocLDRjuliacode/ldr-read.jl}
+\end{juliacode}
+
+\begin{juliacode}
+\ccaption{Turning the blue LED on and off}
+{Turning the blue LED on and off. Available at
+ \LocLDRjuliabrief{ldr-led.jl}.}
+\label{julia:ldr-led}
+\lstinputlisting{\LocLDRjuliacode/ldr-led.jl}
+\end{juliacode}
+%%%%%end julia
+
+
+%%%%%begin OpenModelica code
+\section{OpenModelica Code}
+\label{sec:ldr-OpenModelica-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{OpenModelicacode}
+\ccaption{Read and display the LDR values}
+{Read and display the LDR values. Available at
+ \LocLDROpenModelicabrief{ldr-read.mo}.}
+\label{OpenModelica:ldr-read}
+\lstinputlisting{\LocLDROpenModelicacode/ldr-read.mo}
+\end{OpenModelicacode}
+
+\begin{OpenModelicacode}
+\ccaption{Turning the blue LED on and off}
+{Turning the blue LED on and off. Available at
+ \LocLDROpenModelicabrief{ldr-led.mo}.}
+\label{OpenModelica:ldr-led}
+\lstinputlisting{\LocLDROpenModelicacode/ldr-led.mo}
+\end{OpenModelicacode}
+%%%%%%%%%%%%%%%%%OpenModelica ends \ No newline at end of file
diff --git a/scilab-arduino/user-code/ldr/ldr_11.tex b/scilab-arduino/user-code/ldr/ldr_11.tex
new file mode 100644
index 0000000..288288e
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/ldr_11.tex
@@ -0,0 +1,86 @@
+\subsection{Output}
+Output of the Xcos implementation is shown in the graphical window of scilab. One can also see the values using scilab code implementation. As the hand moves up-down, light intensity incident on LDR changes, and corresponding values being read by Arduino changes.
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocLDRfig/ldr_1.png}
+\caption{Output}
+\label{fig:ldrop-1}
+\end{figure}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocLDRfig/ldr-read-xcos.png}
+\caption{Xcos diagram for LDR experiment}
+\label{fig:ldrexpt-2}
+\end{figure}
+
+\subsection{Output}
+Observe the value read by Arduino when high intensity is exposed. Value reaches to 1023. Below is the graphical window in Scilab which shows this value w.r.t 100 readings acquired iteratively using scilab-arduino toolbox. It is observed that value reaches 1023 when LDR is exposed to high intensity.
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocLDRfig/ldr_3.png}
+\caption{Output}
+\label{fig:ldrop-2}
+\end{figure}
+
+\section {Experiment: LED and LDR}
+
+
+\subsection{Using Xcos diagram}
+From the Arduino module Xcos following blocks will be used for the model:
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocLDRfig/xcos_ldr.png}
+\caption{Output}
+\label{fig:xcosldrdesc-2}
+\end{figure}
+
+%\begin{figure}
+%\centering
+%\includegraphics[width=\smfig]{\LocLDRfig/ldr-sub-expt-3.png}
+%\caption{Xcos diagram}
+%\label{fig:xcosldr-3}
+%\end{figure}
+
+\subsection{Exercise}
+\begin{enumerate}
+\item Calculate the difference in LDR readings in indoor room before lighting the lamp and after lighting the lamp. You can also record changes in the room lighting at different times of the day.
+\end{enumerate}
+
+\section{Experiment: Interfacing temperature sensor using Scilab-Arduino toolbox}
+This is the exercise where temperature sensor readings are acquired in scilab using arduino. Temperature sensor mounted on the shield is a thermistor. Operationally it performs similar to the LDR. Like in the case of LDR, its resistance varies as the temperature changes. This change in resistance can be transformed into change in voltage as in the case of LDR.
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocLDRfig/ldr-therm.png}
+\caption{Connection diagram}
+\label{fig:ldrtherm}
+\end{figure}
+
+\subsection{Connection}
+As shown in the figure, temperature sensor is connected in series with resistor of known value (10 k ohm in this case). Other terminals of resistor and thermistor are connected to Gnd and Vcc respectively. Common terminal is given to analog input pin A4.
+
+
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocLDRfig/ldr-read-xcos.png}
+\caption{Xcos Diagram to read LDR values}
+\label{fig:xcos-ldr}
+\end{figure}
+
+%\begin{scicode}
+%\ccaption{DC Motor Control}
+%{DC Motor Control. Available at
+ % \LocLDRscibrief/dcmotor.sce.}
+%\label{sci:ldr-300}
+%\lstinputlisting{\LocLDRscicode/dcmotor.sce}
+%\end{scicode}
+
+
+
+
+\subsection{Exercise}
+User can perform same experiment as the sub-experiment 1 of LDR. By varying temperature near the thermistor using match stick/lighter, one can notice the change the values being read by arduino. Here we note that, arduino ADC hardware is being used to map analog voltage values into 0-1023 range.
diff --git a/scilab-arduino/user-code/ldr/python/ldr-led.py b/scilab-arduino/user-code/ldr/python/ldr-led.py
new file mode 100644
index 0000000..b5b2a5d
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/python/ldr-led.py
@@ -0,0 +1,44 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LDR:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.ldr=5
+ self.blue=9
+ self.green=10
+ self.red=11
+ for i in range(100):
+ val=self.obj_arduino.cmd_analog_in(1,self.ldr)
+ print (val)
+ if int(val) < 300:
+ self.obj_arduino.cmd_digital_out(1,self.blue,1)
+ else:
+ self.obj_arduino.cmd_digital_out(1,self.blue,0)
+ sleep(0.5)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_ldr=LDR(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/ldr/python/ldr-read.py b/scilab-arduino/user-code/ldr/python/ldr-read.py
new file mode 100644
index 0000000..7f56252
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/python/ldr-read.py
@@ -0,0 +1,37 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LDR:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.ldr=5
+ for i in range(20):
+ val=self.obj_arduino.cmd_analog_in(1,self.ldr)
+ print (val)
+ sleep(0.5)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_ldr=LDR(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/ldr/scilab/ldr-led-xcos.zcos b/scilab-arduino/user-code/ldr/scilab/ldr-led-xcos.zcos
new file mode 100644
index 0000000..df2770e
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/scilab/ldr-led-xcos.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/scilab/ldr-led.sce b/scilab-arduino/user-code/ldr/scilab/ldr-led.sce
new file mode 100644
index 0000000..03ff358
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/scilab/ldr-led.sce
@@ -0,0 +1,12 @@
+ok=open_serial(1,2,115200); // port 2, baudrate 115200
+if ok~=0 then error('Unable to open serial port, please check'); end
+for i=1:500 //Run for 500 iterations
+ p=cmd_analog_in(1,5) // read analog pin 5 (ldr)
+ disp(p);
+ if(p<300) // Setting Threshold value of 300
+ cmd_digital_out(1,9,1) // Turn ON LED
+ else
+ cmd_digital_out(1,9,0) // Turn OFF LED
+ end
+end
+close_serial(1)
diff --git a/scilab-arduino/user-code/ldr/scilab/ldr-read-xcos.zcos b/scilab-arduino/user-code/ldr/scilab/ldr-read-xcos.zcos
new file mode 100644
index 0000000..bcd347e
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/scilab/ldr-read-xcos.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/ldr/scilab/ldr-read.sce b/scilab-arduino/user-code/ldr/scilab/ldr-read.sce
new file mode 100644
index 0000000..d8dfaf2
--- /dev/null
+++ b/scilab-arduino/user-code/ldr/scilab/ldr-read.sce
@@ -0,0 +1,8 @@
+ok=open_serial(1,2,115200); // Port 2 with baudrate 115200
+if ok~=0 then error('Unable to open serial port. Please check') end
+for i=1:20 // Run for 20 iterations
+ p=cmd_analog_in(1,5); // read analog pin 5 (ldr)
+ disp(p);
+ sleep(500) // Delay of 500 milliseconds
+end
+c = close_serial(1) // close serial connection
diff --git a/scilab-arduino/user-code/led/OpenModelica/led-blue-delay.mo b/scilab-arduino/user-code/led/OpenModelica/led-blue-delay.mo
new file mode 100644
index 0000000..16ba14e
--- /dev/null
+++ b/scilab-arduino/user-code/led/OpenModelica/led-blue-delay.mo
@@ -0,0 +1,24 @@
+model led_blue_delay "Turn on Blue LED for a period of 2 seconds"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn the blue LED";
+ sComm.delay(2000) "let the blue LED be on for two seconds";
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "turn off blue LED";
+ sComm.delay(2000) "let the blue LED be off for two seconds";
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+end led_blue_delay; \ No newline at end of file
diff --git a/scilab-arduino/user-code/led/OpenModelica/led-blue-red.mo b/scilab-arduino/user-code/led/OpenModelica/led-blue-red.mo
new file mode 100644
index 0000000..9fc1b79
--- /dev/null
+++ b/scilab-arduino/user-code/led/OpenModelica/led-blue-red.mo
@@ -0,0 +1,26 @@
+model led_blue_red "Turn on Red & Blue LED"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn the blue LED";
+ digital_out := sComm.cmd_digital_out(1, 11, 1) "This will turn the red LED";
+ sComm.delay(5000) "Delay for 5 seconds";
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This turns off the blue Led";
+ sComm.delay(3000) "Delay for 3 seconds";
+ digital_out := sComm.cmd_digital_out(1, 11, 0) "This turns off the red Led";
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+end led_blue_red; \ No newline at end of file
diff --git a/scilab-arduino/user-code/led/OpenModelica/led-blue.mo b/scilab-arduino/user-code/led/OpenModelica/led-blue.mo
new file mode 100644
index 0000000..cc87cf2
--- /dev/null
+++ b/scilab-arduino/user-code/led/OpenModelica/led-blue.mo
@@ -0,0 +1,21 @@
+model led_blue "Turn on Blue LED"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+end led_blue; \ No newline at end of file
diff --git a/scilab-arduino/user-code/led/OpenModelica/led-green-blink.mo b/scilab-arduino/user-code/led/OpenModelica/led-green-blink.mo
new file mode 100644
index 0000000..7622b35
--- /dev/null
+++ b/scilab-arduino/user-code/led/OpenModelica/led-green-blink.mo
@@ -0,0 +1,26 @@
+model led_green_blink "This will turn on and turn off the green LED for every second for 5 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(1000);
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ for i in 1:10 loop
+ digital_out := sComm.cmd_digital_out(1, 10, 0) "This will turn off the green LED";
+ sComm.delay(1000) "Delay for 1 second";
+ digital_out := sComm.cmd_digital_out(1, 10, 1) "This turns the green Led";
+ sComm.delay(1000) "Delay for 1 second";
+ end for;
+ end if;
+ strm.print(String(time));
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 10));
+end led_green_blink; \ No newline at end of file
diff --git a/scilab-arduino/user-code/led/OpenModelica/test_firmware.mo b/scilab-arduino/user-code/led/OpenModelica/test_firmware.mo
new file mode 100644
index 0000000..569b4d7
--- /dev/null
+++ b/scilab-arduino/user-code/led/OpenModelica/test_firmware.mo
@@ -0,0 +1,12 @@
+model testfirmware "test serial communication with Arduino"
+import sComm=Arduino.SerialCommunication.Functions;
+Integer h(fixed=false);
+Integer w(fixed=false);
+Integer r(fixed=false);
+Integer c(fixed=false);
+algorithm
+ h := sComm.open_serial(1,2,9600);
+ w := sComm.write_serial(1, "v", 1);
+ r := sComm.read_serial(1,2);
+ c := sComm.close_serial(1);
+end testfirmware;
diff --git a/scilab-arduino/user-code/led/arduino-old/led-blink/led-blink.ino b/scilab-arduino/user-code/led/arduino-old/led-blink/led-blink.ino
new file mode 100644
index 0000000..de2934b
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino-old/led-blink/led-blink.ino
@@ -0,0 +1,13 @@
+int i=0;
+void setup() {
+ pinMode(10, OUTPUT);
+ for(i=0;i<5;i++)
+ {
+ digitalWrite(10, HIGH); // turn the LED on (HIGH is the voltage level)
+ delay(1000); // wait for a second
+ digitalWrite(10, LOW); // turn the LED off by making the voltage LOW
+ delay(1000); // wait for a second
+ }
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/led/arduino-old/led-blue-delay/led-blue-delay.ino b/scilab-arduino/user-code/led/arduino-old/led-blue-delay/led-blue-delay.ino
new file mode 100644
index 0000000..fd2d4f5
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino-old/led-blue-delay/led-blue-delay.ino
@@ -0,0 +1,8 @@
+void setup() {
+pinMode(9,OUTPUT);
+digitalWrite(9,HIGH);
+delay(2000);
+digitalWrite(9,LOW);
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/led/arduino-old/led-blue-red/led-blue-red.ino b/scilab-arduino/user-code/led/arduino-old/led-blue-red/led-blue-red.ino
new file mode 100644
index 0000000..cbb467b
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino-old/led-blue-red/led-blue-red.ino
@@ -0,0 +1,12 @@
+void setup() {
+pinMode(9,OUTPUT);
+pinMode(11,OUTPUT);
+digitalWrite(9,HIGH);
+digitalWrite(11,HIGH);
+delay(5000);
+digitalWrite(9,LOW);
+delay(3000);
+digitalWrite(11,LOW);
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/led/arduino-old/led-blue/led-blue.ino b/scilab-arduino/user-code/led/arduino-old/led-blue/led-blue.ino
new file mode 100644
index 0000000..b2bf833
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino-old/led-blue/led-blue.ino
@@ -0,0 +1,6 @@
+void setup() {
+pinMode(9,OUTPUT);
+digitalWrite(9,HIGH);
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/led/arduino-old/led_on/led_on.ino b/scilab-arduino/user-code/led/arduino-old/led_on/led_on.ino
new file mode 100644
index 0000000..09ef13c
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino-old/led_on/led_on.ino
@@ -0,0 +1,11 @@
+
+void setup() {
+pinMode(9,OUTPUT);
+digitalWrite(9,HIGH);
+delay(2000);
+digitalWrite(9,LOW);
+}
+
+void loop() {
+
+}
diff --git a/scilab-arduino/user-code/led/arduino-old/led_sleep/led_sleep.ino b/scilab-arduino/user-code/led/arduino-old/led_sleep/led_sleep.ino
new file mode 100644
index 0000000..f443416
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino-old/led_sleep/led_sleep.ino
@@ -0,0 +1,16 @@
+const int LED = 13;
+
+void setup() {
+ Serial.begin(115200);
+ pinMode(LED,OUTPUT); //Output mode
+
+ digitalWrite(LED,LOW); //LED OFF
+ delay(1000); //Delay in milliseconds
+ digitalWrite(LED,HIGH); //LED ON
+delay(1000); //Delay in milliseconds
+ digitalWrite(LED,LOW);
+}
+
+void loop() {
+
+}
diff --git a/scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino b/scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino
new file mode 100644
index 0000000..1b53338
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino
@@ -0,0 +1,14 @@
+int i=0;
+void setup() {
+ pinMode(10, OUTPUT);
+ Serial.begin(115200);
+ for(i=0;i<5;i++)
+ {
+ digitalWrite(10, HIGH); // turn the LED on (HIGH is the voltage level)
+ delay(1000); // wait for a second
+ digitalWrite(10, LOW); // turn the LED off by making the voltage LOW
+ delay(1000); // wait for a second
+ }
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino~ b/scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino~
new file mode 100644
index 0000000..de2934b
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino/led-blink/led-blink.ino~
@@ -0,0 +1,13 @@
+int i=0;
+void setup() {
+ pinMode(10, OUTPUT);
+ for(i=0;i<5;i++)
+ {
+ digitalWrite(10, HIGH); // turn the LED on (HIGH is the voltage level)
+ delay(1000); // wait for a second
+ digitalWrite(10, LOW); // turn the LED off by making the voltage LOW
+ delay(1000); // wait for a second
+ }
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino b/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
new file mode 100644
index 0000000..0d3bd53
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino/led-blue-delay/led-blue-delay.ino
@@ -0,0 +1,9 @@
+void setup() {
+pinMode(9,OUTPUT);
+Serial.begin(115200);
+digitalWrite(9,HIGH);
+delay(2000);
+digitalWrite(9,LOW);
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/led/arduino/led-blue-red/led-blue-red.ino b/scilab-arduino/user-code/led/arduino/led-blue-red/led-blue-red.ino
new file mode 100644
index 0000000..fdb3230
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino/led-blue-red/led-blue-red.ino
@@ -0,0 +1,13 @@
+void setup() {
+pinMode(9,OUTPUT);
+pinMode(11,OUTPUT);
+Serial.begin(115200);
+digitalWrite(9,HIGH);
+digitalWrite(11,HIGH);
+delay(5000);
+digitalWrite(9,LOW);
+delay(3000);
+digitalWrite(11,LOW);
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino b/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
new file mode 100644
index 0000000..74d59a0
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino/led-blue/led-blue.ino
@@ -0,0 +1,7 @@
+void setup() {
+pinMode(9,OUTPUT);
+Serial.begin(115200);
+digitalWrite(9,HIGH);
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/led/arduino/led_on-amravati/led_on-amravati.ino b/scilab-arduino/user-code/led/arduino/led_on-amravati/led_on-amravati.ino
new file mode 100644
index 0000000..7dcbdc1
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino/led_on-amravati/led_on-amravati.ino
@@ -0,0 +1,12 @@
+
+void setup() {
+pinMode(9,OUTPUT);
+Serial.begin(115200);
+}
+
+void loop() {
+digitalWrite(9,HIGH);
+delay(1000);
+digitalWrite(9,LOW);
+delay(30000);
+}
diff --git a/scilab-arduino/user-code/led/arduino/led_on/led_on.ino b/scilab-arduino/user-code/led/arduino/led_on/led_on.ino
new file mode 100644
index 0000000..98befd9
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino/led_on/led_on.ino
@@ -0,0 +1,12 @@
+
+void setup() {
+pinMode(9,OUTPUT);
+Serial.begin(115200);
+digitalWrite(9,HIGH);
+delay(2000);
+digitalWrite(9,LOW);
+}
+
+void loop() {
+
+}
diff --git a/scilab-arduino/user-code/led/arduino/led_sleep/led_sleep.ino b/scilab-arduino/user-code/led/arduino/led_sleep/led_sleep.ino
new file mode 100644
index 0000000..f443416
--- /dev/null
+++ b/scilab-arduino/user-code/led/arduino/led_sleep/led_sleep.ino
@@ -0,0 +1,16 @@
+const int LED = 13;
+
+void setup() {
+ Serial.begin(115200);
+ pinMode(LED,OUTPUT); //Output mode
+
+ digitalWrite(LED,LOW); //LED OFF
+ delay(1000); //Delay in milliseconds
+ digitalWrite(LED,HIGH); //LED ON
+delay(1000); //Delay in milliseconds
+ digitalWrite(LED,LOW);
+}
+
+void loop() {
+
+}
diff --git a/scilab-arduino/user-code/led/auto/led.el b/scilab-arduino/user-code/led/auto/led.el
new file mode 100644
index 0000000..0d0c239
--- /dev/null
+++ b/scilab-arduino/user-code/led/auto/led.el
@@ -0,0 +1,36 @@
+(TeX-add-style-hook "led"
+ (lambda ()
+ (LaTeX-add-labels
+ "sec:led-pril"
+ "fig:ledsym"
+ "fig:ledblock"
+ "fig:uno-shield-connect"
+ "sec:light-ard"
+ "fig:led-uno"
+ "sec:light-sci"
+ "sec:light-xcos"
+ "fig:led-blue"
+ "tab:led-blue"
+ "fig:led-blue-delay"
+ "tab:led-blue-delay"
+ "fig:led-blue-red"
+ "tab:led-blue-red"
+ "fig:led-green-blink"
+ "tab:led-green-blink"
+ "sec:led-arduino-code"
+ "ard:led-blue"
+ "ard:led-blue-delay"
+ "ard:led-blue-red"
+ "ard:led-blink"
+ "sec:led-scilab-code"
+ "sci:led-blue"
+ "sci:led-blue-delay"
+ "sci:led-blue-red"
+ "sci:led-green-blink")
+ (TeX-add-symbols
+ '("LocLEDardbrief" 1)
+ '("LocLEDscibrief" 1)
+ "LocLEDfig"
+ "LocLEDscicode"
+ "LocLEDardcode")))
+
diff --git a/scilab-arduino/user-code/led/figures/arduino-shield.JPG b/scilab-arduino/user-code/led/figures/arduino-shield.JPG
new file mode 100644
index 0000000..db34600
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/arduino-shield.JPG
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/led-blue-delay.png b/scilab-arduino/user-code/led/figures/led-blue-delay.png
new file mode 100644
index 0000000..4c9bb7c
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/led-blue-delay.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/led-blue-red.png b/scilab-arduino/user-code/led/figures/led-blue-red.png
new file mode 100644
index 0000000..8103826
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/led-blue-red.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/led-blue.png b/scilab-arduino/user-code/led/figures/led-blue.png
new file mode 100644
index 0000000..52385a5
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/led-blue.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/led-green-blink.png b/scilab-arduino/user-code/led/figures/led-green-blink.png
new file mode 100644
index 0000000..457a6aa
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/led-green-blink.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/led.png b/scilab-arduino/user-code/led/figures/led.png
new file mode 100644
index 0000000..c6e9550
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/led.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/led_output.png b/scilab-arduino/user-code/led/figures/led_output.png
new file mode 100644
index 0000000..8d184de
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/led_output.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/ledblock.png b/scilab-arduino/user-code/led/figures/ledblock.png
new file mode 100644
index 0000000..fb487a4
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/ledblock.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/ledflowchart.png b/scilab-arduino/user-code/led/figures/ledflowchart.png
new file mode 100644
index 0000000..2b67156
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/ledflowchart.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/schematic.png b/scilab-arduino/user-code/led/figures/schematic.png
new file mode 100644
index 0000000..0f44de5
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/schematic.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/xcos-desc.png b/scilab-arduino/user-code/led/figures/xcos-desc.png
new file mode 100644
index 0000000..136aeab
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/xcos-desc.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/xcos-led.png b/scilab-arduino/user-code/led/figures/xcos-led.png
new file mode 100644
index 0000000..5941882
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/xcos-led.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/figures/xcos-wri.png b/scilab-arduino/user-code/led/figures/xcos-wri.png
new file mode 100644
index 0000000..129dccf
--- /dev/null
+++ b/scilab-arduino/user-code/led/figures/xcos-wri.png
Binary files differ
diff --git a/scilab-arduino/user-code/led/julia/led-blue-delay.jl b/scilab-arduino/user-code/led/julia/led-blue-delay.jl
new file mode 100644
index 0000000..4aab3cd
--- /dev/null
+++ b/scilab-arduino/user-code/led/julia/led-blue-delay.jl
@@ -0,0 +1,9 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+digiWrite(ser,9,1)
+sleep(2)
+digiWrite(ser,9,0)
+close(ser)
diff --git a/scilab-arduino/user-code/led/julia/led-blue-red.jl b/scilab-arduino/user-code/led/julia/led-blue-red.jl
new file mode 100644
index 0000000..a4a9ece
--- /dev/null
+++ b/scilab-arduino/user-code/led/julia/led-blue-red.jl
@@ -0,0 +1,13 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+pinMode(ser,11,"OUTPUT")
+digiWrite(ser,9,1)
+digiWrite(ser,11,1)
+sleep(5)
+digiWrite(ser,9,0)
+sleep(3)
+digiWrite(ser,11,0)
+close(ser)
diff --git a/scilab-arduino/user-code/led/julia/led-blue.jl b/scilab-arduino/user-code/led/julia/led-blue.jl
new file mode 100644
index 0000000..4a50882
--- /dev/null
+++ b/scilab-arduino/user-code/led/julia/led-blue.jl
@@ -0,0 +1,7 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+digiWrite(ser,9,1)
+close(ser)
diff --git a/scilab-arduino/user-code/led/julia/led-green-blink.jl b/scilab-arduino/user-code/led/julia/led-green-blink.jl
new file mode 100644
index 0000000..57e8851
--- /dev/null
+++ b/scilab-arduino/user-code/led/julia/led-green-blink.jl
@@ -0,0 +1,12 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+pinMode(ser,10,"OUTPUT")
+for i = 1:5
+ digiWrite(ser,10,1)
+ sleep(1)
+ digiWrite(ser,10,0)
+ sleep(1)
+end
+close(ser)
diff --git a/scilab-arduino/user-code/led/julia/test_firmware.jl b/scilab-arduino/user-code/led/julia/test_firmware.jl
new file mode 100644
index 0000000..b6178aa
--- /dev/null
+++ b/scilab-arduino/user-code/led/julia/test_firmware.jl
@@ -0,0 +1,12 @@
+using SerialPorts
+using ArduinoTools
+
+h = connectBoard(115200)
+
+for i = 1:3
+ write(h,"v")
+ s = read(h,2)
+ println(s)
+end
+
+close(h)
diff --git a/scilab-arduino/user-code/led/led.tex b/scilab-arduino/user-code/led/led.tex
new file mode 100644
index 0000000..d130032
--- /dev/null
+++ b/scilab-arduino/user-code/led/led.tex
@@ -0,0 +1 @@
+\chapter {Interfacing a Light Emitting Diode} \thispagestyle{empty} \label{led} \newcommand{\LocLEDfig}{\Origin/user-code/led/figures} \newcommand{\LocLEDscicode}{\Origin/user-code/led/scilab} \newcommand{\LocLEDscibrief}[1]{{\tt \seqsplit{% Origin/user-code/led/scilab/#1}}, see \fnrefp{fn:file-loc}} \newcommand{\LocLEDardcode}{\Origin/user-code/led/arduino} \newcommand{\LocLEDardbrief}[1]{{\tt \seqsplit{% Origin/user-code/led/arduino/#1}}, see \fnrefp{fn:file-loc}} \newcommand{\LocLEDpycode}{\Origin/user-code/led/python} %added for python \newcommand{\LocLEDpybrief}[1]{{\tt \seqsplit{% Origin/user-code/led/python/#1}}, see \fnrefp{fn:file-loc}} % added for python \newcommand{\LocLEDjuliacode}{\Origin/user-code/led/julia} %added for julia \newcommand{\LocLEDjuliabrief}[1]{{\tt \seqsplit{% Origin/user-code/led/julia/#1}}, see \fnrefp{fn:file-loc}} % added for julia %%%%%%OpenModelica Starts \newcommand{\LocLEDOpenModelicacode}{\Origin/user-code/led/OpenModelica} %added for OpenModelica \newcommand{\LocLEDOpenModelicabrief}[1]{{\tt \seqsplit{% Origin/user-code/led/OpenModelica/#1}}, see \fnrefp{fn:file-loc}} % added for OpenModelica %%%%%OpenModelcia Ends In this chapter, we will learn how to control the LEDs on the shield and on the \arduino\ board. We will do this through the Arduino IDE, Scilab scripts and Scilab Xcos. These are beginner level experiments, and often referred to as the \emph{hello world} task of Arduino. Although simple, controlling LED is a very important task in all kinds of electronic boards. \section{Preliminaries} \label{sec:led-pril} A light emitting diode (LED) is a special type of semiconductor diode, which emits light when voltage is applied across its terminals. A typical LED has 2 leads: Anode, the positive terminal and Cathode, the negative terminal. When sufficient voltage is applied, electrons combine with the holes, thereby releasing energy in the form of photons. These photons emit light and this phenomenon is known as electroluminescence. The symbolic representation of an LED is shown in \figref{fig:ledsym}. Generally, LEDs are capable of emitting different colours. Changing the composition of alloys that are present in LED helps produce different colours. A popular LED is an RGB LED that actually has three LEDs: red, green and blue. \begin{figure} \centering \includegraphics[width=0.2\linewidth]{\LocLEDfig/led.png} \caption{Light Emitting Diode} \label{fig:ledsym} \end{figure} %\subsection{Connection diagram} An RGB LED is present on the shield provided in the kit. In this section, we will see how to light each of the LEDs present in the RGB LED. As a matter of fact, it is possible to create many colours by combining these three. A schematic of the RGB LED in the shield is given in \figref{fig:ledblock}. \begin{figure} \centering \includegraphics[width=\smfig]{\LocLEDfig/schematic.png} \caption{Internal connection diagram for LED on the shield} \label{fig:ledblock} \end{figure} The anode pins of red, green and blue are, respectively, connected to pins 11, 10 and 9. Common Cathode is connected to the ground. It should be pointed out, however, that no wire connections are to be made by the learner: all the required connections are already internally made available. The LED of any colour can be turned on by putting a high voltage on the corresponding anode pin. \begin{figure} \centering \includegraphics[width=\smfig]{\LocLEDfig/arduino-shield.JPG} \caption{Connecting Arduino and Shield} \label{fig:uno-shield-connect} \end{figure} One should remember to connect the shield on to the \arduino\ board, as shown in \figref{fig:uno-shield-connect}. All the experiments in this chapter assume that the shield is connected to the \arduino\ board. It is also possible to do some of the experiments without the shield, which is pointed out in the next section. \section{Lighting the LED from the Arduino IDE} \label{sec:light-ard} In this section, we will describe some experiments that will help the LED light up based on the command given from the Arduino IDE. We will also give the necessary code. We will present four experiments in this section. The shield has to be attached to the \arduino\ board before doing these experiments. The reader should go through the instructions given in \secref{sec:ard-start} before getting started. \begin{enumerate} \item First, we will see how to light up the LED in different colours. An extremely simple code is given in \ardref{ard:led-blue}. On uploading this code, you can see that the LED on the shield turns blue. It is extremely easy to explain this code. Recall from the above discussion that we have to put a high voltage (5V) on pin 9 to turn the blue light on. This is achieved by the following command: \lstinputlisting[firstline=3,lastline=3] {\LocLEDardcode/led-blue/led-blue.ino} Before that, we need to define pin 9 as the output pin. This is achieved by the command, \lstinputlisting[firstline=2,lastline=2] {\LocLEDardcode/led-blue/led-blue.ino} One can see that the blue light will be on continuously. \item Next, we will modify the code slightly so that the blue light remains on for two seconds and then turns off. \ardref{ard:led-blue-delay} helps achieve this. In this, we introduce a new command {\tt delay} as below: \lstinputlisting[firstline=4,lastline=4] {\LocLEDardcode/led-blue-delay/led-blue-delay.ino} This delay command halts the code for the time passed as in input argument. In our case, it is 2,000 milliseconds, or 2 seconds. The next command, \lstinputlisting[firstline=5,lastline=5] {\LocLEDardcode/led-blue-delay/led-blue-delay.ino} puts a low voltage on pin 9 to turn it off. What is the role of the {\tt delay} command? To find this, comment the delay command. That is, replace the above delay command with the following and upload the code. \begin{lstlisting}[style=nonumbers] // delay(2000); \end{lstlisting} If you observe carefully, you will see that the LED turns blue momentarily and then turns off. \item We mentioned earlier that it was possible to light more than one LED simultaneously. We will now describe this with another experiment. In this, we will turn on both blue and red LEDs. We will keep both of them on for 5 seconds and then turn blue off, leaving only red on. After 3 seconds, we will turn red also off. This code is given in \ardref{ard:led-blue-red}. Remember that before writing either {\tt HIGH} or {\tt LOW} on to any pin, its mode has to be declared as {\tt OUTPUT}, as given in the code. All the commands in this code are self explanatory. \item Finally, we will give a hint of how to use the programming capabilities of the Arduino IDE. For this, we will use \ardref{ard:led-blink}. It makes the LED blink 5 times. Recall from the previous section that a {\tt HIGH} on pin 10 turns on the green LED. This cycle is executed for a total of five times. In each iteration, it will turn the green LED on for a second by giving the {\tt HIGH} signal and then turn it off for a second by giving the {\tt LOW} signal. This cycle is carried out for a total of 5 times, because of the {\tt for loop}. \end{enumerate} \paragraph{Note:} All the above four experiments have been done with the shield affixed to the \arduino\ board. One may run these experiments without the shield as well. But in this case, pin number 13 has to be used in all experiments, as pin 13 lights up the LED that is on the \arduino\ board. For example, in \ardref{ard:led-blue}, one has to replace both occurrences of number 9 with 13. In this case, one will get the LED of \arduino\ board light up, as shown in \figref{fig:led-uno}. \begin{figure} \centering \includegraphics[width=\hgfig]{\LocLEDfig/led_output.png} \caption{LED experiments directly on \arduino\ board, without the shield} \label{fig:led-uno} \end{figure} \paragraph{Note:} It should also be pointed out that only one colour is available in \arduino\ board. As a result, it is not possible to conduct the experiments that produce different colours if the shield is not used. \begin{exercise} Carry out the following exercise: \begin{enumerate} \item In \ardref{ard:led-blue-delay}, remove the delay, as discussed above, and check what happens. \item Light up all three colours simultaneously, by modifying \ardref{ard:led-blue-red}. Change the combination of colours to get different colours. \item Incorporate some of the features of earlier experiments into \ardref{ard:led-blink} and come up with different ways of blinking with different colour combinations. \end{enumerate} \end{exercise} \section{Lighting the LED from Scilab Scripts} \label{sec:light-sci} In this section, we discuss how to carry out the experiments of the previous section from Scilab. We will list the same four experiments, in the same order. The shield has to be attached to the \arduino\ before carrying out these experiments, as in \secref{sec:light-ard}. The reader should go through the instructions given in \secref{sec:sci-start} before getting started. \begin{enumerate} \item In the first experiment, we will light up the blue LED on the shield. The code for this is given in \sciref{sci:led-blue}. It begins with a command of the form \begin{lstlisting}[style=nonumbers] ok = open_serial(1,PORT NUMBER,BAUD RATE) \end{lstlisting} We have used 2 for {\tt PORT NUMBER} and 115200 for {\tt BAUD RATE}. As a result, this command becomes \lstinputlisting[firstline=1,lastline=1]{\LocLEDscicode/led-blue.sce} This command is used to open the serial port. When the port is opened successfully, it returns a value of 0, which gets stored in the variable {\tt ok}. Sometimes, the serial port does not open, as mentioned in the above command. This is typically due to not closing the serial port properly in a previous experiment. If this condition is not trapped, the program will wait forever, without any information about this difficulty. One way to address this difficulty is to terminate the program if the serial port does not open. This is achieved using the error message of the following form: \begin{lstlisting}[style=nonumbers] if ok~=0, error(Error Message in Quotes); \end{lstlisting} It checks if {\tt ok=0}. If not, it flashes an error message and terminates. This line gets implemented in the following way in \sciref{sci:led-blue}. \lstinputlisting[firstline=2,lastline=2]{\LocLEDscicode/led-blue.sce} We turn the LED on in the next line. This is achieved using a command of the form \begin{lstlisting}[style=nonumbers] cmd_digital_out(1,PIN NUMBER,VALUE) \end{lstlisting} As we want to turn on the blue light in the shield, as discussed in \secref{sec:light-ard}, we choose {\tt PIN NUMBER} as 9. We can put any positive integer in the place of {\tt VALUE}. We arrive at the following command: \lstinputlisting[firstline=3,lastline=3]{\LocLEDscicode/led-blue.sce} The last line in the code closes the serial port. As mentioned above, it is extremely important to close the serial port properly. If not closed properly, there could be difficulties in running subsequent programs. \item \sciref{sci:led-blue-delay} does the same thing as what \ardref{ard:led-blue-delay} does. It does two more things than what \sciref{sci:led-blue} does: It makes the blue LED light up for two seconds. This is achieved by the command \lstinputlisting[firstline=4,lastline=4]{\LocLEDscicode/led-blue-delay.sce} The second thing this code does is to turn the blue LED off. This is achieved by the command \lstinputlisting[firstline=5,lastline=5]{\LocLEDscicode/led-blue-delay.sce} It is easy to see that this code puts a 0 on pin 9. \item \sciref{sci:led-blue-red} does the same thing as what \ardref{ard:led-blue-red} does. It turns blue and red LEDs on for five seconds. After that, it turns off blue first. After 3 seconds, it turns off red also. So, when the program ends, no LED is lit up. \item \sciref{sci:led-green-blink} does exactly what its counterpart in the Arduino IDE does. It makes the green LED blink five times. \end{enumerate} \begin{exercise} Repeat the exercise of the previous section. \end{exercise} \section{Lighting the LED from Scilab Xcos} \label{sec:light-xcos} In this section, we will see how to light the LEDs from Scilab Xcos. We will carry out the same four experiments as in the previous sections. For each, we will give the location of the zcos file and the parameters to set. The reader should go through the instructions given in \secref{sec:xcos-start} before getting started. \begin{enumerate} \item First we will see how to turn on the blue LED. When the file required for this experiment is invoked, one gets the GUI as in \figref{fig:led-blue}. In the caption of this figure, one can see where to locate the file. \begin{figure} \centering \includegraphics[width=\smfig]{\LocLEDfig/led-blue.png} \caption[Turning the blue LED on through Xcos]{Turning the blue LED on through Xcos. This is what one sees when \LocLEDscibrief{led-blue.zcos} is invoked.} \label{fig:led-blue} \end{figure} We will next explain how to set the parameters for this simulation. To set value on any block, one needs to right click and open the {\tt Block Parameters} or double click. The values for each block is tabulated in \tabref{tab:led-blue}. All other parameters are to be left unchanged. \begin{table} \centering \caption{Parameters to light the blue LED in Xcos} \label{tab:led-blue} \begin{tabular}{llc} \hline Name of the block & Parameter name & Value \\ \hline ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\ & Serial com port number & 2\portcmd \\ \hline TIME\_SAMPLE & Duration of acquisition(s) & 10 \\ & Sampling period(s) & 0.1 \\ \hline DIGITAL\_WRITE\_SB & Digital pin & 9 \\ & Arduino card number & 1 \\ \hline \end{tabular} \end{table} \item In the second experiment, we will show how to turn on the blue LED on for two seconds and then to turn it off. When the file required for this experiment is invoked, one gets the GUI as in \figref{fig:led-blue-delay}. In the caption of this figure, one can see where to locate the file. \begin{figure} \centering \includegraphics[width=\smfig]{\LocLEDfig/led-blue-delay.png} \caption[Turning the blue LED on through Xcos for two seconds]{Turning the blue LED on through Xcos for two seconds. This is what one sees when \LocLEDscibrief{led-blue-delay.zcos} is invoked.} \label{fig:led-blue-delay} \end{figure} The values for each block required in this program are tabulated in \tabref{tab:led-blue-delay}. All other parameters are to be left unchanged. \begin{table} \centering \caption{Parameters to light the blue LED in Xcos for two seconds} \label{tab:led-blue-delay} \begin{tabular}{llc} \hline Name of the block & Parameter name & Value \\ \hline ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\ & Serial com port number & 2\portcmd \\ \hline TIME\_SAMPLE & Duration of acquisition(s) & 10 \\ & Sampling period(s) & 0.1 \\ \hline DIGITAL\_WRITE\_SB & Digital pin & 9 \\ & Arduino card number & 1 \\ \hline STEP\_FUNCTION & Step time & 2 \\ & Initial value & 1 \\ & Final value & 0 \\ \hline \end{tabular} \end{table} \item In the third experiment, we will show how to turn the blue LED and the red LED on for five seconds, turn off the blue LED and three seconds later, turn off the red LED also. When the file required for this experiment is invoked, one gets the GUI as in \figref{fig:led-blue-red}. In the caption of this figure, one can see where to locate the file. \begin{figure} \centering \includegraphics[width=\smfig]{\LocLEDfig/led-blue-red.png} \caption[Turning the blue and red LEDs on through Xcos and turning them off one by one]{Turning the blue and red LEDs on through Xcos and turning them off one by one. This is what one sees when \LocLEDscibrief{led-blue-red.zcos} is invoked.} \label{fig:led-blue-red} \end{figure} The values for each block required in this program are tabulated in \tabref{tab:led-blue-red}. All other parameters are to be left unchanged. \begin{table} \centering \caption{Parameters to turn the blue and red LEDs on and then turn them off one by one} \label{tab:led-blue-red} \begin{tabular}{llc} \hline Name of the block & Parameter name & Value \\ \hline ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\ & Serial com port number & 2\portcmd \\ \hline TIME\_SAMPLE & Duration of acquisition(s) & 10 \\ & Sampling period(s) & 0.1 \\ \hline DIGITAL\_WRITE\_SB 1 & Digital pin & 9 \\ & Arduino card number & 1 \\ \hline STEP\_FUNCTION 1 & Step time & 5 \\ & Initial value & 1 \\ & Final value & 0 \\ \hline DIGITAL\_WRITE\_SB 2 & Digital pin & 11 \\ & Arduino card number & 1 \\ \hline STEP\_FUNCTION 2 & Step time & 8 \\ & Initial value & 1 \\ & Final value & 0 \\ \hline \end{tabular} \end{table} \item We will conclude this section with an experiment to blink the green LED on and off. When the file required for this experiment is invoked, one gets the GUI as in \figref{fig:led-green-blink}. In the caption of this figure, one can see where to locate the file. \begin{figure} \centering \includegraphics[width=\smfig]{\LocLEDfig/led-green-blink.png} \caption[Blinking the green LED every second through Xcos]{Blinking the green LED every second through Xcos. This is what one sees when \LocLEDscibrief{led-green-blink.zcos} is invoked.} \label{fig:led-green-blink} \end{figure} The values for each block required in this program are tabulated in \tabref{tab:led-green-blink}. All other parameters are to be left unchanged. \begin{table} \centering \caption{Parameters to make the green LED blink every second} \label{tab:led-green-blink} \begin{tabular}{llc} \hline Name of the block & Parameter name & Value \\ \hline ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\ & Serial com port number & 2\portcmd \\ \hline TIME\_SAMPLE & Duration of acquisition(s) & 10 \\ & Sampling period(s) & 0.1 \\ \hline DIGITAL\_WRITE\_SB & Digital pin & 10 \\ & Arduino card number & 1 \\ \hline PULSE\_SC & Pulse width(\% of period) & 50 \\ & Period(secs) & 2 \\ & Phase delay(secs) & 0.1 \\ & Amplitude & 1 \\ \hline \end{tabular} \end{table} \end{enumerate} % \section{Control through Xcos} % This experiment implements digital write functionality of Arduino board. % % \begin{figure} % % \centering % % \includegraphics[width=\smfig]{\LocLEDfig/xcos-wri.png} % % \caption{Digital write functionality} % % \label{fig:xcoswri} % % \end{figure} % \begin{figure} % \centering % \includegraphics[width=\smfig]{\LocLEDfig/xcos-led.png} % \caption{Xcos diagram for LED interfacing} % \label{fig:xcosblk} % \end{figure} % \begin{figure} % \centering % \includegraphics[width=\smfig]{\LocLEDfig/xcos-desc.png} % \caption{Xcos blocks} % \label{fig:xcosdesc} % \end{figure} % \section{Experiment: Blink LED for limited number of iterations} % This experiment is about continuous switching on and switching off the LED a fixed number of times. Here we use for loop to carry out limited number of iterations of the code. The structure of for loop is: % \begin{lstlisting} % for variable = start_point:end_point % instructions % end % \end{lstlisting} % Here variable is incremented by 1 in every iteration, till the condition variable=end\_point is met. Thus before each iteration, the above condition is verified. Figure shows the flow-chart of the operation. % \begin{figure} % \centering % \includegraphics[width=\smfig]{\LocLEDfig/LEDflowchart.png} % \caption{Flow chart} % \label{fig:ledfc} % \end{figure} \begin{exercise} Carry out the following exercise: \begin{enumerate} \item Change the blink pattern for an array of LEDs \item Change the delays \end{enumerate} \end{exercise} %python code description starts \section{Lighting the LED from Python Scripts} \label{sec:light-py} In this section, we discuss how to carry out the experiments of the previous section from Python. We will list the same four experiments, in the same order. The shield has to be attached to the \arduino\ before carrying out these experiments, as in \pyref{sec:light-ard}. The reader should go through the instructions given in \secref{sec:sci-start} before getting started. \begin{enumerate} \item In the first experiment, we will light up the blue LED on the shield. The code for this is given in Python-code-4.1. It begins with a command of the form \item Import os : This module provides a portable way of using operating system dependent functionality. \item Import sys : This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter. It is always available. \item cwd=os.getcwd(): Get the current working directory \item (setpath,Examples)=os.path.split(cwd) :- This split the current working directory to get and set the Example folder in the PYTHONPATH variable \item sys.path.append(setpath) :- It appends the path to PYTHONPATH environment \item from Arduino.Arduino import Arduino :- All the basic functions are defined in Arduino.py.So, we have to import all the available methods from Arduino library.This command import Arduino class to acceess all the functinalities available in that class. \item from time import sleep :- It import the delay functionality from pyserial package \item class LED\_ON :- Each experiment is defined as class.This experiment is to switch on the blue led.Then we will initialize the parameters and functions. \item def \_\_init\_\_(self,baudrate) :- "\_\_init\_\_" a constructor which initialises parameteres and other functions of the class. \item self.baudrate=baudrate :- Here baudrate is intialized and rest of the 3 functions which will be defined later, are also initialized.\\ self.setup() \\ self.run() \\ self.exit() \\ Next step is to define the 1st method setup \\ \item def setup(self):- This function locates the port to which arduino is connected and also opens the port for serial communication. self.obj\_arduino = Arduino() :- It creates an object of the arduino class through which we can call all the methods available in the base class.Here obj\_arduino is the object created for Arduino class.Then we will call the locateport().\\ self.port = self.obj\_arduino.locateport() :-This method auto-detects to which port arduino is connected and assigns the port no. to the variable to self.port. Once serial port is assigned, then we will call the open\_serial() to open the serial port for communication.This is done in the next step \\ self.obj\_arduino.open\_serial(1, self.port,self.baudrate) :- This opens the serial port and it needs 3 parameters such as : i. 1st arguement:- This is the board no. (1 by default) for every experiment \\ ii.self.port :- This is the port no. to which arduino is connected \\ iii.baudrate :- It sets the baudrate for serial communication \\ Then we will define the 2nd method run() in which we will define pin no. to which components are connected also apply digital or analog inputs to it depending on the digital or analog nature of the component. \item def run(self):- This method is to define the functionality of the experiment \\ self.blue=9 :- pin no. to which led is connected \\ self.obj\_arduino.cmd\_digital\_out(1,self.blue,1) :- As led works on digital input so we will use cmd\_digital\_out() which will switch on/off the blue colour of RGB led . This method needs 3 parameters such as : \\ 1st parameter:- This is the board no. (1 by default) for every experiment. 2nd parameter :- pin no. to which led is connected 3rd parameter :- It applies digital logic i.e. if 1, then switch on led 0, then switch off led \\ Once all the functionalities are defined and the experiments are performed accordingly then we will close the serial port which is done by the exit function. \item def exit(self):- This function closes the serial port \\ self.obj\_arduino.close\_serial() :- this function is called from Arduino class which closes the serial port properly. \item def main():- Here we will create the main method \\ obj\_led=LED\_ON(115200) :- It creates an object of the class with baudrate of 115200. \item if \_\_name\_\_== '\_\_main\_\_':- At last we will check for the main module whether its directly run from the file or being imported from another module \\ main() :- It calls the main module and which in turn calls the object of the class and performs the experiment. \end{enumerate} Python Code 4.2 does the same thing as what Arduino Code 4.2 does. It does two more things than what Python Code 4.1 does: It makes the blue LED light up for two seconds. This is achieved by the command sleep(2) //let the blue LED be on for two seconds The second thing this code does is to turn the blue LED off. This is achieved by the command \begin{lstlisting}[style=nonumbers] cmd_digital_out ( 1 , 9 , 0 ) //turn off blue LED \end{lstlisting} It is easy to see that this code puts a 0 on pin 9. Python Code 4.3 does the same thing as what Arduino Code 4.3 does. It turns blue and red LEDs on for five seconds. After that, it turns off blue first. After 3 seconds, it turns off red also. So, when the program ends, no LED is lit up. Python Code 4.4 does exactly what its counterpart in the Arduino IDE does. It makes the green LED blink five times. %python code description ends %python code description starts %julia code description starts \section{Lighting the LED from Julia Scripts} \label{sec:light-julia} In this section, we discuss how to carry out the experiments of the previous section from Julia. We will list the same four experiments, in the same order. The shield has to be attached to the \arduino\ before carrying out these experiments, as in \secref{sec:light-ard}. The reader should go through the instructions given in \secref{sec:sci-start} before getting started. \begin{enumerate} \item In the first experiment, we will light up the blue LED on the shield. The code for this is given in Julia-code-4.1. It begins with a command of the form \item using SerialPorts: This imports the SerialPorts library to the current workspace \item include("ArduinoTools.jl") : It includes the ArduinoTools.jl to the workspce which has all the functions required to perform experiments \item ser = connectBoard(115200):Function that opens the first serial port among the names returned by the list\_serialports() function, with the specified baud rate. \item pinMode(ser,9,"OUTPUT") : pinMode function set the mode of a digital pin as INPUT or OUTPUT.It has following parametes: \begin{itemize} \item file\_des: file descriptor (SerialPort object) \item pin\_no: pin number \item mode: INPUT or OUTPUT \end{itemize} This function is similar to the pinMode function in Arduino. \item digiWrite(ser,9,1) : Function to send a digital signal (High(1) or Low(0)) to a connected Arduino board. It takes the parameters: \begin{itemize} \item file\_des: file descriptor (SerialPort object) \item pin\_no: pin number \item val: Digital value to be sent to pin, 0 (for LOW/0V) or 1 (for HIGH/5V) \end{itemize} It is similar to the digitalWrite function in Arduino. \item close(ser) : This closes the predefined serial port which is presently opened. \end{enumerate} Julia Code 4.2 does the same thing as what Arduino Code 4.2 does. It does two more things than what Julia Code 4.1 does: It makes the blue LED light up for two seconds. This is achieved by the command sleep(2) //let the blue LED be on for two seconds The second thing this code does is to turn the blue LED off. This is achieved by the command \begin{lstlisting}[style=nonumbers] digiWrite(ser,9,0)//turn off blue LED \end{lstlisting} It is easy to see that this code puts a 0 on pin 9. Julia Code 4.3 does the same thing as what Arduino Code 4.3 does. It turns blue and red LEDs on for five seconds. After that, it turns off blue first. After 3 seconds, it turns off red also. So, when the program ends, no LED is lit up. Julia Code 4.4 does exactly what its counterpart in the Arduino IDE does. It makes the green LED blink five times. %julia code description ends %OpenModelica code description starts \section{Lighting the LED from OpenModelica Scripts} \label{sec:light-OpenModelica} In this section, we discuss how to carry out the experiments of the previous section from Scilab. We will list the same four experiments, in the same order. The shield has to be attached to the \arduino\ before carrying out these experiments, as in \secref{sec:light-ard}. The reader should go through the instructions given in \secref{sec:sci-start} before getting started. \begin{enumerate} \item In the first experiment, we will light up the blue LED on the shield. The code for this is given in OpenModelica-code-4.1. It begins with a command of the form \item import sComm = Arduino.SerialCommunication.Functions: This imports the SerialPorts library to the current workspace \item ok := sComm.open\_serial(1, 0, 115200): Function that opens the first serial port, with the specified baud rate. \item digital\_out := sComm.cmd\_digital\_out(1, 9, 1) : This will turn on the blue led \item sComm.close\_serial(1) : This closes the predefined serial port which is presently opened. \end{enumerate} OpenModelica Code 4.2 does the same thing as what Arduino Code 4.2 does. It does two more things than what OpenMOdelica Code 4.1 does: It makes the blue LED light up for two seconds. This is achieved by the command sComm.delay(2000) //let the blue LED be on for two seconds The second thing this code does is to turn the blue LED off. This is achieved by the command \begin{lstlisting}[style=nonumbers] digital_out := sComm.cmd_digital_out(1, 9, 0)//turn off blue LED \end{lstlisting} It is easy to see that this code puts a 0 on pin 9. OpenModelica Code 4.3 does the same thing as what Arduino Code 4.3 does. It turns blue and red LEDs on for five seconds. After that, it turns off blue first. After 3 seconds, it turns off red also. So, when the program ends, no LED is lit up. OpenModelica Code 4.4 does exactly what its counterpart in the Arduino IDE does. It makes the green LED blink five times. %OpenModelica code description ends \clearpage \section{Arduino Code} \lstset{style=mystyle} \label{sec:led-arduino-code} \addtocontents{ard}{\protect\addvspace{\codclr}} \begin{ardcode} \acaption{Turning on the blue LED}{Turning on the blue LED. Available at \LocLEDardbrief{led-blue/led-blue.ino}.} \label{ard:led-blue} \lstinputlisting{\LocLEDardcode/led-blue/led-blue.ino} \end{ardcode} \begin{ardcode} \acaption{Turning on the blue LED and turning it off after two seconds}{Turning on the blue LED and turning it off after two seconds. Available at \LocLEDardbrief{led-blue-delay/led-blue-delay.ino}.} \label{ard:led-blue-delay} \lstinputlisting{\LocLEDardcode/led-blue-delay/led-blue-delay.ino} \end{ardcode} \begin{ardcode} \acaption{Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{Turning on blue and red LEDs for 5 seconds and then turning them off one by one. Available at \LocLEDardbrief{led-blue-red/led-blue-red.ino}.} \label{ard:led-blue-red} \lstinputlisting{\LocLEDardcode/led-blue-red/led-blue-red.ino} \end{ardcode} \begin{ardcode} \acaption{Blinking the green LED}{Blinking the green LED. Available at \LocLEDardbrief{led-blink/led-blink.ino}.} \label{ard:led-blink} \lstinputlisting{\LocLEDardcode/led-blink/led-blink.ino} \end{ardcode} \section{Scilab Code} \lstset{style=mystyle} \label{sec:led-scilab-code} \addtocontents{cod}{\protect\addvspace{\codclr}} \begin{scicode} \ccaption{Turning on the LED} {Turning on the LED. Available at \LocLEDscibrief{led-blue.sce}.} \label{sci:led-blue} \lstinputlisting{\LocLEDscicode/led-blue.sce} \end{scicode} \begin{scicode} \ccaption{Turning on the blue LED and turning it off after two seconds}{Turning on the blue LED and turning it off after two seconds. Available at \LocLEDscibrief{led-blue-delay.sce}.} \label{sci:led-blue-delay} \lstinputlisting{\LocLEDscicode/led-blue-delay.sce} \end{scicode} \begin{scicode} \ccaption{Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{Turning on blue and red LEDs for 5 seconds and then turning them off one by one. Available at \LocLEDscibrief{led-blue-red.sce}.} \label{sci:led-blue-red} \lstinputlisting{\LocLEDscicode/led-blue-red.sce} \end{scicode} \begin{scicode} \ccaption{Blinking the green LED}{Blinking the green LED. Available at \LocLEDscibrief{led-green-blink.sce}.} \label{sci:led-green-blink} \lstinputlisting{\LocLEDscicode/led-green-blink.sce} \end{scicode} %python code \section{Python Code} \lstset{style=mystyle} \label{sec:led-python-code} \addtocontents{cod}{\protect\addvspace{\codclr}} \begin{pycode} \ccaption{Turning on the LED} {Turning on the LED. Available at \LocLEDpybrief{led-blue.py}.} \label{py:led-blue1} \lstinputlisting{\LocLEDpycode/led-blue.py} \end{pycode} \begin{pycode} \ccaption{Turning on the blue LED and turning it off after two seconds}{Turning on the blue LED and turning it off after two seconds. Available at \LocLEDpybrief{led-blue-delay.py}.} \label{py:led-blue-delay} \lstinputlisting{\LocLEDpycode/led-blue-delay.py} \end{pycode} \begin{pycode} \ccaption{Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{Turning on blue and red LEDs for 5 seconds and then turning them off one by one. Available at \LocLEDpybrief{led-blue-red.py}.} \label{py:led-blue-red} \lstinputlisting{\LocLEDpycode/led-blue-red.py} \end{pycode} \begin{pycode} \ccaption{Blinking the green LED}{Blinking the green LED. Available at \LocLEDscibrief{led-green-blink.py}.} \label{py:led-green-blink} \lstinputlisting{\LocLEDpycode/led-green-blink.py} \end{pycode} %%%%%%%%%end python code %%%%%begin julia code \section{Julia Code} \lstset{style=mystyle} \label{sec:led-julia-code} \addtocontents{cod}{\protect\addvspace{\codclr}} \begin{juliacode} \ccaption{Turning on the LED} {Turning on the LED. Available at \LocLEDjuliabrief{led-blue.jl}.} \label{julia:led-blue} \lstinputlisting{\LocLEDjuliacode/led-blue.jl} \end{juliacode} \begin{juliacode} \ccaption{Turning on the blue LED and turning it off after two seconds}{Turning on the blue LED and turning it off after two seconds. Available at \LocLEDjuliabrief{led-blue-delay.jl}.} \label{julia:led-blue-delay} \lstinputlisting{\LocLEDjuliacode/led-blue-delay.jl} \end{juliacode} \begin{juliacode} \ccaption{Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{Turning on bluemond red LEDs for 5 seconds and then turning them off one by one. Available at \LocLEDjuliabrief{led-blue-red.jl}.} \label{juila:led-bmoe-red} \lstinputlisting{\LocLEDjuliacode/led-blue-red.jl} \end{juliacode} \begin{juliacode} \ccaption{Blinking the green LED}{Blinking the green LED. Available at \LocLEDjuliabrief{led-green-blink.jl}.} \label{julia:lemogreen-blink} \lstinputlisting{\LocLEDjuliacode/led-green-blink.jl} \end{juliacode} %%%%%end julia %%%%%begin OpenModelica code \section{OpenModelica Code} \lstset{style=mystyle} \label{sec:led-OpenModelica-code} \addtocontents{cod}{\protect\addvspace{\codclr}} \begin{OpenModelicacode} \ccaption{Turning on the LED} {Turning on the LED. Available at \LocLEDOpenModelicabrief{led-blue.mo}.} \label{OpenModelica:led-blue} \lstinputlisting{\LocLEDOpenModelicacode/led-blue.mo} \end{OpenModelicacode} \begin{OpenModelicacode} \ccaption{Turning on the blue LED and turning it off after two seconds}{Turning on the blue LED and turning it off after two seconds. Available at \LocLEDOpenModelicabrief{led-blue-delay.mo}.} \label{OpenModelica:led-blue-delay} \lstinputlisting{\LocLEDOpenModelicacode/led-blue-delay.mo} \end{OpenModelicacode} \begin{OpenModelicacode} \ccaption{Turning on blue and red LEDs for 5 seconds and then turning them off one by one}{Turning on blue and red LEDs for 5 seconds and then turning them off one by one. Available at \LocLEDOpenModelicabrief{led-blue-red.mo}.} \label{OpenModelica:led-blue-red} \lstinputlisting{\LocLEDOpenModelicacode/led-blue-red.mo} \end{OpenModelicacode} \begin{OpenModelicacode} \ccaption{Blinking the green LED}{Blinking the green LED. Available at \LocLEDOpenModelicabrief{led-green-blink.mo}.} \label{OpenModelica:led-green-blink} \lstinputlisting{\LocLEDOpenModelicacode/led-green-blink.mo} \end{OpenModelicacode} %%%%%end OpenModelicamo \ No newline at end of file
diff --git a/scilab-arduino/user-code/led/python/4.2LED.py b/scilab-arduino/user-code/led/python/4.2LED.py
new file mode 100644
index 0000000..8129411
--- /dev/null
+++ b/scilab-arduino/user-code/led/python/4.2LED.py
@@ -0,0 +1,37 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LED_ON_OFF:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino = Arduino()
+ self.port = self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1, self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.obj_arduino.cmd_digital_out(1,self.blue,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.blue,0)
+ sleep(2)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_led=LED_ON_OFF(115200)
+
+if __name__== '__main__':
+ main()
diff --git a/scilab-arduino/user-code/led/python/Arduino/Arduino.py b/scilab-arduino/user-code/led/python/Arduino/Arduino.py
new file mode 100644
index 0000000..eb27562
--- /dev/null
+++ b/scilab-arduino/user-code/led/python/Arduino/Arduino.py
@@ -0,0 +1,327 @@
+
+import sys
+import serial
+from serial import Serial
+from serial.tools.list_ports import comports
+from time import sleep
+
+p1=0 #Initial Position of servo motor
+p2=0 #Final Position of servo motor
+
+a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+class Initialization:
+ def __init__(self):
+ pass
+
+ def locateport(self):
+ if sys.platform.startswith('win'):
+ port =''
+ ports = list(comports())
+ for i in ports:
+ for j in i:
+ if 'Arduino' in j:
+ port = i[0]
+ elif sys.platform.startswith('linux'):
+ b=[]
+ port =''
+ ports = list(comports())
+ for i in range(len(ports)):
+ for x in range(7):
+ portname="/dev/ttyACM"+str(x)
+ if ports[i][0]==portname:
+ b.append(ports[i][0])
+ port=b[0]
+ return port
+
+ def open_serial(self,ard_no, PortNo,baudrate):
+ #global ser
+ if PortNo =='':
+ sys.exit("aa..error..! arduino not found")
+ else:
+ self.ser = Serial(PortNo,baudrate)
+ sleep(2)
+ self.checkfirmware()
+
+ def close_serial(self):
+ #global ser
+ self.ser.close()
+
+ def checkfirmware(self):
+ print ("Check Firm Ware")
+ #global ser
+ self.ser.write(bytes([118])) #chr(118)
+ try:
+ x=self.ser.read()
+ #print(x)
+ #x=self.ser.read()
+ #print(x)
+ if x==b'o':
+ try:
+ x=self.ser.read()
+ except:
+ sys.exit("aa..! error..! it seems correct firmware not loaded")
+ else:
+ sys.exit("aa..! error..! it seems correct firmware not loaded")
+ except:
+ sys.exit("aa..! error..! it seems correct firmware not loaded")
+
+
+class Arduino(Initialization):
+ def __init__(self):
+ print ("Init Arduino")
+ #self.baudrate=0
+ #self.ard_no=1
+ #self.PortNo=0
+ #self.pin=0
+ #self.val=0
+ #self.mode=0
+ #self.mno=0
+ #self.pin1=0
+ #self.pin2=0
+ #self.servo=0
+
+
+
+ def cmd_digital_out(self,ard_no,pin,val):
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="D"+"a"+a[pin]+"1"
+ self.ser.write(cmd.encode('utf-8'))
+ cmd=""
+ cmd="D"+"w"+a[pin]+str(val)
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_digital_in(self,ard_no,pin):
+ b=[]
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="D"+"a"+a[pin]+"0"
+ self.ser.write(cmd.encode('utf-8'))
+ cmd=""
+ cmd="D"+"r"+a[pin]
+ self.ser.write(cmd.encode('utf-8'))
+ a=self.ser.read()
+ return(a)
+
+ def cmd_analog_in(self,ard_no,pin):
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="A"+a[pin]
+ self.ser.write(cmd.encode('utf-8'))
+ analog_times=[];
+ b1=ord(self.ser.read(1))
+ b2=ord(self.ser.read(1))
+ a=b1+b2*256
+ #a=ser.read()
+ return(a)
+ #return(int((1023-0)*int(ord(a))/(255-0)))
+
+
+ def cmd_analog_out(self,ard_no, pin, val):
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd = "W" + a[pin] + chr(val)
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_dcmotor_setup(self,ard_no,mode,mno,pin1,pin2):
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="C"+a[mno]+a[pin1]+a[pin2]+a[mode]
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_dcmotor_run(self,ard_no,mno,val):
+ cmd=""
+ if(val <0):
+ dirc=0
+ else:
+ dirc=1
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="M"+a[mno]+a[dirc]+chr(abs(val))
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_dcmotor_release(self,ard_no,mno):
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="M"+a[mno]+"r"
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_servo_attach(self,ard_no,servo): #1->pin=9 #2->pin=10
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="S"+"a"+a[servo]
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_servo_detach(self,ard_no,servo): #1->pin=9 #2->pin=10
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="S"+"d"+a[servo]
+ self.ser.write(cmd.encode('utf-8'))
+
+ def cmd_servo_move(self,ard_no,servo,angle): #1->pin=9 #2->pin=10
+ cmd=""
+ a=["0","1","2","3","4","5","6","7","8","9",":",";","<","=",">","A","B","C","D"]
+ cmd="S"+"w"+a[servo]+chr(angle)
+ self.ser.write(cmd.encode('utf-8'))
+
+
+
+
+#For PISO shift register
+ def cmd_shift_in(self,dataPin,clockPin,ledPin,clockLed):
+ value=[0 for _ in range(0,8)]
+ #print value
+ value2=[value for _ in range(0,8)]
+ #print value2
+ for i in range(0,8):
+ so= self.cmd_digital_in(1,dataPin) #Reads serial out of IC
+ print (so)
+ if so=='1':
+ self.cmd_digital_out(1,ledPin,1)
+ sleep(0.1)
+ else:
+ self.cmd_digital_out(1,ledPin,0)
+ sleep(0.1)
+ value2[i][i]=int(so)
+ #performs value=value|value2[i]
+ for j in range(0,8):
+ if value[j]==1 or value2[i][j]==1:
+ value[j]=1
+ else:
+ value[j]=0
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockLed,1)
+ sleep(0.5)
+ self.cmd_digital_out(1,clockPin,0)
+ self.cmd_digital_out(1,clockLed,0) #clockLED: Led indicating clock pulses
+ sleep(0.4)
+ #after every clock pulse, 1 right shift occurs for every bit
+ #thus after 8 clock pulses, the entire parallel input is shifted out,
+ #and obtained at the dataPin, one bit per clock pulse
+ #Thus we get the bit by bit serial output of the Parallel Load
+ print (value)
+
+
+
+
+#For PISO shift register
+#shift in for n bits
+ def cmd_shift_in_n(self,dataPin,clockPin,ledPin,clockLed,numBits):
+ n=numBits #no. of bits
+ value=[0 for _ in range(0,n)] #a list of n elements, all 0s, to store the n bits of the inputs together
+ value2=[value for _ in range(0,n)] #a list of lists, analogous to nxn array of all 0s
+ for i in range(0,n): #n iterations since n bit input is given
+ so=self.cmd_digital_in(1,dataPin)
+ if so=='1':
+ self.cmd_digital_out(1,ledPin,1)
+ sleep(0.1)
+ else:
+ self.cmd_digital_out(1,ledPin,0)
+ sleep(0.1)
+ value2[i][i]=int(so)
+ #performs value=value|value2[i]
+ for j in range(0,n):
+ if value[j]==1 or value2[i][j]==1:
+ value[j]=1
+ else:
+ value[j]=0
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockLed,1)
+ sleep(0.5)
+ self.cmd_digital_out(1,clockPin,0)
+ self.cmd_digital_out(1,clockLed,0) #clockLED: Led indicating clock pulses
+ sleep(0.4)
+ print (value)
+
+
+
+
+
+#For SIPO shift register
+ def cmd_shift_out(self,dataPin,clockPin,bitOrder,val):
+ val2=0
+ mat=[]
+ if bitOrder=='MSBFIRST':
+ #to create identity matrix
+ for i in range(0,8):
+ matsub=[0 for _ in range(0,8)]
+ matsub[i]=1
+ mat.append(matsub)
+ else:
+ #to create horizontally flipped identity matrix
+ for i in range(0,8):
+ matsub=[0 for _ in range(0,8)]
+ matsub[7-i]=1
+ mat.append(matsub)
+ for i in range(0,8):
+ #performs & operation on corresponding elements of list
+ for x,y in zip(val,mat[i]):
+ if x==1 and y==1:
+ val2=1
+ break
+ else:
+ val2=0
+ self.cmd_digital_out(1,dataPin,val2)
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockPin,0)
+
+
+
+#For SIPO shift register
+ def cmd_shift_out_(self,dataPin,clockPin,inPin):
+ print ("Give serial input: ")
+ sleep(0.25)
+ self.cmd_digital_out(1,dataPin,self.cmd_digital_in(1,inPin)) #if inPin is HIGH,
+ #i.e. if input is given, write HIGH on Serial In Pin of IC
+ print("Serial input stored: ")
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockPin,0) #One clock pulse
+ sleep(0.15)
+
+
+
+
+
+#For SIPO shift register
+#shift out for n bits
+ def cmd_shift_out_n(self,dataPin,clockPin,bitOrder,val,numBits):
+ n=int(numBits) #number of bits
+ if (n%8)==0:
+ p=n
+ else:
+ p=(8*(n/8))+8
+ val1=[0 for _ in range(0,n)] #output matrix.
+ #If all elements of the matrix are 0,
+ #output pinstate will be 0 (i.e LOW).
+ #If 1 or more elements of the matrix is 1,
+ #output pinstate will be 1 (i.e HIGH)
+ val2=0
+ mat=[]
+ if bitOrder=='MSBFIRST':
+ for i in range(0,n):
+ matsub=[0 for _ in range(0,n)]
+ matsub[i]=1
+ mat.append(matsub)
+ else:
+ for i in range(0,n):
+ matsub=[0 for _ in range(0,n)]
+ matsub[(n-1)-i]=1
+ mat.append(matsub)
+ for j in range(0,(p-n)): #do nothing for the first (p-n) clock pulses
+ self.cmd_digital_out(1,dataPin,0)
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockPin,0)
+ for i in range(0,n): #shift for last n clock pulses
+ #to perform val & mat[i]
+ for x,y in zip(val,mat[i]):
+ if x==1 and y==1:
+ val2=1
+ break
+ else:
+ val2=0
+ print (val2,)
+ self.cmd_digital_out(1,dataPin,val2)
+ self.cmd_digital_out(1,clockPin,1)
+ self.cmd_digital_out(1,clockPin,0)
+
+
+
+
diff --git a/scilab-arduino/user-code/led/python/Arduino/__init__.py b/scilab-arduino/user-code/led/python/Arduino/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/scilab-arduino/user-code/led/python/Arduino/__init__.py
diff --git a/scilab-arduino/user-code/led/python/Arduino/__pycache__/Arduino.cpython-38.pyc b/scilab-arduino/user-code/led/python/Arduino/__pycache__/Arduino.cpython-38.pyc
new file mode 100644
index 0000000..197fecd
--- /dev/null
+++ b/scilab-arduino/user-code/led/python/Arduino/__pycache__/Arduino.cpython-38.pyc
Binary files differ
diff --git a/scilab-arduino/user-code/led/python/Arduino/__pycache__/__init__.cpython-38.pyc b/scilab-arduino/user-code/led/python/Arduino/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000..5d53a5d
--- /dev/null
+++ b/scilab-arduino/user-code/led/python/Arduino/__pycache__/__init__.cpython-38.pyc
Binary files differ
diff --git a/scilab-arduino/user-code/led/python/led-blue-delay.py b/scilab-arduino/user-code/led/python/led-blue-delay.py
new file mode 100644
index 0000000..8129411
--- /dev/null
+++ b/scilab-arduino/user-code/led/python/led-blue-delay.py
@@ -0,0 +1,37 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LED_ON_OFF:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino = Arduino()
+ self.port = self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1, self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.obj_arduino.cmd_digital_out(1,self.blue,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.blue,0)
+ sleep(2)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_led=LED_ON_OFF(115200)
+
+if __name__== '__main__':
+ main()
diff --git a/scilab-arduino/user-code/led/python/led-blue-red.py b/scilab-arduino/user-code/led/python/led-blue-red.py
new file mode 100644
index 0000000..e611f46
--- /dev/null
+++ b/scilab-arduino/user-code/led/python/led-blue-red.py
@@ -0,0 +1,45 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LED_ON_OFF_MULTICOLOR:
+
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.green=10
+ self.red=11
+ self.obj_arduino.cmd_digital_out(1,self.blue,self.baudrate)
+ self.obj_arduino.cmd_digital_out(1,self.red,self.baudrate)
+ sleep(5)
+ self.obj_arduino.cmd_digital_out(1,self.blue,0)
+ sleep(3)
+ self.obj_arduino.cmd_digital_out(1,self.red,0)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_led=LED_ON_OFF_MULTICOLOR(115200);
+
+if __name__=='__main__':
+ main()
+
+
diff --git a/scilab-arduino/user-code/led/python/led-blue.py b/scilab-arduino/user-code/led/python/led-blue.py
new file mode 100644
index 0000000..cd8c009
--- /dev/null
+++ b/scilab-arduino/user-code/led/python/led-blue.py
@@ -0,0 +1,34 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LED_ON:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino = Arduino()
+ self.port = self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1, self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.obj_arduino.cmd_digital_out(1,self.blue,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_led=LED_ON(115200)
+
+if __name__== '__main__':
+ main()
diff --git a/scilab-arduino/user-code/led/python/led-green-blink.py b/scilab-arduino/user-code/led/python/led-green-blink.py
new file mode 100644
index 0000000..23ddf62
--- /dev/null
+++ b/scilab-arduino/user-code/led/python/led-green-blink.py
@@ -0,0 +1,42 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class LED_ON_OFF_LOOP:
+
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.green=10
+ self.red=11
+ for i in range(5):
+ self.obj_arduino.cmd_digital_out(1,self.green,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.green,0)
+ sleep(2)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_led=LED_ON_OFF_LOOP(115200)
+
+if __name__=='__main__':
+ main()
+
diff --git a/scilab-arduino/user-code/led/scilab/led-blink.sce b/scilab-arduino/user-code/led/scilab/led-blink.sce
new file mode 100644
index 0000000..d9220a1
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led-blink.sce
@@ -0,0 +1,15 @@
+// Connect to Arduino at port 0 with baudrate of 115200
+ok = open_serial(1,0,115200)
+// This will turn on and turn off the user LED for every second for 10 times
+tic();
+for cnt = 1:10
+ cmd_digital_out(1,13,0)
+ sleep(500)
+ cmd_digital_out(1,13,1)
+ sleep(500)
+end
+t = toc();
+disp(t);
+
+// To close the connection safely
+p=close_serial(1)
diff --git a/scilab-arduino/user-code/led/scilab/led-blink.zcos b/scilab-arduino/user-code/led/scilab/led-blink.zcos
new file mode 100644
index 0000000..3de6bc1
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led-blink.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/led/scilab/led-blue-delay.sce b/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
new file mode 100644
index 0000000..45ac1cb
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led-blue-delay.sce
@@ -0,0 +1,6 @@
+ok = open_serial(1,2,115200);
+if ok~=0, error('Check the serial port and try again'); end
+cmd_digital_out(1,9,1) // turn blue LED on
+sleep(2000) // let the blue LED be on for two seconds
+cmd_digital_out(1,9,0) // turn off blue LED
+close_serial(1) // close the connection safely
diff --git a/scilab-arduino/user-code/led/scilab/led-blue-delay.zcos b/scilab-arduino/user-code/led/scilab/led-blue-delay.zcos
new file mode 100644
index 0000000..ee7f0ac
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led-blue-delay.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/led/scilab/led-blue-red.sce b/scilab-arduino/user-code/led/scilab/led-blue-red.sce
new file mode 100644
index 0000000..7795e06
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led-blue-red.sce
@@ -0,0 +1,9 @@
+ok=open_serial(1,2,115200); // At port 2 with baudrate of 115200
+if ok ~= 0 error('Check the serial port and try again'); end
+cmd_digital_out(1,9,1); // This turns on the blue Led
+cmd_digital_out(1,11,1); // This turns on the red Led
+sleep(5000); // Delay for 5 seconds
+cmd_digital_out(1,9,0); // This turns off the blue Led
+sleep(3000); // Delay for 3 seconds
+cmd_digital_out(1,11,0); // This turns off the red Led
+close_serial(1); // To close the connection safely
diff --git a/scilab-arduino/user-code/led/scilab/led-blue-red.zcos b/scilab-arduino/user-code/led/scilab/led-blue-red.zcos
new file mode 100644
index 0000000..5bf0f41
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led-blue-red.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/led/scilab/led-blue.sce b/scilab-arduino/user-code/led/scilab/led-blue.sce
new file mode 100644
index 0000000..122d685
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led-blue.sce
@@ -0,0 +1,4 @@
+ok = open_serial(1,0,115200); // At port 2 with baudrate of 115200
+if ok~=0, error('Check the serial port and try again');
+cmd_digital_out(1,9,1) // This will turn the blue LED
+close_serial(1) // To close the connection safely
diff --git a/scilab-arduino/user-code/led/scilab/led-blue.zcos b/scilab-arduino/user-code/led/scilab/led-blue.zcos
new file mode 100644
index 0000000..8bd1934
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led-blue.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/led/scilab/led-green-blink.sce b/scilab-arduino/user-code/led/scilab/led-green-blink.sce
new file mode 100644
index 0000000..55c59a5
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led-green-blink.sce
@@ -0,0 +1,9 @@
+ok= open_serial(1,0,115200); // At port 2 with baudrate of 115200
+if ok ~= 0 error('Check the serial port and try again'); end
+for i=1:5 // Running for loop, 5 times
+ cmd_digital_out(1,10,1); // This turns on the green Led
+ sleep(1000); // Delay for 1 second
+ cmd_digital_out(1,10,0); // This turns off the green Led
+ sleep(1000); // Delay for 1 second
+end
+close_serial(1); // To close the connection safely
diff --git a/scilab-arduino/user-code/led/scilab/led-green-blink.zcos b/scilab-arduino/user-code/led/scilab/led-green-blink.zcos
new file mode 100644
index 0000000..c0ce318
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led-green-blink.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/led/scilab/led2.zcos b/scilab-arduino/user-code/led/scilab/led2.zcos
new file mode 100644
index 0000000..d619b8a
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/led2.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/led/scilab/manual.docx b/scilab-arduino/user-code/led/scilab/manual.docx
new file mode 100644
index 0000000..59c44a8
--- /dev/null
+++ b/scilab-arduino/user-code/led/scilab/manual.docx
Binary files differ
diff --git a/scilab-arduino/user-code/led/texput.log b/scilab-arduino/user-code/led/texput.log
new file mode 100644
index 0000000..3ba8e6c
--- /dev/null
+++ b/scilab-arduino/user-code/led/texput.log
@@ -0,0 +1,21 @@
+This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010) (format=pdflatex 2011.1.23) 16 NOV 2015 18:43
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**scilab-arduino
+
+! Emergency stop.
+<*> scilab-arduino
+
+End of file on the terminal!
+
+
+Here is how much of TeX's memory you used:
+ 3 strings out of 493747
+ 108 string characters out of 3143546
+ 49070 words of memory out of 3000000
+ 3397 multiletter control sequences out of 15000+200000
+ 3640 words of font info for 14 fonts, out of 3000000 for 9000
+ 714 hyphenation exceptions out of 8191
+ 0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,50000s
+! ==> Fatal error occurred, no output PDF file produced!
diff --git a/scilab-arduino/user-code/modbus/OpenModelica/readCurrent.mo b/scilab-arduino/user-code/modbus/OpenModelica/readCurrent.mo
new file mode 100644
index 0000000..7e6bcf7
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/OpenModelica/readCurrent.mo
@@ -0,0 +1,14 @@
+function read_current
+ extends Modelica.Icons.Function;
+
+ external read_voltage() annotation(Library = "Modbus");
+ annotation(Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_current</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+end read_current; \ No newline at end of file
diff --git a/scilab-arduino/user-code/modbus/OpenModelica/readPower.mo b/scilab-arduino/user-code/modbus/OpenModelica/readPower.mo
new file mode 100644
index 0000000..63161b6
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/OpenModelica/readPower.mo
@@ -0,0 +1,14 @@
+function read_active_power
+ extends Modelica.Icons.Function;
+
+ external read_active_power() annotation(Library = "Modbus");
+ annotation(Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_active_power</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+end read_active_power; \ No newline at end of file
diff --git a/scilab-arduino/user-code/modbus/OpenModelica/readVoltage.mo b/scilab-arduino/user-code/modbus/OpenModelica/readVoltage.mo
new file mode 100644
index 0000000..d6fd364
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/OpenModelica/readVoltage.mo
@@ -0,0 +1,14 @@
+function read_voltage
+ extends Modelica.Icons.Function;
+
+ external read_voltage() annotation(Library = "Modbus");
+ annotation(Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_voltage</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+end read_voltage; \ No newline at end of file
diff --git a/scilab-arduino/user-code/modbus/OpenModelica/read_current.mo b/scilab-arduino/user-code/modbus/OpenModelica/read_current.mo
new file mode 100644
index 0000000..7e6bcf7
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/OpenModelica/read_current.mo
@@ -0,0 +1,14 @@
+function read_current
+ extends Modelica.Icons.Function;
+
+ external read_voltage() annotation(Library = "Modbus");
+ annotation(Documentation(info = "<html>
+ <h4>Syntax</h4>
+ <blockquote><pre>
+ Arduino.SerialCommunication.Examples.modbus.<b>read_current</b>();
+ </pre></blockquote>
+ <h4>Description</h4>
+ <p>
+ </p>
+ </html>"));
+end read_current; \ No newline at end of file
diff --git a/scilab-arduino/user-code/modbus/arduino/send_packet.ino b/scilab-arduino/user-code/modbus/arduino/send_packet.ino
new file mode 100644
index 0000000..57fb79c
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/arduino/send_packet.ino
@@ -0,0 +1,214 @@
+/*........................crc function.......................*/
+
+static unsigned char auchCRCHi[] = {0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
+0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
+0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,
+0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
+0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
+0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
+0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
+0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
+0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
+0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
+0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
+0x40
+} ;
+
+static char auchCRCLo[] = {
+0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,
+0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
+0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,
+0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
+0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,
+0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
+0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,
+0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
+0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,
+0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
+0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,
+0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
+0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,
+0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
+0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,
+0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
+0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,
+0x40
+} ;
+
+unsigned char crcval[8];
+unsigned char crcval1[9];
+unsigned char crcval2[6];
+
+//crc function begins
+unsigned short CRC16 ( unsigned char *puchMsg, unsigned short usDataLen, int hl)
+{
+unsigned char uchCRCHi = 0xff;
+unsigned char uchCRCLo = 0xff;
+unsigned int uIndex;
+while(usDataLen--)
+{
+ uIndex = uchCRCLo ^ *puchMsg++;
+ uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex];
+ uchCRCHi = auchCRCLo[uIndex];
+
+}
+if (hl==1)
+return (uchCRCHi);//<<8 ;
+else
+return(uchCRCLo);
+}
+
+/*..................crc ends....................*/
+
+/*-----( Import needed libraries )-----*/
+#include <SoftwareSerial.h>
+/*-----( Declare Constants and Pin Numbers )-----*/
+#define SSerialRX 10 //Serial Receive pin
+#define SSerialTX 11 //Serial Transmit pin
+
+#define SSerialTxControl 3 //RS485 Direction control
+
+#define RS485Transmit HIGH
+#define RS485Receive LOW
+
+#define Pin13LED 13
+
+/*-----( Declare objects )-----*/
+SoftwareSerial RS485Serial(SSerialRX, SSerialTX); // RX, TX
+
+/*-----( Declare Variables )-----*/
+int i,j,t,t1,t2;
+uint8_t byteReceived[8];
+uint8_t byteSend[8];
+//uint8_t byteReceivedold;
+uint8_t byteReceived1=5;
+unsigned short CRC16 ( unsigned char * puchMsg, unsigned short usDataLen, int hl );
+uint8_t res[2];
+
+uint8_t byteReceived1_a[11];
+uint8_t byteReceived1_d[7];
+
+
+void setup() /****** SETUP: RUNS ONCE ******/
+{
+ i=0;
+ t=0;
+ t1=0;
+ t2=0;
+ // Start the built-in serial port, probably to Serial Monitor
+ Serial.begin(9600);
+
+ pinMode(Pin13LED, OUTPUT);
+ pinMode(SSerialTxControl, OUTPUT);
+
+ digitalWrite(SSerialTxControl, RS485Receive); // Init Transceiver
+
+ // Start the software serial port, to another device
+ RS485Serial.begin(9600); // set the data rate
+
+}//--(end setup )---
+
+
+void loop() /****** LOOP: RUNS CONSTANTLY ******/
+{
+ digitalWrite(Pin13LED, HIGH); // Show activity
+ while(Serial.available()>0)
+ {
+ byteReceived[i++]= Serial.read();
+ //byteReceived=Serial.readBytesUntil('1',byteReceivedold,7);
+ if(i==8)
+ {
+ for(j=0;j<8;++j)
+ crcval[j]=byteReceived[j];
+ res[0] = CRC16 (crcval,8,0);
+ res[1]= CRC16 (crcval,8,1);
+ if (res[0]==0 && res[1]==0)
+ {
+ digitalWrite(SSerialTxControl, RS485Transmit); // Enable RS485 Transmit
+
+ RS485Serial.write(byteReceived[0]); // Send byte to Remote Arduino
+ RS485Serial.write(byteReceived[1]);
+ RS485Serial.write(byteReceived[2]);
+ RS485Serial.write(byteReceived[3]);
+ RS485Serial.write(byteReceived[4]);
+ RS485Serial.write(byteReceived[5]);
+ RS485Serial.write(byteReceived[6]);
+ RS485Serial.write(byteReceived[7]);
+ i=0;
+ }
+ }
+
+ digitalWrite(Pin13LED, LOW); // Show activity
+ //delay(10);
+ digitalWrite(SSerialTxControl, RS485Receive); // Disable RS485 Transmit
+ }
+
+
+ if(byteReceived[1]==3)
+ {
+ if (RS485Serial.available()) //Look for data from other Arduino
+ {
+ byteReceived1_a[t1++] = RS485Serial.read();
+
+ if(t1==11)
+ {
+ for(j=1;j<10;j++)
+ crcval1[j-1]=byteReceived1_a[j];
+ res[0]= CRC16 (crcval1,9,0);
+ res[1]= CRC16 (crcval1,9,1);
+ if (res[0]==0 && res[1]==0)
+ {
+ Serial.write(byteReceived1_a[0]);
+ Serial.write(byteReceived1_a[1]);
+ Serial.write(byteReceived1_a[2]);
+ Serial.write(byteReceived1_a[3]);
+ Serial.write(byteReceived1_a[4]);
+ Serial.write(byteReceived1_a[5]);
+ Serial.write(byteReceived1_a[6]);
+ Serial.write(byteReceived1_a[7]);
+ Serial.write(byteReceived1_a[8]);
+ Serial.write(byteReceived1_a[9]);
+ Serial.write(byteReceived1_a[10]);
+ t1=0;
+ }
+ }
+ }
+ }
+
+ else if(byteReceived[1]==1)
+ {
+ if (RS485Serial.available()) //Look for data from other Arduino
+ {
+ byteReceived1_d[t2++] = RS485Serial.read(); // Read received byte
+ if(t2==7)
+ {
+ for(j=0;j<6;++j)
+ crcval2[j]=byteReceived1_d[j];
+ res[0] = CRC16 (crcval2,6,0);
+ res[1]= CRC16 (crcval2,6,1);
+ if (res[0]==0 && res[1]==0)
+ {
+ Serial.write(byteReceived1_d[0]);
+ Serial.write(byteReceived1_d[1]);
+ Serial.write(byteReceived1_d[2]);
+ Serial.write(byteReceived1_d[3]);
+ Serial.write(byteReceived1_d[4]);
+ Serial.write(byteReceived1_d[5]);
+ Serial.write(byteReceived1_d[6]);
+ t2=0;
+ }
+ digitalWrite(Pin13LED, LOW); // Show activity
+ }
+ }
+ }
+
+
+}//--(end main loop )---
+
+//*********( THE END )***********
diff --git a/scilab-arduino/user-code/modbus/auto/modbus.el b/scilab-arduino/user-code/modbus/auto/modbus.el
new file mode 100644
index 0000000..17c2e86
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/auto/modbus.el
@@ -0,0 +1,35 @@
+(TeX-add-style-hook "modbus"
+ (lambda ()
+ (LaTeX-add-labels
+ "fig:mod-block"
+ "fig:mod-master-slave"
+ "fig:rs-485"
+ "tab:request-packet"
+ "tab:response-packet"
+ "tab:ieee-decimal"
+ "tab:single-precision"
+ "fig:full-set-up"
+ "fig:block-diagram"
+ "fig:modbus-firmware"
+ "fig:flow-chart"
+ "fig:current-console"
+ "fig:current-meter"
+ "fig:voltage-console"
+ "fig:voltage-meter"
+ "fig:power-console"
+ "fig:power-meter"
+ "fig:mod-read"
+ "tab:mod-xcos-read"
+ "sec:firmware-modbus"
+ "ard:firmware-modbus"
+ "sec:modbus-scilab-code"
+ "sci:current-modbus"
+ "sci:voltage-modbus"
+ "sci:modbus-power")
+ (TeX-add-symbols
+ '("LocMODardbrief" 1)
+ '("LocMODscibrief" 1)
+ "LocMODfig"
+ "LocMODscicode"
+ "LocMODardcode")))
+
diff --git a/scilab-arduino/user-code/modbus/figures/Full-Set-Up.png b/scilab-arduino/user-code/modbus/figures/Full-Set-Up.png
new file mode 100644
index 0000000..91e039f
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/Full-Set-Up.png
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/active-power-output-setup.jpg b/scilab-arduino/user-code/modbus/figures/active-power-output-setup.jpg
new file mode 100644
index 0000000..7298918
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/active-power-output-setup.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/active-power-output.png b/scilab-arduino/user-code/modbus/figures/active-power-output.png
new file mode 100644
index 0000000..79b306a
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/active-power-output.png
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/arduino_code_flowchart.png b/scilab-arduino/user-code/modbus/figures/arduino_code_flowchart.png
new file mode 100644
index 0000000..8b2d682
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/arduino_code_flowchart.png
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/block-diagram.PNG b/scilab-arduino/user-code/modbus/figures/block-diagram.PNG
new file mode 100644
index 0000000..aaf7d83
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/block-diagram.PNG
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/current-output-setup.jpg b/scilab-arduino/user-code/modbus/figures/current-output-setup.jpg
new file mode 100644
index 0000000..3d33c0c
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/current-output-setup.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/current-output.png b/scilab-arduino/user-code/modbus/figures/current-output.png
new file mode 100644
index 0000000..63181d7
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/current-output.png
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/fig1.png b/scilab-arduino/user-code/modbus/figures/fig1.png
new file mode 100644
index 0000000..2b96288
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/fig1.png
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/fig2.png b/scilab-arduino/user-code/modbus/figures/fig2.png
new file mode 100644
index 0000000..8192a24
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/fig2.png
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/fig3.png b/scilab-arduino/user-code/modbus/figures/fig3.png
new file mode 100644
index 0000000..908453c
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/fig3.png
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/flowchart.png b/scilab-arduino/user-code/modbus/figures/flowchart.png
new file mode 100644
index 0000000..f9b7cad
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/flowchart.png
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/read_value_xcos.png b/scilab-arduino/user-code/modbus/figures/read_value_xcos.png
new file mode 100644
index 0000000..c35c3c7
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/read_value_xcos.png
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/voltage-output-setup.jpg b/scilab-arduino/user-code/modbus/figures/voltage-output-setup.jpg
new file mode 100644
index 0000000..368f2a5
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/voltage-output-setup.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/figures/voltage-output.png b/scilab-arduino/user-code/modbus/figures/voltage-output.png
new file mode 100644
index 0000000..66dd6c1
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/figures/voltage-output.png
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/julia/readCurrent.jl b/scilab-arduino/user-code/modbus/julia/readCurrent.jl
new file mode 100644
index 0000000..6b30e72
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/julia/readCurrent.jl
@@ -0,0 +1,17 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+function readCurrent()
+ str = string(Char(1))*string(Char(3))*string(Char(15))*string(Char(88))*string(Char(0))*string(Char(2))*string(Char(70))*string(Char(204))
+ ser = connectBoard(9600)
+ write(ser,str)
+ sleep(0.1)
+ s = readavailable(ser)
+ close(ser)
+ s = s[end-7:end]
+ current = hex2num(s)
+ println("The Current in A is:")
+ println(current)
+end
+
+readCurrent()
diff --git a/scilab-arduino/user-code/modbus/julia/readPower.jl b/scilab-arduino/user-code/modbus/julia/readPower.jl
new file mode 100644
index 0000000..4510197
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/julia/readPower.jl
@@ -0,0 +1,17 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+function readPower()
+ str = string(Char(1))*string(Char(3))*string(Char(15))*string(Char(78))*string(Char(0))*string(Char(2))*string(Char(167))*string(Char(8))
+ ser = connectBoard(9600)
+ write(ser,str)
+ sleep(0.1)
+ s = readavailable(ser)
+ close(ser)
+ s = s[end-7:end]
+ power = hex2num(s)
+ println("The Power in W is:")
+ println(power)
+end
+
+readPower()
diff --git a/scilab-arduino/user-code/modbus/julia/readVoltage.jl b/scilab-arduino/user-code/modbus/julia/readVoltage.jl
new file mode 100644
index 0000000..06665ef
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/julia/readVoltage.jl
@@ -0,0 +1,17 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+function readVoltage()
+ str = string(Char(1))*string(Char(3))*string(Char(15))*string(Char(86))*string(Char(0))*string(Char(2))*string(Char(39))*string(Char(15))
+ ser = connectBoard(9600)
+ write(ser,str)
+ sleep(0.1)
+ s = readavailable(ser)
+ close(ser)
+ s = s[end-7:end]
+ voltage = hex2num(s)
+ println("The Voltage in V is:")
+ println(voltage)
+end
+
+readVoltage()
diff --git a/scilab-arduino/user-code/modbus/modbus-old.tex b/scilab-arduino/user-code/modbus/modbus-old.tex
new file mode 100644
index 0000000..56eea79
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/modbus-old.tex
@@ -0,0 +1,369 @@
+\chapter {Implementation of Modbus Protocol}
+\thispagestyle{empty}
+\label{modbus}
+
+\newcommand{\LocMODfig}{\Origin/user-code/modbus/figures}
+\newcommand{\LocMODscicode}{\Origin/user-code/modbus/scilab}
+\newcommand{\LocMODscibrief}{Origin/user-code/modbus/scilab}
+\newcommand{\LocMODardcode}{\Origin/user-code/modbus/arduino}
+\newcommand{\LocMODardbrief}{Origin/user-code/modbus/arduino}
+
+In this chapter we will learn one of the advanced applications that can be built using Scilab-Arduino toolbox. Beginners might want to skip this chapter in the first reading. This experiment enables interfacing Modbus based devices with Scilab-Arduino toolbox. This functionality has wide number of applications in the industrial sector.
+
+\section{Preliminaries}
+Modbus is an open industrial serial communication protocol developed and published by Modicon in 1979. The Modbus protocol provides a means to transmit information over serial lines between several electronic devices in order to control and monitor them. The controlling device requests for reading or writing information and is known as the Modbus Master/Client. On the other hand, the device or devices supplying the information are called Modbus Slaves/Server. All the slaves/servers have a unique id and address.Typically, there is one Master and maximum 247 Slaves.
+
+During the communications on a Modbus network, the protocol determines how the controller gets to know its device address, recognizes the message provided and decides the action to be taken and accordingly extracts data and information contained in the message. The data is sent as a series of zeros and ones, i.e. bits wherein zeros are sent as positive voltages and ones as negative.
+
+Different versions of Modbus Protocol exist on serial lines, namely Modbus RTU and Modbus ASCII and Modbus TCP for ethernet. We are using Modbus RTU protocol, as the energy meter supports the same. In Modbus RTU, the data is coded in binary and requires only one communication byte. This is ideal for use over RS232 or RS485 networks at baud rates between 1200 to 115K.
+
+\begin{figure}
+\centering
+%\subfloat[Block diagram representation of the Protocol]{
+\includegraphics[width=\lgfig]{\LocMODfig/fig1.png}
+\label{fig:mod-block}
+\caption{Block diagram representation of the Protocol}
+\end{figure}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocMODfig/fig2.png}
+\caption{Master-Slave Query-Response Cycle}
+\label{fig:mod-master-slave}
+\end{figure}
+
+The RS485 is one of the most widely used bus standards for industrial applications. It uses differential communication lines to communicate over long distances which requires a dedicated pair of signal lines A and B to exchange information where the voltage on one line equals the inverse of the other line.
+%\framebox{R0 outputs 1, if A-B\textgreater200mV\linebreak R0 outputs 0, if B-A\textgreater200mV}
+
+
+\begin{center}
+\framebox(175,30){%
+ \parbox{170\unitlength}{R0 outputs 1, if A-B\textgreater200mV\\ R0 outputs 0, if B-A\textgreater200mV}%
+}
+\end{center}
+
+%\begin{align*}
+%R0 outputs 1, if A-B\textgreater200mV\\
+%R0 outputs 0, if B-A\textgreater200mV
+%\end{align*}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/fig3.png}
+\caption{Pins in RS485 module}
+\label{fig:rs-485}
+\end{figure}
+
+Energy meter is device that measures amount of electricity consumed by load. We are using Energy meter EM6400. EM6400 meter is a multifunction digital power meter by Schneider Electric India. It reads various parameters such as phase voltage, current, active power, reactive power, power factor etc. Before using the meter, one has to program system configuration, PT, CT ratios, communication parameters through front panel keys. EM6400 supports Modbus for communication.
+
+Multiple operations can be performed with devices supporting Modbus. Every operation has its own fixed function code (coil status-01, input status-02, holding registers-03, input registers-04, etc). It is independent of devices. All parameter values are stored in holding registers (addresses 4xxxx). Different holding registers hold values of different parameters. Individual parameter addresses can be found in user manual for EM6400.
+For example, \\
+Current (phase 1): 3929 \\
+Voltage (phase 1): 3927 \\
+Active power (phase 1): 3919 \\
+
+Each Modbus register is of size 16 bits and all EM6400 readings are 32 bits. So, each reading occupies two consecutive MODBUS registers. Values in every register are in little endian format (1st register contains LSB and next register contains MSB). Energy meter here is a slave and slave addresses can be set between 1 and 247, as mentioned earlier.
+
+A request to read holding registers has to be sent in specified format. An example packet is shown below.
+
+Request: 01 03 0F56 0002 270F\\
+01: Slave address \\
+03: Function code for read holding registers \\
+0F56: Data Address of the first requested register (address for voltage phase1 to neutral) \\
+(0F56 hex = 3927, +40001 offset = 43928) \\
+0002: Total number of registers requested \\
+270F: CRC (Cyclic Redundancy Check) for error checking (LSB first) \\
+
+
+Response: 01 03 04 2921 4373 D2B0\\
+01: Slave address \\
+03: Function code for read holding registers \\
+04: Total number of bytes read \\
+2921: Data in 1st requested register \\
+4373: Data in 2st requested register \\
+D2B0: CRC for error checking (LSB first) \\
+
+Values in required register are 43732921 in hex (since obtained values are being read in little endian format) which is 243.16 when converted to floating point using IEEE 754 norms. Obtained value is a voltage (phase1 to neutral) which is 243.16 Volts.
+
+Most of the numeric values to be stored in the computer are more than one byte long. Thus there arises a question of how to store the multibyte values on the computer machines where each byte has its own address i.e. which byte gets stored at the ‘first’ (lower) memory location and which bytes follow in higher memory locations. For example, if a two byte integer 0x5E5F is stored on disk by one machine with the 0x5E (high byte or MSB) stored at the lower memory address and the 0x5F (low byte or LSB) stored at a higher memory address, but a different machine reads that integer by picking 0x5F for the high byte and the 0x5E for the low byte, giving 0x5F5E, thus resulting into an disagreement on the value of the integer between the two machines.
+However, there is no so called ''right'' ordering to store the bytes in the case of multibyte quantities. Hardware is built to store the bytes in a particular fashion and as long as compatible hardware reads the bytes in the same fashion, things are fine. Following are the two major types of byte ordering:
+\begin{enumerate}
+\item Little Endian:
+
+If the hardware is designed so that the lowest or the least significant byte (LSB) of a multibyte integer is stored ''first'', at the lowest memory address, then the hardware is said to be Little Endian. In this format, the ‘little’ end of the integer gets stored first and the next bytes get stored in higher (increasing) memory locations.
+\item Big Endian:
+Here, the hardware is designed so that the highest or the most significant byte (MSB) of a multibyte integer is stored ''first'', at the lowest memory address. Thus, the ''big'' end of the integer gets stored first and accordingly the next bytes get stored in higher (increasing) memory locations.
+\end{enumerate}
+For example, let us take a four byte integer 0x436B84A3. Quite obvious, the ''little'' end byte, LSB is 0x84A3, and the ''big'' end byte, MSB is 0x436B; taking into consideration that the Read Holding Registers are 16 bits each. Thus the aforesaid memory storage patterns for the integer would be \tabref{tab:ieee-decimal}
+
+\begin{table}
+\centering
+\caption{Hexadecimal to Decimal}
+\label{tab:ieee-decimal}
+\begin{tabular}{ |p{3cm}|p{3cm}|p{3cm}|p{3cm}|}
+
+\hline
+\multicolumn{4}{|c|}{Four Bytes Integer Reading from Meter} \\
+\hline
+
+ Memory Address & Memory Address & Little Endian & Big Endian \\ \hline
+ 3900 & 8A43 & MSB & LSB \\
+ 3901 & 436B & LSB & MSB \\ \hline
+ \end{tabular}
+\end{table}
+
+
+In order to represent the Hexadecimal values of the Read Holding Registers into user friendly decimal (floating point) values, we follow IEEE 754 Standard. Most common standards for representing floating point numbers are:
+\begin{enumerate}
+\item Single Precision: Used for 32 bits. Out of those 32 bits, one bit represents the sign bit, 8 bits for exponent and the remaining 23 bits for mantissa, as depicted \tabref{tab:single-precision}
+
+\begin{table}
+\centering
+\caption{Single Precision Representation}
+\label{tab:single-precision}
+\begin{tabular}{|p{3cm}|p{3cm}|p{3cm}|}
+\hline
+
+
+
+ Sign (1 bit) & Exponent (8 bit) & Mantisa (23 bit) \\ \hline
+ \end{tabular}
+\end{table}
+\item Double Precision: Used for 64 bits. Out of those 32 bits, one bit represents the sign bit, 8 bits for
+ exponent and the remaining 23 bits for mantissa, as depicted \tabref{tab:double-precision}
+
+\begin{table}
+\centering
+\caption{Double Precision Representation}
+\label{tab:double-precision}
+\begin{tabular}{ |p{3cm}|p{3cm}|p{3cm}|}
+\hline
+
+
+ Sign (1 bit) & Exponent (11 bit) & Mantisa (52 bit) \\ \hline
+ \end{tabular}
+\end{table}
+\end{enumerate}
+Finally, the decimal value is given by
+
+\begin {centering} \framebox {Decimal Value = $( - 1) * sign * 2^{exponent}* Mantissa$} \\
+\end{centering}
+
+Hence, for 32 bit values, the sign is stored in bit 32. The exponent can be calculated from bits 24-31 by subtracting 127. The mantissa is stored in bits 1-23. An invisible leading bit (i.e. it is not actually stored) with value 1.0 is placed in front, then bit 23 has a value of 1/2, bit 22 has value 1/4 etc. As a result, the mantissa has a value between 1.0 and 2. At last, the decimal value is calculated using the above mentioned equation. Though there are several online converters available as IEEE 754 Converter, a function has been formulated in Scilab for this conversion here.
+
+
+\section{Objective}
+The objective of this experiment is to make the user acquainted with the industrial applications possible with Arduino Uno, using Modbus Protocol. It gives an insight on how to acquire readings from the Energy Meter and interpret it accordingly. As mentioned before, an energy meter is a device which gives us different electrical parameters like voltage, current, power etc. consumed by a device. Here, we aim to obtain these values using Scilab and Arduino Uno. For data transmission, we have used RS485 Module.
+
+Scilab is used for giving the required parameters to the Arduino. For example, the user will tell the required Slave Address to be accessed and the number of registers to read/write. Here, Arduino acts as a Master and Energy Meter as a slave. Therefore, referring to a particular slave address will in this case refer to the desired electrical parameters (Current, Voltage, Power etc.) which we want from the Energy Meter (Slave).
+
+This Arduino Uno is then connected to the Energy Meter via a MAX485 chip which facilitates long distance communication. The information packet is sent to the Arduino which sends it to the Energy Meter. The Energy meter then accesses the values in the required addresses in its memory and transfers it back. This is again in the form of another packet. Data which is in Little Endian HEX format is obtained from this and is converted to floating point number using IEEE 754.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/Full-Set-Up.png}
+\caption{MODBUS Set Up for Energy Meter}
+\label{fig:full-set-up}
+\end{figure}
+
+Energy Meter set up for Modbus protocol with Arduino Uno \figref{fig:block-diagram}:\\
+\begin{enumerate}
+\item As we know, Arduino Uno has one serial port. It communicates on the digital pins 0 and 1 as well as on the computer via USB. Since we want serial communication which shouldn't be disturbed by the USB port and the Serial Monitor, we use the Software Serial library. Using this library we can assign any digital pins as RX and TX and use for serial communication. Pin 10 (used as RX) and Pin 11(used as TX) is connected to RO (Receive Out) and DI (Data In) pins of MAX485 module respectively.
+\item DE (Data Enable) and (Receive Enable) pins of RS 485 are shorted and connected to digital pin 3 of Arduino Uno. This serves as Control Pin which will control when to receive and transmit serially.
+\item Vcc and GND of the MAX485 module are connected to Vcc and GND of Arduino.
+\item A and B pins of MAX485 are connected to A (Pin 7) and B (Pin 14) pins of the Energy Meter (meant for RS485 communication).
+\item A $120k\Omega$ termination resistance is connected in between pins A and B to avoid reflection losses in transmission line.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/block-diagram.PNG}
+\caption{Block Diagram for Energy Meter Setup}
+\label{fig:block-diagram}
+\end{figure}
+
+\end{enumerate}
+
+
+\section{Softwares}
+
+Software for the demonstration comprises of two parts:
+
+\begin{enumerate}
+\item Arduino Uno firmware code
+This code is written to communicate with Scilab (using serial interface), and with MAX485 chip (using Software Serial interface). Control logic to enable receive and transmit modes of MAX485 chip is also present in Arduino Uno firmware code.The overall implementation is being described in \figref {fig:modbus-firmware}.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/arduino_code_flowchart.png}
+\caption{Flowchart of Arduino firmware}
+\label{fig:modbus-firmware}
+\end{figure}
+
+\item Scilab code
+This code requests energy meter readings by sending request packet to Arduino Uno from Scilab. Then it waits till requested packet is available from Arduino Uno. After receiving the packet, it extracts data from the packet and converts it into IEEE 754 floating point format.The overall implementation is being described below :
+
+\begin {enumerate}
+\item Frame request packet to be sent to slave in ASCII coded decimal format
+\item Send the packet serially to Arduino Uno board (Arduino Uno sends this packet to Energy meter via RS 485 module)
+\item Read the response packet available on Arduino Uno board (sent by Energy meter to Arduino via RS 485)
+\item Extract holding register contents from received packet
+\item Convert 32 bit register contents which are in little endian format to floating point number using ieeesingle2num function
+\item Display the value of electrical parameter read(i.e. voltage, current or power)
+\end{enumerate}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/flowchart.png}
+\caption{Flow Chart of the Modbus Energy Meter Implementation}
+\label{fig:flow-chart}
+\end{figure}
+
+\end{enumerate}
+
+\section{Output}
+
+\begin{enumerate}
+\item Single phase current output:
+\figref{fig:current-console} and \figref{fig:current-meter} show Scilab code output of current in Amperes and corresponding snapshot of Energy meter display with a single load rated 60W-230V.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/current-output.png}
+\caption{Single Phase Current Output on Scilab Console}
+\label{fig:current-console}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/current-output-setup.jpg}
+\caption{Single Phase Current Output on Energy Meter}
+\label{fig:current-meter}
+\end{figure}
+
+\item Single phase voltage output:
+\figref{fig:voltage-console} and \figref{fig:voltage-meter} show Scilab code output of voltage in Volts and corresponding snapshot of energy meter display with a single load rated 60W-230V.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/voltage-output.png}
+\caption{Single Phase Voltage Output on Scilab Console}
+\label{fig:voltage-console}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/voltage-output-setup.jpg}
+\caption{Single Phase Voltage Output on Energy Meter}
+\label{fig:voltage-meter}
+\end{figure}
+
+\item Single phase active power outputs are shown in \figref{fig:power-console} and \figref{fig:power-meter}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/active-power-output.png}
+\caption{Single Phase Voltage Output on Scilab Console}
+\label{fig:power-console}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/active-power-output-setup.jpg}
+\caption{Single Phase Voltage Output on Energy Meter}
+\label{fig:power-meter}
+\end{figure}
+
+\end{enumerate}
+
+
+In output, user could see the requested energy parameter on Scilab console. For demonstration we have taken single phase current, single phase voltage and single phase active power reading. We can always verify the Scilab output with the value being displayed on the energy meter display screen.
+
+\section{Reading Parameters from Xcos}
+In this section we will carry out the same experiments discussed in the previous sections but through Xcos. One should go through \secref{sec:xcos-start} before continuing.
+
+\begin{enumerate}
+\item The Xcos diagram for performing the read values for single phase current, single phase voltage and single phase power operation is as shown in \figref{fig:mod-read}. The location of the xcos file is mentioned in the caption of the figure.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocMODfig/read_value_xcos.png}
+ \caption[Xcos diagram to read Energy Meter values]{Xcos diagram to read Energy Meter values.
+ This is what one sees when
+ {\tt \LocMODscibrief/read\_value\_xcos.zcos} is invoked.}
+ \label{fig:mod-read}
+ \end{figure}
+The parameters of the blocks can be changed by right clicking on the block and choosing {\tt Block Parameters}. One can also double click on the block. The values for each block is tabulated in \tabref{tab:mod-xcos-read}. All other parameters are to be left unchanged.
+
+\begin{table}
+ \centering
+ \caption{Xcos parameters to read Energy Meter}
+ \label{tab:mod-xcos-read}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ CONST\_m & Address byte for voltage & 86 \\
+ & Address byte for current & 88 \\
+ & Address byte for power & 78\\ \hline
+ SELF\_SWITCH & Signal Routing & on/off \\ \hline
+ BIGSOM\_f & Scalar vector addition/substraction Summation & [1;1;1] \\ \hline
+ scifunc\_block\_m & Block for user\-defined function & read\_value.sci \\ \hline
+ AFFICH\_m & Block inherits(1) or not (0) & 0 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation Time & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+
+\end{enumerate}
+
+ \subsection{Troubleshooting}
+ After we send the query using Modbus protocol from Scilab (using write\_serial command) to the energy meter, we will receive a packet from the energy meter which will contain the data requested. This data is read serially using (read\_serial command) in Scilab and the bytes so received are stored in the 'buf' variable. On analyzing the bytes received (by observing the value of ascii(buf) or myresult) we see that there might be some spaces(value 32 in myresult) received. So the required data starts from the fourth byte available excluding spaces.For example, If there are n spaces received before the packet, so the required data would be starting at n+4 position(ie. we have to analyse the four bytes starting at (n+4)th position). Note that the packet received may have one or more spaces at the starting or the ending and that is the reason why we may have to shift our indexing for analyzing data.
+
+
+\section{Arduino Code}
+\label{sec:firmware-modbus}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+\acaption{Firmware for modbus Energy meter experiment}
+{Firmware for modbus \\ Available at \LocMODardbrief/send\_packet.ino}
+\label{ard:firmware-modbus}
+\lstinputlisting{\LocMODardcode/send_packet.ino}
+\end{ardcode}
+
+\section{Scilab Code}
+\label{sec:modbus-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+\ccaption{function for scifunc block}
+{Scifunc block function \\ Available at
+ \LocMODscibrief/read\_val.sci.}
+\label{sci:current-modbus}
+\lstinputlisting{\LocMODscicode/read_val.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Single Phase Current Output}
+{Single Phase Current Output \\ Available at
+ \LocMODscibrief/read\_current.sci.}
+\label{sci:current-modbus}
+\lstinputlisting{\LocMODscicode/read_current.sci}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Single Phase Voltage Output}
+{Single Phase Voltage Output \\ Available at
+ \LocMODscibrief/read\_voltage.sci.}
+\label{sci:voltage-modbus}
+\lstinputlisting{\LocMODscicode/read_voltage.sci}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Single Phase Active Power Output}
+{Single Phase Active Power Output \\ Available at
+ \LocMODscibrief/read\_active\_power.sci.}
+\label{sci:modbus-power}
+\lstinputlisting{\LocMODscicode/read_active_power.sci}
+\end{scicode}
+
diff --git a/scilab-arduino/user-code/modbus/modbus.tex b/scilab-arduino/user-code/modbus/modbus.tex
new file mode 100644
index 0000000..19588ba
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/modbus.tex
@@ -0,0 +1,583 @@
+\chapter {Implementation of Modbus Protocol}
+\thispagestyle{empty}
+\label{modbus}
+
+\newcommand{\LocMODfig}{\Origin/user-code/modbus/figures}
+\newcommand{\LocMODscicode}{\Origin/user-code/modbus/scilab}
+\newcommand{\LocMODscibrief}[1]{{\tt \seqsplit{%
+Origin/user-code/modbus/scilab}}, see \fnrefp{fn:file-loc}}
+\newcommand{\LocMODardcode}{\Origin/user-code/modbus/arduino}
+\newcommand{\LocMODardbrief}[1]{{\tt \seqsplit{%
+Origin/user-code/modbus/arduino}}, see \fnrefp{fn:file-loc}}
+
+%%%%%%%%%%%%python starts
+\newcommand{\LocMODpycode}{\Origin/user-code/modbus/python}
+\newcommand{\LocMODpybrief}[1]{{\tt \seqsplit{%
+Origin/user-code/modbus/python}}, see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%%python ends
+
+%%%%julia starts
+
+\newcommand{\LocMODjuliacode}{\Origin/user-code/modbus/julia}
+\newcommand{\LocMODjuliabrief}[1]{{\tt \seqsplit{%
+Origin/user-code/modbus/julia}}, see \fnrefp{fn:file-loc}}
+
+%%%%julia ends
+
+
+%%%%OpenModelica starts
+
+\newcommand{\LocMODOpenModelicacode}{\Origin/user-code/modbus/OpenModelica}
+\newcommand{\LocMODOpenModelicabrief}[1]{{\tt \seqsplit{%
+Origin/user-code/modbus/OpenModelica}}, see \fnrefp{fn:file-loc}}
+
+%%%%OpenModelica ends
+
+In this chapter we will learn one of the advanced applications that can be built using Scilab-Arduino toolbox. Beginners might want to skip this chapter in the first reading. This experiment enables interfacing Modbus based devices with Scilab-Arduino toolbox. This functionality has a wide number of applications in the industrial sector.
+
+\section{Preliminaries}
+Modbus is an open serial communication protocol developed and published by Modicon in 1979. Because of ease of deployment and maintenance, it finds wide applications in industries. The Modbus protocol provides a means to transmit information over serial lines between several electronic devices in order to control and monitor them. The controlling device requests for reading or writing information and is known as the Modbus Master/Client. On the other hand, the device or devices supplying the information are called Modbus Slaves/Server. All the slaves/servers have a unique id and address. Typically, there is one Master and maximum 247 Slaves.
+
+During the communications on a Modbus network, the protocol determines how the controller gets to know its device address, recognizes the message provided and decides the action to be taken and accordingly extracts data and information contained in the message. The data is sent as a series of zeros and ones, i.e. bits wherein zeros are sent as positive voltages and ones as negative.
+
+Different versions of Modbus protocol exist on serial lines, namely Modbus RTU, ASCII and TCP. The Energy Meter used in this experiment supports Modbus RTU protocol. In Modbus RTU, the data is coded in binary and requires only one communication byte. This is ideal for use over RS232 or RS485 networks at baud rates between 1200 and 115K.
+
+\begin{figure}
+\centering
+%\subfloat[Block diagram representation of the Protocol]{
+\includegraphics[width=\hgfig]{\LocMODfig/fig1.png}
+\label{fig:mod-block}
+\caption{Block diagram representation of the Protocol}
+\end{figure}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocMODfig/fig2.png}
+\caption{Master-Slave Query-Response Cycle}
+\label{fig:mod-master-slave}
+\end{figure}
+
+The RS485 is one of the most widely used bus standards for industrial
+applications. It uses differential communication lines to communicate
+over long distances and requires a dedicated pair of signal lines, say
+A and B, to exchange information. Here, the voltage on one line equals
+to the inverse of the voltage on the other line. In other words, the
+output is,
+1, if A-B\textgreater200mV, and 0, if B-A\textgreater200mV.
+
+%\begin{center}
+%\framebox(175,30){%
+ % \parbox{170\unitlength}{R0 outputs 1, if A-B\textgreater200mV\\ R0 outputs 0, if B-A\textgreater200mV}%
+%}
+%\end{center}
+
+%\begin{align*}
+%R0 outputs 1, if A-B\textgreater200mV\\
+%R0 outputs 0, if B-A\textgreater200mV
+%\end{align*}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\hgfig]{\LocMODfig/fig3.png}
+\caption{Pins in RS485 module}
+\label{fig:rs-485}
+\end{figure}
+
+Energy Meter is a device that measures amount of electricity consumed
+by the load. We are using Energy Meter EM6400, which is a
+multifunction digital power meter by Schneider Electric India. It
+reads various parameters such as phase voltage, current, active power,
+reactive power, power factor etc. Before using the meter, one has to
+program system configuration, PT, CT ratios, communication parameters
+through front panel keys. EM6400 supports Modbus for communication.
+
+Multiple operations can be performed with devices supporting
+Modbus. Every operation has its own fixed function code (coil
+status-01, input status-02, holding registers-03, input registers-04,
+etc.), which is independent of devices. All the parameter values are
+stored in the holding registers. Different holding registers hold
+values of different parameters. Individual parameter addresses can be
+found in user manual for EM6400.
+For example,
+\begin{center}
+\begin{tabular}{ll}
+Current (phase 1): & 3929 \\
+Voltage (phase 1): & 3927 \\
+Active power (phase 1): & 3919
+\end{tabular}
+\end{center}
+
+The size of each Modbus register is 16 bits and all EM6400 readings
+are 32 bits. So, each reading occupies two consecutive Modbus
+registers. Values in every register are in little endian format (1st
+register contains LSB and next register contains MSB). In our case,
+Energy Meter is a slave and slave addresses can be set between 1 and
+247.
+
+A request to read holding registers has to be sent in a specified
+format. An example of a request packet is as follows. Suppose that
+the request is 01 03 0F56 0002 270F. Its meaning is explained in
+\tabref{tab:request-packet}.
+\begin{table}
+\centering
+\caption{Interpretation of a request packet}
+\label{tab:request-packet}
+\begin{tabular}{lp{10cm}}
+01 & Slave address \\
+03 & Function code to read holding registers \\
+0F56 & Data Address of the first requested register (address for
+voltage phase1 to neutral) and
+(0F56 hex = 3927, +40001 offset = 43928) \\
+0002 & Total number of registers requested for read \\
+270F & CRC (Cyclic Redundancy Check) for error checking (LSB first) \\
+\end{tabular}
+\end{table}
+The response packet corresponding the above request packet
+is given as 01 03 04 2921 4373 D2B0. Its meaning is explained in
+\tabref{tab:response-packet}.
+\begin{table}
+\centering
+\caption{Interpretation of a response packet}
+\label{tab:response-packet}.
+\begin{tabular}{ll}
+01 & Slave address \\
+03 & Function code to read holding registers \\
+04 & Total number of bytes read \\
+2921 & Data in 1st requested register \\
+4373 & Data in 2st requested register \\
+D2B0 & CRC for error checking (LSB first)
+\end{tabular}
+\end{table}
+
+Values in required registers are 43732921 in hex (since obtained
+values are being read in little endian format) which is 243.16 when
+converted to floating point using IEEE 754 norms. Obtained value is a
+voltage (phase1 to neutral) which is 243.16 Volts.
+
+Most of the numeric values to be stored in the computer are more than
+one byte long. Thus, there arises a question of how to store the
+multibyte values on the computer machines where each byte has its own
+address i.e. which byte gets stored at the ''first'' (lower) memory
+location and which bytes follow in higher memory locations. For
+example, if a two byte integer 0x5E5F is stored on disk by one machine
+with the 0x5E (high byte or MSB) stored at the lower memory address
+and the 0x5F (low byte or LSB) stored at a higher memory address, but
+a different machine reads that integer by picking 0x5F for the high
+byte and the 0x5E for the low byte, giving 0x5F5E, thus resulting into
+an disagreement on the value of the integer between the two
+machines. However, there is no so called ''right'' ordering to store
+the bytes in the case of multibyte quantities. Hardware is built to
+store the bytes in a particular fashion and as long as compatible
+hardware reads the bytes in the same fashion, things are
+fine. Following are the two major types of byte ordering:
+
+\begin{description}
+\item [Little Endian:]
+If the hardware is designed so that the lowest or the least
+significant byte (LSB) of a multibyte integer is stored ''first'', at
+the lowest memory address, then the hardware is said to be Little
+Endian. In this format, the ''little'' end of the integer gets stored
+first and the next bytes get stored in higher (increasing) memory
+locations.
+\item [Big Endian:]
+Here, the hardware is designed so that the highest or the most
+significant byte (MSB) of a multibyte integer is stored ''first'', at
+the lowest memory address. Thus, the ''big'' end of the integer gets
+stored first and accordingly the next bytes get stored in higher
+(increasing) memory locations.
+\end{description}
+For example, let us take a four byte integer 0x436B84A3. Quite
+obvious, the ''little'' end byte, LSB is 0x84A3, and the ''big'' end
+byte, MSB is 0x436B; taking into consideration that the Read Holding
+Registers are 16 bits each. Thus the aforesaid memory storage patterns
+for the integer would be \tabref{tab:ieee-decimal}.
+
+\begin{table}
+\centering
+\caption{Hexadecimal to Decimal}
+\label{tab:ieee-decimal}
+\begin{tabular}{ |p{3cm}|p{3cm}|p{3cm}|p{3cm}|}
+
+\hline
+\multicolumn{4}{|c|}{Four Bytes Integer Reading from Meter} \\
+\hline
+
+ Memory Address & Memory Address & Little Endian & Big Endian \\ \hline
+ 3900 & 8A43 & MSB & LSB \\
+ 3901 & 436B & LSB & MSB \\ \hline
+ \end{tabular}
+\end{table}
+
+
+In order to represent the Hexadecimal values of the Read Holding Registers into user friendly decimal (floating point) values, we follow IEEE 754 Standard. Most common standards for representing floating point numbers are:
+\begin{enumerate}
+\item Single Precision: Used for 32 bits. Out of those 32 bits, one bit represents the sign bit, 8 bits for exponent and the remaining 23 bits for mantissa, as depicted in \tabref{tab:single-precision}.
+
+\begin{table}
+\centering
+\caption{Single and Double Precision Representation}
+\label{tab:single-precision}
+\begin{tabular}{|l|l|l|l|}
+\hline
+Single & Sign (1 bit) & Exponent (8 bit) & Mantissa (23 bit) \\ \hline
+Double & Sign (1 bit) & Exponent (11 bit) & Mantissa (52 bit) \\ \hline
+\end{tabular}
+\end{table}
+\item Double Precision: Used for 64 bits. Out of those 32 bits, one bit represents the sign bit, 8 bits for exponent and the remaining 23 bits for mantissa, as depicted in \tabref{tab:single-precision}.
+\end{enumerate}
+Finally, the decimal value is given by,
+Decimal Value = $( - 1) * \text{sign} * 2^{exponent}* \text{Mantissa}$.
+Hence, for 32 bit values, the sign is stored in bit 32. The exponent
+can be calculated from bits 24-31 by subtracting 127. The mantissa is
+stored in bits 1-23. An invisible leading bit (i.e. it is not actually
+stored) with value 1.0 is placed in front, then bit 23 has a value of
+1/2, bit 22 has value 1/4 etc. As a result, the mantissa has a value
+between 1.0 and 2. At last, the decimal value is calculated using the
+above mentioned equation. Though there are several online converters
+available as IEEE 754 Converter, a function has been formulated in
+Scilab for this conversion here.
+
+
+\section{Objective}
+The objective of this experiment is to make the user acquainted with the use of Modbus protocol through Arduino Uno. It gives an insight on how to acquire readings from the Energy Meter and interpret them accordingly. As mentioned earlier, an Energy Meter is a device that gives us different electrical parameters including voltage, current, and power, consumed by a device. Here, we aim to obtain these values using Scilab and Arduino Uno. For data transmission, we have used RS485 Module.
+
+Scilab is used for giving the required parameters to Arduino Uno. For example, the user will tell the required Slave Address to be accessed and the number of registers to be read from or written to. Here, Arduino Uno acts as a master and Energy Meter as a slave. Therefore, referring to a particular slave address will refer to the registers that hold the desired electrical parameters (Current, Voltage, Power etc.), which we want from the Energy Meter (Slave).
+
+This Arduino Uno is then connected to the Energy Meter via a MAX485 chip which facilitates long distance communication. The information packet is sent to the Arduino Uno, which in turn sends it to the Energy Meter. The Energy Meter then accesses the values in the required addresses in its memory and transfers them back. This again, is in the form of another packet. Data which is in Little Endian hex format is obtained from this and is converted to floating point number using IEEE 754.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/Full-Set-Up.png}
+\caption{MODBUS Set Up for Energy Meter}
+\label{fig:full-set-up}
+\end{figure}
+
+\section{Energy Meter set up for Modbus protocol with Arduino Uno} \begin{enumerate}
+\item As we know, Arduino Uno has one serial port. It communicates on the digital pins 0 and 1 as well as on the computer via USB. Since we want serial communication which shouldn't be disturbed by the USB port and the Serial Monitor, we use the Software Serial library. Using this library we can assign any digital pins as RX and TX and use for serial communication. Pin 10 (used as RX) and Pin 11(used as TX) is connected to RO (Receive Out) and DI (Data In) pins of MAX485 module respectively.
+\item DE (Data Enable) and RE (Receive Enable) pins of RS 485 are shorted and connected to digital pin 3 of Arduino Uno. This serves as Control Pin which will control when to receive and transmit serially.
+\item Vcc and GND of the MAX485 module are connected to Vcc and GND of Arduino.
+\item A and B pins of MAX485 are connected to A (Pin 7) and B (Pin 14) pins of the Energy Meter (meant for RS485 communication).
+\item A $120k\Omega$ termination resistance is connected in between pins A and B to avoid reflection losses in transmission line.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/block-diagram.PNG}
+\caption{Block Diagram for Energy Meter Setup}
+\label{fig:block-diagram}
+\end{figure}
+
+\end{enumerate}
+
+
+\section{Software}
+
+Software for the demonstration comprises two parts:
+
+\begin{enumerate}
+\item Arduino Uno firmware code:
+This code is written to communicate with Scilab (using serial interface), and with MAX485 chip (using Software Serial interface). Control logic to enable receive and transmit modes of MAX485 chip is also present in Arduino Uno firmware code.The overall implementation is being described in \figref {fig:modbus-firmware}.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/arduino_code_flowchart.png}
+\caption{Flowchart of Arduino firmware}
+\label{fig:modbus-firmware}
+\end{figure}
+
+\item Scilab code:
+This code requests Energy Meter readings by sending request packet to Arduino Uno from Scilab. Then it waits till requested packet is available from Arduino Uno. After receiving the packet, it extracts data from the packet and converts it into IEEE 754 floating point format. The overall implementation is being described below:
+
+\begin {enumerate}
+\item Frame request packet to be sent to slave in ASCII coded decimal format
+\item Send the packet serially to Arduino Uno board (Arduino Uno sends this packet to Energy Meter via RS 485 module)
+\item Read the response packet available on Arduino Uno board (sent by Energy meter to Arduino via RS 485)
+\item Extract holding register contents from received packet
+\item Convert 32 bit register contents which are in little endian format to floating point number using ieeesingle2num function
+\item Display the value of electrical parameter read(i.e. voltage, current or power)
+\end{enumerate}
+
+\begin{figure}
+\centering
+\includegraphics[width=\hgfig]{\LocMODfig/flowchart.png}
+\caption{Flow Chart of the Modbus Energy Meter Implementation}
+\label{fig:flow-chart}
+\end{figure}
+
+\end{enumerate}
+
+\section{Output}
+
+\begin{enumerate}
+\item Single phase current output:
+\figref{fig:current-console} and \figref{fig:current-meter} show Scilab code output of current in Amperes and corresponding snapshot of Energy Meter display with a single load rated 60W-230V.
+
+\begin{figure}
+\centering
+\includegraphics[width=\linewidth]{\LocMODfig/current-output.png}
+\caption{Single Phase Current Output on Scilab Console}
+\label{fig:current-console}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/current-output-setup.jpg}
+\caption{Single Phase Current Output on Energy Meter}
+\label{fig:current-meter}
+\end{figure}
+
+\item Single phase voltage output:
+\figref{fig:voltage-console} and \figref{fig:voltage-meter} show Scilab code output of voltage in Volts and corresponding snapshot of Energy Meter display with a single load rated 60W-230V.
+
+\begin{figure}
+\centering
+\includegraphics[width=\linewidth]{\LocMODfig/voltage-output.png}
+\caption{Single Phase Voltage Output on Scilab Console}
+\label{fig:voltage-console}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/voltage-output-setup.jpg}
+\caption{Single Phase Voltage Output on Energy Meter}
+\label{fig:voltage-meter}
+\end{figure}
+
+\item Single phase active power outputs are shown in \figref{fig:power-console} and \figref{fig:power-meter}.
+
+\begin{figure}
+\centering
+\includegraphics[width=\linewidth]{\LocMODfig/active-power-output.png}
+\caption{Single Phase Voltage Output on Scilab Console}
+\label{fig:power-console}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/active-power-output-setup.jpg}
+\caption{Single Phase Voltage Output on Energy Meter}
+\label{fig:power-meter}
+\end{figure}
+
+\end{enumerate}
+
+
+In output, user could see the requested energy parameter on Scilab console. For demonstration we have taken single phase current, single phase voltage and single phase active power reading. We can always verify the Scilab output with the value being displayed on the Energy Meter display screen.
+
+\section{Reading Parameters from Xcos}
+In this section we will carry out the same experiments discussed in the previous sections but through Xcos. One should go through \secref{sec:xcos-start} before continuing.
+
+\begin{enumerate}
+\item The Xcos diagram for performing the read values for single phase current, single phase voltage and single phase power operation is as shown in \figref{fig:mod-read}. The location of the xcos file is mentioned in the caption of the figure.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocMODfig/read_value_xcos.png}
+ \caption[Xcos diagram to read Energy Meter values]{Xcos diagram to read Energy Meter values.
+ This is what one sees when
+ {\tt \LocMODscibrief/read\_value\_xcos.zcos} is invoked.}
+ \label{fig:mod-read}
+ \end{figure}
+The parameters of the blocks can be changed by right clicking on the block and choosing {\tt Block Parameters}. One can also double click on the block. The values for each block is tabulated in \tabref{tab:mod-xcos-read}. All other parameters are to be left unchanged.
+
+\begin{table}
+ \centering
+ \caption{Xcos parameters to read Energy Meter}
+ \label{tab:mod-xcos-read}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ CONST\_m & Address byte for voltage & 86 \\
+ & Address byte for current & 88 \\
+ & Address byte for power & 78\\ \hline
+ SELF\_SWITCH & Signal Routing & on/off \\ \hline
+ BIGSOM\_f & Scalar vector addition/subtraction Summation & [1;1;1] \\ \hline
+ scifunc\_block\_m & Block for user\-defined function & read\_value.sci \\ \hline
+ AFFICH\_m & Block inherits(1) or not (0) & 0 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation Time & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+
+\end{enumerate}
+
+\subsection{Troubleshooting}
+After we send the query using Modbus protocol from Scilab (using
+write\_serial command) to the Energy Meter, we will receive a packet
+from the Energy Meter which will contain the data requested. This data
+is read serially using (read\_serial command) in Scilab and the bytes
+so received are stored in the 'buf' variable. On analyzing the bytes
+received (by observing the value of ASCII(buf) or myresult) we see
+that there might be some spaces(value 32 in myresult) received. So the
+required data starts from the fourth byte available excluding
+spaces.For example, If there are n spaces received before the packet,
+so the required data would be starting at n+4 position(i.e., we have
+to analyse the four bytes starting at (n+4)th position). Note that the
+packet received may have one or more spaces at the starting or the
+ending and that is the reason why we may have to shift our indexing
+for analyzing data.
+
+The functionalities performed by scilab code have also been implemetned in
+python and julia and OpenModelica.
+
+\clearpage
+\section{Arduino Code}
+\label{sec:firmware-modbus}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+\acaption{First 10 lines of the firmware for Modbus Energy Meter
+ experiment}
+{First 10 lines of the firmware for Modbus. Available at
+ \LocMODardbrief{send\_packet.ino}.}
+\label{ard:firmware-modbus}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODardcode/send_packet.ino}
+\end{ardcode}
+
+%%%%%%%%Scilab Code strarts
+
+\section{Scilab Code}
+\label{sec:modbus-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+\ccaption{First 10 lines of the function for scifunc block}
+{First 10 lines of the Scifunc block function. Available at
+ \LocMODscibrief{read\_val.sci}.}
+\label{sci:current-modbus}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODscicode/read_val.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{First 10 lines of the code for Single Phase Current Output}
+{First 10 lines of the code for Single Phase Current Output.
+ Available at \LocMODscibrief{read\_current.sci}.}
+\label{sci:current-modbus}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODscicode/read_current.sci}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{First 10 lines of the code for Single Phase Voltage Output}
+{First 10 lines of the code for Single Phase Voltage Output.
+ Available at \LocMODscibrief{read\_voltage.sci}.}
+\label{sci:voltage-modbus}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODscicode/read_voltage.sci}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{First 10 lines of the code for Single Phase Active Power
+ Output}{First 10 lines of the code for Single Phase Active Power
+ Output. Available at
+ \LocMODscibrief{read\_active\_power.sci}.}
+\label{sci:modbus-power}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODscicode/read_active_power.sci}
+\end{scicode}
+%%%%%%%Scilab code ends
+
+%%%%%%%%%%python code starts
+\section{Python Code}
+\label{sec:modbus-python-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{pycode}
+\pcaption{Code for Single Phase Current Output}
+{Code for Single Phase Current Output.
+ Available at \LocMODpybrief{read\_current.py}.}
+\label{py:current-modbus}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODpycode/read_current.py}
+\end{pycode}
+
+\begin{pycode}
+\pcaption{Code for Single Phase Voltage Output}
+{Code for Single Phase Voltage Output.
+ Available at \LocMODpybrief{read\_voltage.py}.}
+\label{py:voltage-modbus}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODpycode/read_voltage.py}
+\end{pycode}
+
+\begin{pycode}
+\ccaption{Code for Single Phase Active Power
+ Output}{Code for Single Phase Active Power
+ Output. Available at
+ \LocMODpybrief{read\_active\_power.py}.}
+\label{py:modbus-power}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODpycode/read_active_power.py}
+\end{pycode}
+%%%%%%%%%%python code ends
+
+%%%%%%%%%%julia code starts
+\section{Julia Code}
+\label{sec:modbus-julia-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{juliacode}
+\ccaption{Code for Single Phase Current Output}
+{Code for Single Phase Current Output.
+ Available at \LocMODjuliabrief{readCurrent.jl}.}
+\label{julia:current-modbus}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODjuliacode/readCurrent.jl}
+\end{juliacode}
+
+\begin{juliacode}
+\ccaption{Code for Single Phase Voltage Output}
+{Code for Single Phase Voltage Output.
+ Available at \LocMODjuliabrief{readVoltage.jl}.}
+\label{julia:voltage-modbus}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODjuliacode/readVoltage.jl}
+\end{juliacode}
+
+\begin{juliacode}
+\ccaption{First 10 lines of the code for Single Phase Active Power
+ Output}{First 10 lines of the code for Single Phase Active Power
+ Output. Available at
+ \LocMODjuliabrief{readPower.jl}.}
+\label{julia:modbus-power}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODjuliacode/readPower.jl}
+\end{juliacode}
+%%%%%%%%%%julia code ends
+
+%%%%%%%%%%OpenModelica code starts
+\section{OpenModelica Code}
+\label{sec:modbus-OpenModelica-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{OpenModelicacode}
+\ccaption{Code for Single Phase Current Output}
+{Code for Single Phase Current Output.
+ Available at \LocMODOpenModelicabrief{readCurrent.mo}.}
+\label{OpenModelica:current-modbus}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODOpenModelicacode/readCurrent.mo}
+\end{OpenModelicacode}
+
+\begin{OpenModelicacode}
+\ccaption{Code for Single Phase Voltage Output}
+{Code for Single Phase Voltage Output.
+ Available at \LocMODOpenModelicabrief{readVoltage.mo}.}
+\label{OpenModelica:voltage-modbus}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODOpenModelicacode/readVoltage.mo}
+\end{OpenModelicacode}
+
+\begin{OpenModelicacode}
+\ccaption{Code for Single Phase Active Power
+ Output}{Code for Single Phase Active Power
+ Output. Available at
+ \LocMODOpenModelicabrief{readPower.mo}.}
+\label{OpenModelica:modbus-power}
+\lstinputlisting[firstline=1,lastline=10]
+{\LocMODOpenModelicacode/readPower.mo}
+\end{OpenModelicacode}
+
+%%%%%%%%%%OenModelica code ends \ No newline at end of file
diff --git a/scilab-arduino/user-code/modbus/modbus.tex~ b/scilab-arduino/user-code/modbus/modbus.tex~
new file mode 100644
index 0000000..ece7b76
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/modbus.tex~
@@ -0,0 +1,366 @@
+\chapter {Implementation of MODBUS Protocol}
+\thispagestyle{empty}
+\label{modbus}
+
+\newcommand{\LocMODfig}{\Origin/user-code/modbus/figures}
+\newcommand{\LocMODscicode}{\Origin/user-code/modbus/scilab}
+\newcommand{\LocMODscibrief}{Origin/user-code/modbus/scilab}
+\newcommand{\LocMODardcode}{\Origin/user-code/modbus/arduino}
+\newcommand{\LocMODardbrief}{Origin/user-code/modbus/arduino}
+
+In this chapter we will learn one of the advanced applications that can be built using Scilab-Arduino toolbox. Beginners might want to skip this chapter in the first reading. This experiment enables interfacing MODBUS based devices with Scilab-Arduino toolbox. This functionality has wide number of applications in the industrial sector.
+
+\section{Preliminaries}
+MODBUS is an open industrial serial communication protocol developed and published by Modicon in 1979. The MODBUS protocol provides a means to transmit information over serial lines between several electronic devices in order to control and monitor them. The controlling device requests for reading or writing information and is known as the MODBUS Master/Client. On the other hand, the device or devices supplying the information are called MODBUS Slaves/Server. All the slaves/servers have a unique id and address.Typically, there is one Master and maximum 247 Slaves.
+
+During the communications on a MODBUS network, the protocol determines how the controller gets to know its device address, recognizes the message provided and decides the action to be taken and accordingly extracts data and information contained in the message. The data is sent as a series of zeros and ones, i.e. bits wherein zeros are sent as positive voltages and ones as negative.
+
+Different versions of MODBUS Protocol exist on serial lines, namely MODBUS RTU and MODBUS ASCII and MODBUS TCP for ethernet. We are using MODBUS RTU protocol, as the energy meter supports the same. In MODBUS RTU, the data is coded in binary and requires only one communication byte. This is ideal for use over RS232 or RS485 networks at baud rates between 1200 to 115K.
+
+\begin{figure}
+\centering
+%\subfloat[Block diagram representation of the Protocol]{
+\includegraphics[width=\lgfig]{\LocMODfig/fig1.png}
+\label{fig:mod-block}
+\caption{Block diagram representation of the Protocol}
+\end{figure}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocMODfig/fig2.png}
+\caption{Master-Slave Query-Response Cycle}
+\label{fig:mod-master-slave}
+\end{figure}
+
+The RS485 is one of the most widely used bus standards for industrial applications. It uses differential communication lines to communicate over long distances which requires a dedicated pair of signal lines A and B to exchange information where the voltage on one line equals the inverse of the other line.
+%\framebox{R0 outputs 1, if A-B\textgreater200mV\linebreak R0 outputs 0, if B-A\textgreater200mV}
+
+
+\begin{center}
+\framebox(175,30){%
+ \parbox{170\unitlength}{R0 outputs 1, if A-B\textgreater200mV\\ R0 outputs 0, if B-A\textgreater200mV}%
+}
+\end{center}
+
+%\begin{align*}
+%R0 outputs 1, if A-B\textgreater200mV\\
+%R0 outputs 0, if B-A\textgreater200mV
+%\end{align*}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/fig3.png}
+\caption{Pins in RS485 module}
+\label{fig:rs-485}
+\end{figure}
+
+Energy meter is device that measures amount of electricity consumed by load. We are using Energy meter EM6400. EM6400 meter is a multifunction digital power meter by Schneider Electric India. It reads various parameters such as phase voltage, current, active power, reactive power, power factor etc. Before using the meter, one has to program system configuration, PT, CT ratios, communication parameters through front panel keys. EM6400 supports MODBUS for communication.
+
+Multiple operations can be performed with devices supporting MODBUS. Every operation has its own fixed function code (coil status-01, input status-02, holding registers-03, input registers-04, etc). It is independent of devices. All parameter values are stored in holding registers (addresses 4xxxx). Different holding registers hold values of different parameters. Individual parameter addresses can be found in user manual for EM6400.
+For example, \\
+Current (phase 1): 3929 \\
+Voltage (phase 1): 3927 \\
+Active power (phase 1): 3919 \\
+
+Each MODBUS register is of size 16 bits and all EM6400 readings are 32 bits. So, each reading occupies two consecutive MODBUS registers. Values in every register are in little endian format (1st register contains LSB and next register contains MSB). Energy meter here is a slave and slave addresses can be set between 1 and 247, as mentioned earlier.
+
+A request to read holding registers has to be sent in specified format. An example packet is shown below.
+
+Request: 01 03 0F56 0002 270F\\
+01: Slave address \\
+03: Function code for read holding registers \\
+0F56: Data Address of the first requested register (address for voltage phase1 to neutral) \\
+(0F56 hex = 3927, +40001 offset = 43928) \\
+0002: Total number of registers requested \\
+270F: CRC (Cyclic Redundancy Check) for error checking (LSB first) \\
+
+
+Response: 01 03 04 2921 4373 D2B0\\
+01: Slave address \\
+03: Function code for read holding registers \\
+04: Total number of bytes read \\
+2921: Data in 1st requested register \\
+4373: Data in 2st requested register \\
+D2B0: CRC for error checking (LSB first) \\
+
+Values in required register are 43732921 in hex (since obtained values are being read in little endian format) which is 243.16 when converted to floating point using IEEE 754 norms. Obtained value is a voltage (phase1 to neutral) which is 243.16 Volts.
+
+Most of the numeric values to be stored in the computer are more than one byte long. Thus there arises a question of how to store the multibyte values on the computer machines where each byte has its own address i.e. which byte gets stored at the ‘first’ (lower) memory location and which bytes follow in higher memory locations. For example, if a two byte integer 0x5E5F is stored on disk by one machine with the 0x5E (high byte or MSB) stored at the lower memory address and the 0x5F (low byte or LSB) stored at a higher memory address, but a different machine reads that integer by picking 0x5F for the high byte and the 0x5E for the low byte, giving 0x5F5E, thus resulting into an disagreement on the value of the integer between the two machines.
+However, there is no so called ‘right’ ordering to store the bytes in the case of multibyte quantities. Hardware is built to store the bytes in a particular fashion and as long as compatible hardware reads the bytes in the same fashion, things are fine. Following are the two major types of byte ordering:
+\begin{enumerate}
+\item Little Endian:
+
+If the hardware is designed so that the lowest or the least significant byte (LSB) of a multibyte integer is stored ‘first’, at the lowest memory address, then the hardware is said to be Little Endian. In this format, the ‘little’ end of the integer gets stored first and the next bytes get stored in higher (increasing) memory locations.
+\item Big Endian:
+Here, the hardware is designed so that the highest or the most significant byte (MSB) of a multibyte integer is stored ‘first’, at the lowest memory address. Thus, the ‘big’ end of the integer gets stored first and accordingly the next bytes get stored in higher (increasing) memory locations.
+\end{enumerate}
+For example, let us take a four byte integer 0x436B84A3. Quite obvious, the ‘little’ end byte, LSB is 0x84A3, and the ‘big’ end byte, MSB is 0x436B; taking into consideration that the Read Holding Registers are 16 bits each. Thus the aforesaid memory storage patterns for the integer would be \tabref{tab:ieee-decimal}
+
+\begin{table}
+\centering
+\caption{Hexadecimal to Decimal}
+\label{tab:ieee-decimal}
+\begin{tabular}{ |p{3cm}|p{3cm}|p{3cm}|p{3cm}|}
+
+\hline
+\multicolumn{4}{|c|}{Four Bytes Integer Reading from Meter} \\
+\hline
+
+ Memory Address & Memory Address & Little Endian & Big Endian \\ \hline
+ 3900 & 8A43 & MSB & LSB \\
+ 3901 & 436B & LSB & MSB \\ \hline
+ \end{tabular}
+\end{table}
+
+
+In order to represent the Hexadecimal values of the Read Holding Registers into user friendly decimal (floating point) values, we follow IEEE 754 Standard. Most common standards for representing floating point numbers are:
+\begin{enumerate}
+\item Single Precision: Used for 32 bits. Out of those 32 bits, one bit represents the sign bit, 8 bits for exponent and the remaining 23 bits for mantissa, as depicted \tabref{tab:single-precision}
+
+\begin{table}
+\centering
+\caption{Single Precision Representation}
+\label{tab:single-precision}
+\begin{tabular}{|p{3cm}|p{3cm}|p{3cm}|}
+\hline
+
+
+
+ Sign (1 bit) & Exponent (8 bit) & Mantisa (23 bit) \\ \hline
+ \end{tabular}
+\end{table}
+\item Double Precision: Used for 64 bits. Out of those 32 bits, one bit represents the sign bit, 8 bits for
+ exponent and the remaining 23 bits for mantissa, as depicted \tabref{tab:double-precision}
+
+\begin{table}
+\centering
+\caption{Double Precision Representation}
+\label{tab:double-precision}
+\begin{tabular}{ |p{3cm}|p{3cm}|p{3cm}|}
+\hline
+
+
+ Sign (1 bit) & Exponent (11 bit) & Mantisa (52 bit) \\ \hline
+ \end{tabular}
+\end{table}
+\end{enumerate}
+Finally, the decimal value is given by
+
+\begin {centering} \framebox {Decimal Value = $( - 1) * sign * 2^{exponent}* Mantissa$} \\
+\end{centering}
+
+Hence, for 32 bit values, the sign is stored in bit 32. The exponent can be calculated from bits 24-31 by subtracting 127. The mantissa is stored in bits 1-23. An invisible leading bit (i.e. it is not actually stored) with value 1.0 is placed in front, then bit 23 has a value of 1/2, bit 22 has value 1/4 etc. As a result, the mantissa has a value between 1.0 and 2. At last, the decimal value is calculated using the above mentioned equation. Though there are several online converters available as IEEE 754 Converter, a function has been formulated in Scilab for this conversion here.
+
+
+\section{Objective}
+The objective of this experiment is to make the user acquainted with the industrial applications possible with Arduino Uno, using MODBUS Protocol. It gives an insight on how to acquire readings from the Energy Meter and interpret it accordingly. As mentioned before, an energy meter is a device which gives us different electrical parameters like voltage, current, power etc. consumed by a device. Here, we aim to obtain these values using Scilab and Arduino Uno. For data transmission, we have used RS485 Module.
+
+Scilab is used for giving the required parameters to the Arduino. For example, the user will tell the required Slave Address to be accessed and the number of registers to read/write. Here, Arduino acts as a Master and Energy Meter as a slave. Therefore, referring to a particular slave address will in this case refer to the desired electrical parameters (Current, Voltage, Power etc.) which we want from the Energy Meter (Slave).
+
+This Arduino is then connected to the Energy Meter via a MAX485 chip which facilitates long distance communication. The information packet is sent to the Arduino which sends it to the Energy Meter. The Energy meter then accesses the values in the required addresses in its memory and transfers it back. This is again in the form of another packet. Data which is in Little Endian HEX format is obtained from this and is converted to floating point number using IEEE 754.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/Full-Set-Up.png}
+\caption{MODBUS Set Up for Energy Meter}
+\label{fig:full-set-up}
+\end{figure}
+
+Energy Meter set up for MODBUS protocol with Arduino Uno \figref{fig:block-diagram}:\\
+\begin{enumerate}
+\item As we know, Arduino UNO has one serial port. It communicates on the digital pins 0 and 1 as well as on the computer via USB. Since we want serial communication which shouldn’t be disturbed by the USB port and the Serial Monitor, we use the Software Serial library. Using this library we can assign any digital pins as RX and TX and use for serial communication. Pin 10 (used as RX) and Pin 11(used as TX) is connected to RO (Receive Out) and DI (Data In) pins of MAX485 module respectively.
+\item DE (Data Enable) and (Receive Enable) pins of RS 485 are shorted and connected to digital pin 3 of Arduino.This serves as Control Pin which will control when to receive and transmit serially.
+\item Vcc and GND of the MAX485 module are connected to Vcc and GND of Arduino.
+\item A and B pins of MAX485 are connected to A (Pin 7) and B (Pin 14) pins of the Energy Meter (meant for RS485 communication).
+\item A $120k\Omega$ termination resistance is connected in between pins A and B to avoid reflection losses in transmission line.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/block-diagram.PNG}
+\caption{Block Diagram for Energy Meter Setup}
+\label{fig:block-diagram}
+\end{figure}
+
+\end{enumerate}
+
+
+\section{Softwares}
+
+Software for the demonstration comprises of two parts:
+
+\begin{enumerate}
+\item Arduino Uno firmware code
+This code is written to communicate with Scilab (using serial interface), and with MAX485 chip (using Software Serial interface). Control logic to enable receive and transmit modes of MAX485 chip is also present in Arduino Uno firmware code.The overall implementation is being described in \figref {fig:modbus-firmware}.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/arduino_code_flowchart.png}
+\caption{Flowchart of Arduino firmware}
+\label{fig:modbus-firmware}
+\end{figure}
+
+\item Scilab code
+This code requests energy meter readings by sending request packet to Arduino Uno from Scilab. Then it waits till requested packet is available from Arduino Uno. After receiving the packet, it extracts data from the packet and converts it into IEEE 754 floating point format.The overall implementation is being described below :
+
+\begin {enumerate}
+\item Frame request packet to be sent to slave in ascii coded decimal format
+\item Send the packet serially to arduino board (arduino sends this packet to energy meter via RS 485 module)
+\item Read the response packet available on arduino board (sent by energy meter to arduino via RS 485)
+\item Extract holding register contents from received packet
+\item Convert 32 bit register contents which are in little endian format to floating point number using ieeesingle2num function
+\item Display the value of electrical parameter read(i.e. voltage, current or power)
+\end{enumerate}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/flowchart.png}
+\caption{Flow Chart of the Modbus Energy Meter Implementation}
+\label{fig:flow-chart}
+\end{figure}
+
+\end{enumerate}
+
+\section{Output}
+
+\begin{enumerate}
+\item Single phase current output:
+\figref{fig:current-console} and \figref{fig:current-meter} show Scilab code output of current in Amperes and corresponding snapshot of energy meter display with a single load rated 60W-230V.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/current-output.png}
+\caption{Single Phase Current Output on Scilab Console}
+\label{fig:current-console}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/current-output-setup.jpg}
+\caption{Single Phase Current Output on Energy Meter}
+\label{fig:current-meter}
+\end{figure}
+
+\item Single phase voltage output:
+\figref{fig:voltage-console} and \figref{fig:voltage-meter} show Scilab code output of voltage in Volts and corresponding snapshot of energy meter display with a single load rated 60W-230V.
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/voltage-output.png}
+\caption{Single Phase Voltage Output on Scilab Console}
+\label{fig:voltage-console}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/voltage-output-setup.jpg}
+\caption{Single Phase Voltage Output on Energy Meter}
+\label{fig:voltage-meter}
+\end{figure}
+
+\item Single phase active power outputs are shown in \figref{fig:power-console} and \figref{fig:power-meter}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/active-power-output.png}
+\caption{Single Phase Voltage Output on Scilab Console}
+\label{fig:power-console}
+\end{figure}
+
+\begin{figure}
+\centering
+\includegraphics[width=\lgfig]{\LocMODfig/active-power-output-setup.jpg}
+\caption{Single Phase Voltage Output on Energy Meter}
+\label{fig:power-meter}
+\end{figure}
+
+\end{enumerate}
+
+
+In output, user could see the requested energy parameter on Scilab console. For demonstration we have taken single phase current, single phase voltage and single phase active power reading. We can always verify the Scilab output with the value being displayed on the energy meter display screen.
+
+\section{Reading Parameters from Xcos}
+In this section we will carry out the same experiments discussed in the previous sections but through Xcos. One should go through \secref{sec:xcos-start} before continuing.
+
+\begin{enumerate}
+\item The xcos diagram for performing the read values for single phase current, single phase voltage and single phase power operation is as shown in \figref{fig:mod-read}. The location of the xcos file is mentioned in the caption of the figure.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocMODfig/read_value_xcos.png}
+ \caption[Xcos diagram to read Energy Meter values]{Xcos diagram to read Energy Meter values.
+ This is what one sees when
+ {\tt \LocMODscibrief/read\_value\_xcos.zcos} is invoked.}
+ \label{fig:mod-read}
+ \end{figure}
+The parameters of the blocks can be changed by right clicking on the block and choosing {\tt Block Parameters}. One can also double click on the block. The values for each block is tabulated in \tabref{tab:mod-xcos-read}. All other parameters are to be left unchanged.
+
+\begin{table}
+ \centering
+ \caption{Xcos parameters to read Energy Meter}
+ \label{tab:mod-xcos-read}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ CONST\_m & Address byte for voltage & 86 \\
+ & Address byte for current & 88 \\
+ & Address byte for power & 78\\ \hline
+ SELF\_SWITCH & Signal Routing & on/off \\ \hline
+ BIGSOM\_f & Scalar vector addition/substraction Summation & [1;1;1] \\ \hline
+ scifunc\_block\_m & Block for user\-defined function & read\_value.sci \\ \hline
+ AFFICH\_m & Block inherits(1) or not (0) & 0 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation Time & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+
+\end{enumerate}
+
+\section{Arduino Code}
+\label{sec:firmware-modbus}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+\acaption{Firmware for modbus Energy meter experiment}
+{Firmware for modbus \\ Available at \LocMODardbrief/send\_packet.ino}
+\label{ard:firmware-modbus}
+\lstinputlisting{\LocMODardcode/send_packet.ino}
+\end{ardcode}
+
+\section{Scilab Code}
+\label{sec:modbus-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+\ccaption{function for scifunc block}
+{Scifunc block function \\ Available at
+ \LocMODscibrief/read\_val.sci.}
+\label{sci:current-modbus}
+\lstinputlisting{\LocMODscicode/read_val.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Single Phase Current Output}
+{Single Phase Current Output \\ Available at
+ \LocMODscibrief/read\_current.sci.}
+\label{sci:current-modbus}
+\lstinputlisting{\LocMODscicode/read_current.sci}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Single Phase Voltage Output}
+{Single Phase Voltage Output \\ Available at
+ \LocMODscibrief/read\_voltage.sci.}
+\label{sci:voltage-modbus}
+\lstinputlisting{\LocMODscicode/read_voltage.sci}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Single Phase Active Power Output}
+{Single Phase Active Power Output \\ Available at
+ \LocMODscibrief/read\_active\_power.sci.}
+\label{sci:modbus-power}
+\lstinputlisting{\LocMODscicode/read_active_power.sci}
+\end{scicode}
+
+
diff --git a/scilab-arduino/user-code/modbus/python/read_active_power.py b/scilab-arduino/user-code/modbus/python/read_active_power.py
new file mode 100644
index 0000000..588a0cc
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/python/read_active_power.py
@@ -0,0 +1,52 @@
+#!/usr/bin/python
+
+import serial,time
+import struct
+import sys
+
+if serial.Serial('COM2',9600).isOpen():
+ serial.Serial('COM2',9600).close()
+s= serial.Serial('COM2',9600)
+#s.write("A")
+s.flushOutput()
+s.flushInput()
+time.sleep(2)
+
+a = '00000001'
+b = '00000011'
+c = '00001111'
+d = '01001110'
+e = '00000000'
+f = '00000010'
+g = '10100111'
+h = '00001000'
+aa = str(chr(int(a,2)))
+bb = str(chr(int(b,2)))
+cc = str(chr(int(c,2)))
+dd = str(chr(int(d,2)))
+ee = str(chr(int(e,2)))
+ff = str(chr(int(f,2)))
+gg = str(chr(int(g,2)))
+hh = str(chr(int(h,2)))
+fin = aa + bb + cc + dd + ee + ff + gg + hh
+#s.flushOutput()
+finaly = s.write(fin.encode('utf-8'))
+time.sleep(0.5)
+
+i = 0
+ll = []
+while True:
+ time.sleep(0.001)
+ if s.inWaiting() != 0:
+#s.flushInput()
+ ll.append(s.read())
+ #print ll
+ if len(ll) == 9:
+ temp = str(ll[5].encode('hex')) + str(ll[6].encode('hex')) + str(ll[3].encode('hex')) + str(ll[4].encode('hex'))
+ #print temp
+ ans = struct.unpack('!f', temp.decode('hex'))[0]
+ temp = str(ans).split("e")
+ print ('Value of active power on energy meter is %s' %(ans))
+ break
+s.close()
+time.sleep(1)
diff --git a/scilab-arduino/user-code/modbus/python/read_current.py b/scilab-arduino/user-code/modbus/python/read_current.py
new file mode 100644
index 0000000..91d4e51
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/python/read_current.py
@@ -0,0 +1,52 @@
+#!/usr/bin/python
+
+import serial,time
+import struct
+import sys
+
+if serial.Serial('COM2',9600).isOpen():
+ serial.Serial('COM2',9600).close()
+s= serial.Serial('COM2',9600)
+#s.write("A")
+s.flushOutput()
+s.flushInput()
+time.sleep(2)
+
+a = '00000001'
+b = '00000011'
+c = '00001111'
+d = '01011000'
+e = '00000000'
+f = '00000010'
+g = '01000110'
+h = '11001100'
+aa = str(chr(int(a,2)))
+bb = str(chr(int(b,2)))
+cc = str(chr(int(c,2)))
+dd = str(chr(int(d,2)))
+ee = str(chr(int(e,2)))
+ff = str(chr(int(f,2)))
+gg = str(chr(int(g,2)))
+hh = str(chr(int(h,2)))
+fin = aa + bb + cc + dd + ee + ff + gg + hh
+#s.flushOutput()
+finaly = s.write(fin.encode('utf-8'))
+time.sleep(0.5)
+
+i = 0
+ll = []
+while True:
+ time.sleep(0.001)
+ if s.inWaiting() != 0:
+#s.flushInput()
+ ll.append(s.read())
+ #print ll
+ if len(ll) == 9:
+ temp = str(ll[5].encode('hex')) + str(ll[6].encode('hex')) + str(ll[3].encode('hex')) + str(ll[4].encode('hex'))
+ #print temp
+ ans = struct.unpack('!f', temp.decode('hex'))[0]
+ temp = str(ans).split("e")
+ print ('Value of current on energy meter is %s' %(ans))
+ break
+s.close()
+time.sleep(1)
diff --git a/scilab-arduino/user-code/modbus/python/read_voltage.py b/scilab-arduino/user-code/modbus/python/read_voltage.py
new file mode 100644
index 0000000..a972355
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/python/read_voltage.py
@@ -0,0 +1,52 @@
+#!/usr/bin/python
+
+import serial,time
+import struct
+import sys
+
+if serial.Serial('COM2',9600).isOpen():
+ serial.Serial('COM2',9600).close()
+s= serial.Serial('COM2',9600)
+#s.write("A")
+s.flushOutput()
+s.flushInput()
+time.sleep(2)
+
+a = '00000001'
+b = '00000011'
+c = '00001111'
+d = '01010110'
+e = '00000000'
+f = '00000010'
+g = '00100111'
+h = '00001111'
+aa = str(chr(int(a,2)))
+bb = str(chr(int(b,2)))
+cc = str(chr(int(c,2)))
+dd = str(chr(int(d,2)))
+ee = str(chr(int(e,2)))
+ff = str(chr(int(f,2)))
+gg = str(chr(int(g,2)))
+hh = str(chr(int(h,2)))
+fin = aa + bb + cc + dd + ee + ff + gg + hh
+#s.flushOutput()
+finaly = s.write(fin.encode('utf-8'))
+time.sleep(0.5)
+
+i = 0
+ll = []
+while True:
+ time.sleep(0.001)
+ if s.inWaiting() != 0:
+#s.flushInput()
+ ll.append(s.read())
+ #print ll
+ if len(ll) == 9:
+ temp = str(ll[5].encode('hex')) + str(ll[6].encode('hex')) + str(ll[3].encode('hex')) + str(ll[4].encode('hex'))
+ #print temp
+ ans = struct.unpack('!f', temp.decode('hex'))[0]
+ temp = str(ans).split("e")
+ print ('Value of voltage on energy meter is %s' %(ans))
+ break
+s.close()
+time.sleep(1)
diff --git a/scilab-arduino/user-code/modbus/scilab/ieeesingle2num.sci b/scilab-arduino/user-code/modbus/scilab/ieeesingle2num.sci
new file mode 100644
index 0000000..d9f5d38
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/scilab/ieeesingle2num.sci
@@ -0,0 +1,32 @@
+function y = ieeesingle2num(hexa)
+
+// This converts an integer form of IEEE single
+// precision format to the corresponding
+// value. The argument x must be a 'double'
+// positive integer less than 2^32. For example,
+// 1078530011 ==> 40490FDB ==> 3.14159274101257
+// RAS - 9/20/06
+
+//x=1078530011
+//hexa='4368b333'
+x=hex2dec(hexa);
+k = 2^31 //pow2(31);
+s = (x >= k);
+if s, x = x - k; end
+//t = pow2(x,-23);
+t = x.*2.^-23
+e = floor(t);
+f = t - e;
+if e == 255
+ if f == 0, y = %inf; else, y = %nan; end
+elseif e > 0
+// y = pow2(1+f,e-127);
+ y = (1+f).*2.^(e-127);
+
+else
+// y = pow2(f,-126);
+ y = f.*2.^-126;
+end
+if s, y = -y; end
+
+//end
diff --git a/scilab-arduino/user-code/modbus/scilab/read_active_power.sci b/scilab-arduino/user-code/modbus/scilab/read_active_power.sci
new file mode 100644
index 0000000..8cc6954
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/scilab/read_active_power.sci
@@ -0,0 +1,34 @@
+//energy
+function read_active_power()
+
+h=open_serial(1,2,9600)
+//for x=1:5
+ arr=[ascii(01) ascii(03) ascii(15) ascii(78) ascii(00) ascii(02) ascii(167) ascii(08)];
+ asc1=ascii(01) + ascii(03) + ascii(15) + ascii(78) + ascii(00) + ascii(02) + ascii(167) + ascii(08);
+
+write_serial(1,asc1,8);
+
+buf=read_serial(1,11)
+
+sleep(1000)
+//end
+b1=0;b2=0;b3=0;b4=0;
+myresult=ascii(buf)
+a1=myresult(5); if(a1<16) then b1=1; end; a1=dec2hex(a1); if(b1) then a1= '0'+string(a1); end;
+a2=myresult(6);if(a2<16) then b2=1; end; a2=(dec2hex(a2)); if(b2) then a2= '0'+string(a2); end;
+a3=myresult(7);if(a3<16) then b3=1; end; a3=(dec2hex(a3)); if(b3) then a3= '0'+string(a3); end;
+a4=myresult(8);if(a4<16) then b4=1; end; a4=(dec2hex(a4)); if(b4) then a4= '0'+string(a4); end;
+a5=[a3,a4,a1,a2];
+a6=strcat(a5)
+//a6=a2+256*a1+256*256*a4+256*256*256*a3
+//a7=hex2dec(a6)
+//disp(a5)
+
+
+p=ieeesingle2num(a6)
+disp("Active Power(in W)=")
+disp(p)
+//end
+close_serial(1)
+
+endfunction
diff --git a/scilab-arduino/user-code/modbus/scilab/read_current.sci b/scilab-arduino/user-code/modbus/scilab/read_current.sci
new file mode 100644
index 0000000..326f19d
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/scilab/read_current.sci
@@ -0,0 +1,33 @@
+//current
+//function read_current()
+function read_current()
+
+h=open_serial(1, 2, 9600)
+//for x=1:5
+ arr=[ascii(01) ascii(03) ascii(15) ascii(88) ascii(00) ascii(02) ascii(70) ascii(204)];
+
+ arr1=ascii(01) + ascii(03) + ascii(15) + ascii(88) + ascii(00) + ascii(02) + ascii(70) + ascii(204);
+write_serial(1, arr1, 8);
+
+buf=read_serial(1, 11)
+
+//sleep(1000)
+//end
+b1=0;b2=0;b3=0;b4=0;
+myresult=ascii(buf)
+a1=myresult(5); if(a1<16) then b1=1; end; a1=dec2hex(a1); if(b1) then a1= '0'+string(a1); end;
+a2=myresult(6);if(a2<16) then b2=1; end; a2=(dec2hex(a2)); if(b2) then a2= '0'+string(a2); end;
+a3=myresult(7);if(a3<16) then b3=1; end; a3=(dec2hex(a3)); if(b3) then a3= '0'+string(a3); end;
+a4=myresult(8);if(a4<16) then b4=1; end; a4=(dec2hex(a4)); if(b4) then a4= '0'+string(a4); end;
+a5=[a3,a4,a1,a2];
+a6=strcat(a5)
+//a6=a2+256*a1+256*256*a4+256*256*256*a3
+//a7=hex2dec(a6)
+//disp(a5)
+
+close_serial(1)
+
+p=ieeesingle2num(a6)
+disp("Current(in A)=")
+disp(p)
+endfunction
diff --git a/scilab-arduino/user-code/modbus/scilab/read_val.sce b/scilab-arduino/user-code/modbus/scilab/read_val.sce
new file mode 100644
index 0000000..6143d9e
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/scilab/read_val.sce
@@ -0,0 +1,45 @@
+
+//voltage
+function p=read_val(addr_byte)
+h=open_serial(1,2,9600)
+
+//for x=1:5
+ //arr=[ascii(01) ascii(03) ascii(15) ascii(86) ascii(00) ascii(02) ascii(39) ascii(15)];
+ //arr1=string(arr)
+ if(addr_byte==86)
+ array1=ascii(01)+ ascii(03) + ascii(15) + ascii(86) + ascii(00) + ascii(02) + ascii(39) + ascii(15)
+ disp("Voltage(in V)=")
+ elseif(addr_byte==88)
+ array1=ascii(01) + ascii(03) + ascii(15) + ascii(88) + ascii(00) + ascii(02) + ascii(70) + ascii(204);
+ disp("Current(in A)=")
+ elseif(addr_byte==78)
+ array1=ascii(01) + ascii(03) + ascii(15) + ascii(78) + ascii(00) + ascii(02) + ascii(167) + ascii(08);
+ disp("Active Power(in W)=")
+ end
+ write_serial(1,array1,8);
+
+buf=read_serial(1,11)
+
+//sleep(100)
+//end
+
+
+b1=0;b2=0;b3=0;b4=0;
+myresult=ascii(buf)
+a1=myresult(5); if(a1<16) then b1=1; end; a1=dec2hex(a1); if(b1) then a1= '0'+string(a1); end;
+a2=myresult(6);if(a2<16) then b2=1; end ; a2=(dec2hex(a2)); if(b2) then a2= '0'+string(a2); end;
+a3=myresult(7);if(a3<16) then b3=1; end; a3=(dec2hex(a3)); if(b3) then a3= '0'+string(a3); end;
+a4=myresult(8);if(a4<16) then b4=1; end; a4=(dec2hex(a4)); if(b4) then a4= '0'+string(a4); end;
+a5=[a3,a4,a1,a2];
+a6=strcat(a5)
+//a6=a2+256*a1+256*256*a4+256*256*256*a3
+//a7=hex2dec(a6)
+//disp(a5)
+
+close_serial(1)
+//
+p=ieeesingle2num(a6)
+
+disp(p)
+//
+endfunction
diff --git a/scilab-arduino/user-code/modbus/scilab/read_val_xcos.zcos b/scilab-arduino/user-code/modbus/scilab/read_val_xcos.zcos
new file mode 100644
index 0000000..bce1ada
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/scilab/read_val_xcos.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/modbus/scilab/read_voltage.sci b/scilab-arduino/user-code/modbus/scilab/read_voltage.sci
new file mode 100644
index 0000000..33a749e
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/scilab/read_voltage.sci
@@ -0,0 +1,36 @@
+//voltage
+function read_voltage()
+//endfunction
+h=open_serial(1,2,9600)
+
+//for x=1:5
+ arr=[ascii(01) ascii(03) ascii(15) ascii(86) ascii(00) ascii(02) ascii(39) ascii(15)];
+ //arr1=string(arr)
+ aac=ascii(01)+ ascii(03) + ascii(15) + ascii(86) + ascii(00) + ascii(02) + ascii(39) + ascii(15)
+ write_serial(1,aac,8);
+
+buf=read_serial(1,11)
+
+//sleep(100)
+//end
+
+
+b1=0;b2=0;b3=0;b4=0;
+myresult=ascii(buf)
+a1=myresult(5); if(a1<16) then b1=1; end; a1=dec2hex(a1); if(b1) then a1= '0'+string(a1); end;
+a2=myresult(6);if(a2<16) then b2=1; end ; a2=(dec2hex(a2)); if(b2) then a2= '0'+string(a2); end;
+a3=myresult(7);if(a3<16) then b3=1; end; a3=(dec2hex(a3)); if(b3) then a3= '0'+string(a3); end;
+a4=myresult(8);if(a4<16) then b4=1; end; a4=(dec2hex(a4)); if(b4) then a4= '0'+string(a4); end;
+a5=[a3,a4,a1,a2];
+a6=strcat(a5)
+//a6=a2+256*a1+256*256*a4+256*256*256*a3
+//a7=hex2dec(a6)
+//disp(a5)
+
+close_serial(1)
+//
+p=ieeesingle2num(a6)
+disp("Voltage(in V)=")
+disp(p)
+//
+endfunction
diff --git a/scilab-arduino/user-code/modbus/thermistor.tex~ b/scilab-arduino/user-code/modbus/thermistor.tex~
new file mode 100644
index 0000000..432971b
--- /dev/null
+++ b/scilab-arduino/user-code/modbus/thermistor.tex~
@@ -0,0 +1,226 @@
+\chapter {Interfacing a Thermistor}
+\thispagestyle{empty}
+\label{thermistor}
+
+\newcommand{\LocTHERMfig}{\Origin/user-code/thermistor/figures}
+\newcommand{\LocTHERMscicode}{\Origin/user-code/thermistor/scilab}
+\newcommand{\LocTHERMscibrief}{Origin/user-code/thermistor/scilab}
+\newcommand{\LocTHERMardcode}{\Origin/user-code/thermistor/arduino}
+\newcommand{\LocTHERMardbrief}{Origin/user-code/thermistor/arduino}
+
+A thermistor is basically a temperature dependent/sensitive resistor. It falls under the category of semiconductor sensors. Depending on the temperature in the vicinity of the thermistor, its resistance changes. Thermistors are available in two types, NTC and PTC. NTC stands for Negative Temperature Coefficient and PTC means Positive Temperature Coefficient. In NTC thermistors the resistance decreases with increase in temperature and vice versa. Whereas, for PTC the resistance increases with an increase in temperature and vice versa. The temperature ranges over $-55^{\circ}$celsius to $+125^{\circ}$celsius
+
+Thermistors are available in shapes of bead, rod, flakes and discs. Due to their compact size and low cost, they have a wide application where rough temperature sensing is required. They however suffer from noise and need noise compensation. In this chapter we shall interface a thermistor with the \arduino\ board.
+
+\section{Preliminaries}
+A typical thermistor and its symbolic repersentation are shown in \ref{fig:therm} and \ref{fig:thermsym} respectively. The thermistor is available on the shield provided with the kit. It is a bead type thermistor. The thermistor is connected to the analog pin 4 of the \arduino\ board.
+
+The connections for this experiment are shown in \ref{fig:therm-conn}. However, the user doesn't need to connect any wire or component explicitly.
+
+
+\begin{figure}
+\centering
+\subfloat[Pictorial representation of a thermistor]{
+\includegraphics[width=\smfig]{\LocTHERMfig/NTC-bead.jpg}
+\label{fig:therm}} \hfill
+\subfloat[Symbolic representation of a thermistor]{
+\includegraphics[width=\smfig]{\LocTHERMfig/therm-sym.png}
+\label{fig:thermsym}}
+\caption{Thermistor}
+\end{figure}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocTHERMfig/THERMISTOR-Diagram.jpg}
+\caption{Thermistor connection diagram}
+\label{fig:therm-conn}
+\end{figure}
+
+\section{Reading thermistor from Arduino IDE}
+In this section we will learn how to read values from the thermistor connected at pin 4 of the \arduino\ board. We shall also see how to drive a buzzer depending upon the thermistor values.
+
+\begin{enumerate}
+\item A simple code to read the values from thermistor is given in \ardref{ard:therm-read}. The arduino IDE based command for the analog read functionality is given by.
+\lstinputlisting[firstline=9,lastline=9] {\LocTHERMardcode/therm-read/therm-read.ino}
+where {\tt A4} represents the analog pin 4 to be read. The read value is stored in variable {\tt value} and is displayed using \lstinputlisting[firstline=10,lastline=10] {\LocTHERMardcode/therm-read/therm-read.ino}
+The command on next line
+
+\lstinputlisting[firstline=11,lastline=11] {\LocTHERMardcode/therm-read/therm-read.ino}
+ is used to put a delay of 500 milliseconds. This is to avoid very fast display of the read values. The entire reading and display operation is carried out 40 times.
+
+The values can be observed over the serial monitor. The numbers displayed range from 0 to 1023. The thermistor used has a resistance of 10k at room temperature. It is connected in a voltage divider form using another fixed 10k resistor. A voltage of 5 volts is applied accross the series combination of the thermistor and the fixed 10k resistor. Voltage accross the fixed resistor is sensed and is given to the ADC. Hence at room temperature, both the resistors offer 10k resistance resulting in dividing the 5V equally. Therefore, at room temperature you may get the output of ADC around 500. If a heating or cooling source is available, one can observe the increase or desrease in the ADC output. Although the thermistor is of NTC type, the ADC output increases with increase in temperature. This is because the voltage accross the fixed resistor is sensed.
+
+\item In this experiment, we will turn On and Off the buzzer depending on the temperature sensed by the thermistor. The program for this is available at \ardref{ard:therm-buzzer}. We shall use the ADC output to carry this out. The buzzer is connected on pin 3 which is a digital output pin. The ADC output value is displayed on the serial monitor. At the same time it is compared with value 550. Temperature of the thermistor is raised using body temperature by just holding it for a while. As soon as the ADC output exceeds 550, the buzzer is given a digital high signal, turning it On. A delay of half a second is introduced before the next value is read. This loop is executed 100 times.
+\end{enumerate}
+
+\begin{exercise}
+Carry out the following exercise:
+\begin{enumerate}
+\item Put the thermistor in the vicinity of an Ice bowl. Take care not to wet the shield while doing so. Note down the ADC output value for 0$^{\circ}$celsius.
+\end{enumerate}
+\end{exercise}
+
+\section {Reading thermistor from scilab scripts}
+In this section we will explain a few scilab scripts to read values from thermistor. The {\tt cmd\_analog\_in} command will be used to read from thermistor connected to an analog input pin. The experiments will be carried out using scilab.
+
+\begin{enumerate}
+\item \sciref{sci:therm-read} is used to read values from thermistor. First the serial port is opened using the command {\tt open\_serial} and passing the correct port number to it. The command {\tt cmd\_analog\_in} is used to read from the analog pin. The pin number is passed to this command as an argument. The read value is stored in some variable. The value is then displayed on the scilab console. A sleep of 500 millisecond is executed using the {\tt sleep} command and then the reading process is repeated 20 times by putting it in a {\tt for} loop. After the loop is finished the serial port is closed using the {\tt close\_serial} command.
+
+
+\item In this experiment we will use scilab script to turn on and off a buzzer using the thermistor values. The changes in the thermistor resistance is sensed as a voltage change between 0 to 5V. The ADC maps the thermistor voltage readings in to values ranging from 0 to 1023. This means 0 for 0 volts and 1023 for 5 volts. At room temperature the thermistor offers 10K resistance. The circuit arrangement makes the output voltage half of 5 volts i.e. around 2.5 volts. Hence the output is around 500. In this experiment we compare the ADC ouput value with 550 and as soon as the value exceeds 550 the buzzer is turned on. See \sciref{sci:therm-buzzer} for the complete code. We use {\tt if} loop to achieve this functionality. Command {\tt cmd\_digital\_out} is used to turn on and off the buzzer. Correct port number on which the buzzer is connected is passed to this command as an argument. The entire process is repeated 500 times.
+
+
+\begin{exercise}
+Carry out the exercise below:
+Convert the ADC output readings to degree celsius. There are two ways to do so.
+\begin{enumerate}
+\item In the first method,
+\begin{align}
+\frac{1}{T}=A+B*ln(R)+C*(ln(R))^3
+\label{therm-abc}
+\end{align}
+equation \ref{therm-abc} can be used if the value of A, B, C and R are known. The temperature T is in kelvin and thermistor resistance R is in ohms. The values of A, B and C can be found out by measuring thermistor resistance against three known values of temperatures. Once a set of three values of T and R are known it will result in three equations with three uknowns. The values of A, B, C can be found out by solving the three equations simultaneously. Once the values of A, B, C are known, the same equation can be used to directly convert resistance to kelvin. It can be then converted to celsius. This method is preffered when the temperature coefficient of thermistor is not known or is known very approximately. This method is bit cumbersome but can give accurate temperature conversion.
+
+\item In the second method,
+\begin{align}
+\frac{1}{T}=\frac{1}{T_0}+\frac{1}{\beta}*ln\left(\frac{R}{R_0}\right)
+\label{therm-beta}
+\end{align}
+equation \ref{therm-beta} can be used if the value of $\beta$ i.e. the Tempreature Coefficient of Resistance of the thermistor used is known. $R$ is the resistance of thermistor at temperature $T$ in kelvin. $R_0$ is the resistance of thermistor at room temperature $T_0$ in kelvin.
+\end{enumerate}
+\end{exercise}
+
+\end{enumerate}
+
+
+\section{Reading thermistor from Xcos}
+In this section we will carry out the same experiments discussed in the previous sections but through Xcos. One should go through \secref{sec:xcos-start} before continuing.
+
+\begin{enumerate}
+\item The xcos diagram for performing the simple thermistor read operation is as shown in \figref{fig:therm-read}. The location of the xcos file is mentioned in the caption of the figure.
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-read-xcos.png}
+ \caption[Xcos diagram to read thermistor values]{Xcos diagram to read thermistor values.
+ This is what one sees when
+ {\tt \LocTHERMscibrief/therm-read-xcos.zcos} is invoked.}
+ \label{fig:therm-read}
+ \end{figure}
+The parameters of the blocks can be changed by right clicking on the block and choosing {\tt Block Parameters}. One can also double click on the block. The values for each block is tabulated in \tabref{tab:therm-read}. All other parameters are to
+ be left unchanged.
+
+\begin{table}
+ \centering
+ \caption{Xcos parameters to read thermistor}
+ \label{tab:therm-read}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & {\tt your port number} \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 100 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ ANALOG\_READ\_SB & Analog Pin & 4 \\
+ & Arduino card number & 1 \\ \hline
+ CSCOPE & Ymin & 200 \\
+ & Ymax & 600 \\
+ & Refresh period & 100 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation Time & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-read.png}
+ \caption[Output of Xcos diagram to read thermistor values]{Output of Xcos diagram to read thermistor values.
+ This is what one sees when
+ {\tt \LocTHERMscibrief/therm-read-xcos.zcos} is executed.}
+ \label{fig:therm-read-output}
+ \end{figure}
+The thermistor readings can be varied by bringing a heating or cooling source in the vicinity of it. The graph as shown in \figref{fig:therm-read-output} will show the variations in the ADC output that is displayed.
+
+\item In the second experiment, we will switch On and Off a buzzer depending on the thermistor readings (ADC output). The xcos diagram for this experiment is as shown in \figref{fig:therm-buzzer}.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-buzzer-xcos.png}
+% \includegraphics[width=\smfig]{\LocLDRfig/ldr-led-xcos.PNG}
+ \caption[Xcos diagram to read the value of thermistor, which is used to turn the buzzer on or off] {Xcos diagram to read the value of the thermistor, which is used to turn the buzzer on or off. This is what one sees when {\tt \LocTHERMscibrief/therm-buzzer-xcos.zcos} is invoked.}
+ \label{fig:therm-buzzer}
+ \end{figure}
+The parameters of the blocks can be changed by right clicking on the block and choosing {\tt Block Parameters}. One can also double click on the block. The values for each block is tabulated in \tabref{tab:therm-read}. All other parameters are to
+ be left unchanged.
+
+\begin{table}
+ \centering
+ \caption{Xcos parameters to read thermistor and switch the buzzer}
+ \label{tab:ldr-led}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & {\tt your port number} \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 100 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ ANALOG\_READ\_SB & Analog pin & 4 \\
+ & Arduino card number & 1 \\ \hline
+ CMSCOPE & Ymin & 0 300 \\
+ & Ymax & 1 600 \\
+ & Refresh period & 100 100 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation time & 0 \\ \hline
+ SWITCH2\_m & Datatype & 1 \\
+ & threshold & 550 \\
+ & pass first input if field & 0 \\
+ & use zero crossing & 1 \\ \hline
+ DIGITAL\_WRITE\_SB & Digital pin & 3 \\
+ & Arduino card number & 1 \\ \hline
+ \end{tabular}
+ \end{table}
+The graph as shown in \figref{fig:therm-buzzer-output} will show the variations in the ADC output that is displayed and the corresponding switching of buzzer whenever the limits are crossed.
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-buzzer.png}
+ \caption[Output of Xcos diagram to switch buzzer through thermistor values]{Output of Xcos diagram to switch buzzer through thermistor values. This is what one sees when {\tt \LocTHERMscibrief/therm-buzzer-xcos.zcos} is executed.}
+ \label{fig:therm-buzzer-output}
+ \end{figure}
+\end{enumerate}
+
+\section{Arduino Code}
+\label{sec:therm-arduino-code}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+\acaption{Read and display the thermistor values}
+{Read and display the thermistor values. Available at
+ \LocTHERMardbrief/therm-read/therm-read.ino}
+\label{ard:therm-read}
+\lstinputlisting{\LocTHERMardcode/therm-read/therm-read.ino}
+\end{ardcode}
+
+\begin{ardcode}
+\acaption{Turning the buzzer on and off using thermistor values}
+{Turning the buzzer on and off using the thermistor values read by ADC. Available at
+ \LocTHERMardbrief/therm-buzzer/therm-buzzer.ino.}
+\label{ard:therm-buzzer}
+\lstinputlisting{\LocTHERMardcode/therm-buzzer/therm-buzzer.ino}
+\end{ardcode}
+
+
+\section{Scilab Code}
+\label{sec:therm-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+\ccaption{Read and display the thermistor values}
+{Read and display the thermistor values. Available at
+ \LocTHERMscibrief/therm-read.sce}
+\label{sci:therm-read}
+\lstinputlisting{\LocTHERMscicode/therm-read.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Turning the buzzer on and off using thermistor values}
+{Turning the buzzer on and off using the thermistor values read by ADC. Available at
+ \LocTHERMscibrief/therm-buzzer.sce.}
+\label{sci:therm-buzzer}
+\lstinputlisting{\LocTHERMscicode/therm-buzzer.sce}
+\end{scicode}
diff --git a/scilab-arduino/user-code/pot/OpenModelica/pot-threshold.mo b/scilab-arduino/user-code/pot/OpenModelica/pot-threshold.mo
new file mode 100644
index 0000000..477d750
--- /dev/null
+++ b/scilab-arduino/user-code/pot/OpenModelica/pot-threshold.mo
@@ -0,0 +1,42 @@
+model pot_threshold
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ for i in 1:100 loop
+ analog_in := sComm.cmd_analog_in(1, 2) "read analog pin 2";
+ strm.print("Potentiometer Readings:" + String(analog_in));
+ if analog_in >= 0 and analog_in < 320 then
+ digital_out := sComm.cmd_digital_out(1, 11, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 11, 0) "Turn OFF LED";
+ elseif analog_in >= 320 and analog_in <= 900 then
+ digital_out := sComm.cmd_digital_out(1, 10, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 10, 0) "Turn OFF LED";
+ elseif analog_in > 900 and analog_in <= 1023 then
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "Turn OFF LED";
+ end if;
+ end for;
+ end if;
+ end when;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ //Run for 100 iterations
+ //Threshold 1
+ //Threshold 2
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 1));
+end pot_threshold; \ No newline at end of file
diff --git a/scilab-arduino/user-code/pot/OpenModelica/pot-threshold.sce b/scilab-arduino/user-code/pot/OpenModelica/pot-threshold.sce
new file mode 100644
index 0000000..477d750
--- /dev/null
+++ b/scilab-arduino/user-code/pot/OpenModelica/pot-threshold.sce
@@ -0,0 +1,42 @@
+model pot_threshold
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ for i in 1:100 loop
+ analog_in := sComm.cmd_analog_in(1, 2) "read analog pin 2";
+ strm.print("Potentiometer Readings:" + String(analog_in));
+ if analog_in >= 0 and analog_in < 320 then
+ digital_out := sComm.cmd_digital_out(1, 11, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 11, 0) "Turn OFF LED";
+ elseif analog_in >= 320 and analog_in <= 900 then
+ digital_out := sComm.cmd_digital_out(1, 10, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 10, 0) "Turn OFF LED";
+ elseif analog_in > 900 and analog_in <= 1023 then
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "Turn ON LED";
+ sComm.delay(1000);
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "Turn OFF LED";
+ end if;
+ end for;
+ end if;
+ end when;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ //Run for 100 iterations
+ //Threshold 1
+ //Threshold 2
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 1));
+end pot_threshold; \ No newline at end of file
diff --git a/scilab-arduino/user-code/pot/arduino/pot-threshold/pot-threshold.ino b/scilab-arduino/user-code/pot/arduino/pot-threshold/pot-threshold.ino
new file mode 100644
index 0000000..6f0ea8f
--- /dev/null
+++ b/scilab-arduino/user-code/pot/arduino/pot-threshold/pot-threshold.ino
@@ -0,0 +1,31 @@
+const int POT = 2;
+const int RGB_RED = 11;
+const int RGB_GREEN = 10;
+const int RGB_BLUE = 9;
+int p=0;
+int i=0;
+void setup() {
+ Serial.begin(115200);
+ pinMode(POT,INPUT);
+ pinMode(RGB_RED,OUTPUT);
+ pinMode(RGB_GREEN,OUTPUT);
+ pinMode(RGB_BLUE,OUTPUT);
+ for(i=0;i<10;i++){
+ p = analogRead(POT);
+ if(p>=0 & p<320) { //threshold 1
+ digitalWrite(RGB_RED,HIGH);
+ delay(1000);
+ digitalWrite(RGB_RED,LOW);
+ }else if(p>=320 &p<=900) { //threshold 2
+ digitalWrite(RGB_GREEN,HIGH);
+ delay(1000);
+ digitalWrite(RGB_GREEN,LOW);
+ }else if(p>900 & p<=1023) { //threshold 3
+ digitalWrite(RGB_BLUE,HIGH);
+ delay(1000);
+ digitalWrite(RGB_BLUE,LOW);
+ }
+ }
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/pot/auto/pot.el b/scilab-arduino/user-code/pot/auto/pot.el
new file mode 100644
index 0000000..bfb3e84
--- /dev/null
+++ b/scilab-arduino/user-code/pot/auto/pot.el
@@ -0,0 +1,20 @@
+(TeX-add-style-hook "pot"
+ (lambda ()
+ (LaTeX-add-labels
+ "potmeter"
+ "fig:pot"
+ "fig:potsch"
+ "fig:potmeterconn"
+ "fig:pot-threshold"
+ "tab:pot-threshold"
+ "sec:pot-arduino-code"
+ "ard:pot-100"
+ "sec:pot-scilab-code"
+ "sci:pot-100")
+ (TeX-add-symbols
+ '("LocPotardbrief" 1)
+ '("LocPotscibrief" 1)
+ "LocPotfig"
+ "LocPotscicode"
+ "LocPotardcode")))
+
diff --git a/scilab-arduino/user-code/pot/figures/pot-threshold.PNG b/scilab-arduino/user-code/pot/figures/pot-threshold.PNG
new file mode 100644
index 0000000..54251fd
--- /dev/null
+++ b/scilab-arduino/user-code/pot/figures/pot-threshold.PNG
Binary files differ
diff --git a/scilab-arduino/user-code/pot/figures/pot_led.png b/scilab-arduino/user-code/pot/figures/pot_led.png
new file mode 100644
index 0000000..e6f56e0
--- /dev/null
+++ b/scilab-arduino/user-code/pot/figures/pot_led.png
Binary files differ
diff --git a/scilab-arduino/user-code/pot/figures/potmeter.png b/scilab-arduino/user-code/pot/figures/potmeter.png
new file mode 100644
index 0000000..b8f3e30
--- /dev/null
+++ b/scilab-arduino/user-code/pot/figures/potmeter.png
Binary files differ
diff --git a/scilab-arduino/user-code/pot/figures/schematic.png b/scilab-arduino/user-code/pot/figures/schematic.png
new file mode 100644
index 0000000..560c341
--- /dev/null
+++ b/scilab-arduino/user-code/pot/figures/schematic.png
Binary files differ
diff --git a/scilab-arduino/user-code/pot/julia/pot-threshold.jl b/scilab-arduino/user-code/pot/julia/pot-threshold.jl
new file mode 100644
index 0000000..c369dbc
--- /dev/null
+++ b/scilab-arduino/user-code/pot/julia/pot-threshold.jl
@@ -0,0 +1,24 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+pinMode(ser,10,"OUTPUT")
+pinMode(ser,11,"OUTPUT")
+for i = 1:10
+ p = analogRead(ser,2)
+ if p>=0 && p<320
+ digiWrite(ser,11,1)
+ sleep(1)
+ digiWrite(ser,11,0)
+ elseif p>=320 && p<=900
+ digiWrite(ser,10,1)
+ sleep(1)
+ digiWrite(ser,10,0)
+ elseif p>900 && p<=1023
+ digiWrite(ser,9,1)
+ sleep(1)
+ digiWrite(ser,9,0)
+ end
+end
+close(ser)
diff --git a/scilab-arduino/user-code/pot/pot.tex b/scilab-arduino/user-code/pot/pot.tex
new file mode 100644
index 0000000..8ef5e24
--- /dev/null
+++ b/scilab-arduino/user-code/pot/pot.tex
@@ -0,0 +1,302 @@
+\chapter{Interfacing a Potentiometer}
+\thispagestyle{empty}
+\label{potmeter}
+
+\newcommand{\LocPotfig}{\Origin/user-code/pot/figures}
+\newcommand{\LocPotscicode}{\Origin/user-code/pot/scilab}
+\newcommand{\LocPotscibrief}[1]{{\tt
+ \seqsplit{Origin/user-code/pot/scilab/#1}},
+see \fnrefp{fn:file-loc}}
+\newcommand{\LocPotardcode}{\Origin/user-code/pot/arduino}
+\newcommand{\LocPotardbrief}[1]{{\tt
+ \seqsplit{Origin/user-code/pot/arduino/#1}},
+see \fnrefp{fn:file-loc}}
+
+%%%%%%%%%%%%%%%python starts
+\newcommand{\LocPotpycode}{\Origin/user-code/pot/python}
+\newcommand{\LocPotpybrief}[1]{{\tt
+ \seqsplit{Origin/user-code/pot/python/#1}},
+see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%%%%%python ends
+
+%%%%%%%%%%%%%%%julia starts
+\newcommand{\LocPotjuliacode}{\Origin/user-code/pot/julia}
+\newcommand{\LocPotjuliabrief}[1]{{\tt
+ \seqsplit{Origin/user-code/pot/julia/#1}},
+see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%%%%%julia ends
+
+%%%%%%OpenModelica starts
+\newcommand{\LocPotOpenModelicacode}{\Origin/user-code/pot/OpenModelica}
+\newcommand{\LocPotOpenModelicabrief}[1]{{\tt
+ \seqsplit{Origin/user-code/pot/OpenModelica/#1}},
+see \fnrefp{fn:file-loc}}
+%%%%%%OpenModelica ends
+
+A potentiometer is a three-terminal variable resistor with two
+terminals connected to the two ends of a resistor and one connected to
+a sliding or rotating contact, termed as a wiper. The wiper can be
+moved to vary the resistance, and hence the potential, between the
+wiper and each terminal of the resistor. Thus, a potentiometer
+functions as a variable potential divider. It finds wide application
+in volume control, calibration and tuning circuits, motion control,
+joysticks, etc.
+
+In this chapter, we will perform an experiment to read the analog
+values from a potentiometer mounted on the shield of \arduino\
+board. The analog values read from the potentiometer will then be
+used to control the actuation of other components.
+
+\section{Preliminaries}
+The shield provided with the kit has a 1K potentiometer mounted on it. The mechanical contact at the middle terminal is rotated to vary the resistance across the middle terminal and the two ends of the potentiometer. With the fixed voltage across the two terminals of the potentiometer, the position of the wiper
+determines the potential across the middle terminal and either of the two end terminals. Nowadays, digital potentiometer integrated circuits, which vary resistance across two pins on the basis of the set value, are also available.
+
+\begin{figure}
+\centering
+\subfloat[Pictorial representation of a potentiometer]{
+\includegraphics[width=\smfig]{\LocPotfig/potmeter.png}
+\label{fig:pot}} \hfill
+\subfloat[Schematic representation of the potentiometer]{
+\includegraphics[width=\smfig]{\LocPotfig/schematic.png}
+\label{fig:potsch}}
+\caption{Potentiometer's schematic on the shield}
+\label{fig:potmeterconn}
+\end{figure}
+
+The potentiometer used in the kit can be seen on the shield in
+\figrefp{fig:uno-shield-connect}. It is
+mounted on the shield. The two end terminals of the potentiometer are
+connected to 5V supply and ground. The middle terminal is connected to
+analog pin 2 of the \arduino\ board. The resistance between the middle
+terminal and either of the two ends can be varied by rotating the
+middle terminal by hand. The connection diagram for the potentiometer
+is shown in \figref{fig:potmeterconn}.
+
+The reading of a potentiometer is an analog voltage varying from 0 to
+5V. As for LDR, we use the ADC functionality of the \arduino\
+board. Thus, we obtain digital values between 0 and 1023 in Scilab Console or Arduino Serial Monitor.
+% redcolor{Arduino Serial Monitor}
+In the experiment explained in this chapter, we shall also use an RGB LED
+mounted on the shield. An RGB LED is a tri-color LED which can illuminate in Red, GREEN and Blue colors. It has 4 leads of which one lead is connected to ground and other three leads are connected to digital I/O pins 9,10 and 11 of Arduino. In order to switch on a particular LED, we need to provide HIGH(5V) voltage to the corresponding pin of the \arduino\ board.
+
+
+\section{Reading the potentiometer from the Arduino IDE}
+In this section, we shall learn to read the potentiometer input
+through Arduino IDE. Depending on the acquired potentiometer values,
+we will change the state of RGB LED. The Arduino code for this
+experiment is given in \ardref{ard:pot-100}. Lines 1 through 4 are
+used to assign relevant pin numbers to potentiometer and RGB LED. The
+purpose of these lines is to avoid confusion, with the pin numbers,
+for the beginners. Next, we start serial port communication, as on
+line 9, with the baud rate of 115,200 bps. In order to take the
+potentiometer input, we need to initialize the pins by giving the
+following commands:
+
+\lstinputlisting[firstline=10,lastline=13]
+{\LocPotardcode/pot-threshold/pot-threshold.ino}
+
+where {\tt pinMode} command is used to configure the specified pin as
+an input or an output pin. The first argument for the above command
+corresponds to the pin number and second argument corresponds to the
+mode of operation. In this experiment, we configure digital pin 2 as an input pin while digital pins 9, 10, and 11 as output pins. Next, we check the value of potentiometer using {\tt analogRead} command 10 iterations. These values range from 0 to 1023. Depending on the read value, we turn on and turn off the Red, Green or Blue LED. For example, when the position of the potentiometer corresponds to the values between 0 and 319, inclusive, we turn on the Red LED, keep it on for 1000 ms and then turn it off. This functionality is carried out by,
+\lstinputlisting[firstline=18,lastline=22]
+{\LocPotardcode/pot-threshold/pot-threshold.ino}
+In a similar manner, we check the potentiometer values and correspondingly turn on and off the Green and Blue LEDs. Note that, we used {\tt if and else if} statements to check the conditions and rotated the potentiometer knob to vary the resistance.
+
+
+\section{Reading the potentiometer from Scilab Script}
+In this section, we will use a Scilab script to read the potentiometer values. Based on the acquired potentiometer values, we will change the state of the RGB LED. As explained earlier, the potentiometer values range from 0 to 1023. We will divide this entire range into 3 bands, 0-319, 320-900, and 901-1023. For each read value, we use an {\tt if elseif} statement and correspondingly turn on either the Red, Green or Blue LED. The code for this experiment is given in
+\sciref{sci:pot-100}. We start the experiment by opening the serial port for communication between \scilab\ and the \arduino\ board. Then, we read the analog input at pin 2 using,
+\lstinputlisting[firstline=4,lastline=4]
+{\LocPotscicode/pot-threshold.sce} where the first argument is for
+%\redcolor {the kit number }
+the kit number and the second argument corresponds to the analog pin to be read. Next, we compare the read values with the set range, and then turn on and off the corresponding LED. For example,
+\lstinputlisting[firstline=8,lastline=12]
+{\LocPotscicode/pot-threshold.sce} where {\tt cmd\_digital\_out} is used to set the pin 11 high (1) or low (0). We used {\tt sleep(1000)} to retain the LED in the on state for 1000 milliseconds. A similar check is done the other two bands. Note that we need to vary the resistance by rotating the knob of the potentiometer.
+
+\section{Reading the potentiometer from Scilab Xcos}
+In this section, we discuss how to perform the experiment explained above. When the file required for this experiment is invoked, one gets the GUI as in \figref{fig:pot-threshold}. In the caption of this figure, one can see where to locate the file. The reader should go through the instructions given in \secref{sec:xcos-start} before getting started.
+
+The block, Analog Read Pin 2, performs the read operation from pin 2. The threshold is set using the block, Dynamic. Depending on the condition met, a $1$ or $0$ is given to pin 9, 10 or 11.
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocPotfig/pot-threshold.PNG}
+ \caption[Turning LEDs on through Xcos depending on the potentiometer
+ threshold]{Turning LEDs on through Xcos depending on the
+ potentiometer threshold. This is what one sees when
+ \LocPotscibrief{pot-threshold.zcos}, is invoked.}
+ \label{fig:pot-threshold}
+\end{figure}
+
+We will next explain how to set the parameters for this simulation.
+To set value on any block, one needs to right click and open the {\tt
+ Block Parameters} or double click. The values for each block is
+tabulated in \tabref{tab:pot-threshold}. All other parameters are to
+be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Xcos parameters to turn on different LEDs depending on the
+ potentiometer value}
+ \label{tab:pot-threshold}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ CONST\_m & Constant Value & 1, 0 \\ \hline
+ DIGITAL\_WRITE\_SB & Digital Pin & 9(blue) \\
+ & Digital Pin & 10(green) \\
+ & Digital Pin & 11(red) \\
+ & Arduino card number & 1 \\ \hline
+ ANALOG\_READ\_SB & analog pin & 2 \\
+ & Arduino card number & 1 \\ \hline
+ SWITCH2\_m & Datatype & 1 \\
+ & Pass first input & 1 \\
+ & threshold & 0 \\
+ & use zero crossing & 1 \\ \hline
+ SWITCH2\_m & Datatype & 1 \\
+ & Pass first input & 0 \\
+ & threshold & 320 \\
+ & use zero crossing & 1 \\ \hline
+ SWITCH2\_m & Datatype & 1 \\
+ & Pass first input & 0 \\
+ & threshold & 900 \\
+ & use zero crossing & 1 \\ \hline
+ RELATIONALOP & Operator & 4 \\
+ & zero crossing & 0 \\
+ & Datatype & 1 \\ \hline
+ \end{tabular}
+ \end{table}
+
+
+Note that, when the potentiometer value read by Scilab crosses either
+of the thresholds, color of the LED changes. This can be observed by
+rotating the potentiometer.
+
+\section{Exercise}
+\begin{enumerate}
+\item List out the applications in day to day life where potentiometer
+ is being used/can be used? For example, old fan regulators used
+ potentiometer to change the fan speed.
+\end{enumerate}
+
+%%%%%%%%%%%%%python description starts
+
+\section{Reading the potentiometer from Python Script}
+In this section, we will use a Python script to read the potentiometer values. Based on the acquired potentiometer values, we will change the state of the RGB LED. As explained earlier, the potentiometer values range from 0 to 1023. We will divide this entire range into 3 bands, 0-319, 320-900, and 901-1023. For each read value, we use an {\tt if elseif} statement and correspondingly turn on either the Red, Green or Blue LED. The code for this experiment is given in
+\pyref{py:pot-100}. We start the experiment by opening the serial port for communication between python and the arduino board. Then, we read the analog input at pin 2 using,
+\lstinputlisting[firstline=4,lastline=4]
+{\LocPotpycode/pot-threshold.py} where the first argument is for
+%\redcolor {the kit number }
+the kit number and the second argument corresponds to the analog pin to be read. Next, we compare the read values with the set range, and then turn on and off the corresponding LED. For example,
+\lstinputlisting[firstline=8,lastline=12]
+{\LocPotpycode/pot-threshold.py} where {\tt cmd\_digital\_out} is used to set the pin 11 high (1) or low (0). We used {\tt sleep(1000)} to retain the LED in the on state for 1000 milliseconds. A similar check is done the other two bands. Note that we need to vary the resistance by rotating the knob of the potentiometer.
+
+%%%%%%%%%%%%%python description ends
+
+
+%%%%%%%%%%%%%julia description starts
+
+\section{Reading the potentiometer from Julia Script}
+In this section, we will use a Julia script to read the potentiometer values. Based on the acquired potentiometer values, we will change the state of the RGB LED as explained earlier.The code for this experiment is given in
+\juliaref{julia:pot-100}. We start the experiment by opening the serial port for communication between julia and the arduino board. Then, we read the analog input at pin 2 using,
+\lstinputlisting[firstline=9,lastline=9]
+{\LocPotjuliacode/pot-threshold.jl} where the first argument is for
+%\redcolor {the kit number }
+the serial port and the second argument corresponds to the analog pin to be read. Next, we compare the read values with the set range, and then turn on and off the corresponding LED. For example,
+\lstinputlisting[firstline=10,lastline=13]
+{\LocPotjuliacode/pot-threshold.jl} where {\tt digiWrite} is used to set the pin 11 high (1) or low (0). We used {\tt sleep(1000)} to retain the LED in the on state for 1 second. A similar check is done the other two bands. Note that we need to vary the resistance by rotating the knob of the potentiometer.
+
+%%%%%%%%%%%%%julia description ends
+
+%%%%%%%%%%%%%OpenModelica description starts
+
+\section{Reading the potentiometer from OpenModelica Script}
+In this section, we will use a OpenModelica script to read the potentiometer values. Based on the acquired potentiometer values, we will change the state of the RGB LED as explained earlier.The code for this experiment is given in
+\OpenModelicaref{OpenModelica:pot-100}. We start the experiment by opening the serial port for communication between OpenModelica and the arduino board. Then, we read the analog input at pin 2 using,
+\lstinputlisting[firstline=17,lastline=17]
+{\LocPotOpenModelicacode/pot-threshold.mo} where the first argument is for
+%\redcolor {the kit number }
+the serial port and the second argument corresponds to the analog pin to be read. Next, we compare the read values with the set range, and then turn on and off the corresponding LED. For example,
+\lstinputlisting[firstline=20,lastline=22]
+{\LocPotOpenModelicacode/pot-threshold.mo} where {\tt cmd\_digital\_out} is used to set the pin 11 high (1) or low (0). We used {\tt delay(1000)} to retain the LED in the on state for 1 second. A similar check is done the other two bands. Note that we need to vary the resistance by rotating the knob of the potentiometer.
+
+%%%%%%%%%%%%%OpenModelica description ends
+
+
+\section{Arduino Code}
+\lstset{style=mystyle}
+\label{sec:pot-arduino-code}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+ \acaption{Turning on LEDs depending on the potentiometer
+ threshold}{Turning on LEDs depending on the potentiometer
+ threshold. Available at
+ \LocPotardbrief{pot-threshold/pot-threshold.ino}.}
+\label{ard:pot-100}
+\lstinputlisting{\LocPotardcode/pot-threshold/pot-threshold.ino}
+\end{ardcode}
+
+\section{Scilab Code}
+\label{sec:pot-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+\begin{scicode}
+ \ccaption{Turning on LEDs depending on the potentiometer
+ threshold}{Turning on LEDs depending on the potentiometer
+ threshold. Available at
+ \LocPotscibrief{pot-threshold.sce}.}
+\label{sci:pot-100}
+\lstinputlisting{\LocPotscicode/pot-threshold.sce}
+\end{scicode}
+
+
+%%%%%%%%%%%%python code starts
+
+\section{Python Code}
+\label{sec:pot-python-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+\begin{pycode}
+ \pcaption{Turning on LEDs depending on the potentiometer
+ threshold}{Turning on LEDs depending on the potentiometer
+ threshold. Available at
+ \LocPotpybrief{pot-threshold.py}.}
+\label{py:pot-100}
+\lstinputlisting{\LocPotpycode/pot-threshold.py}
+\end{pycode}
+
+%%%%%%%%%%%%%python code ends
+
+
+%%%%%%%%%%%%julia code starts
+
+\section{Julia Code}
+\label{sec:pot-julia-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+\begin{juliacode}
+ \ccaption{Turning on LEDs depending on the potentiometer
+ threshold}{Turning on LEDs depending on the potentiometer
+ threshold. Available at
+ \LocPotjuliabrief{pot-threshold.jl}.}
+\label{julia:pot-100}
+\lstinputlisting{\LocPotjuliacode/pot-threshold.jl}
+\end{juliacode}
+
+%%%%%%%%%%%%%julia code ends
+
+%%%%%%%%%%%%OpenModelica code starts
+
+\section{OpenModelica Code}
+\label{sec:pot-OpenModelica-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+\begin{OpenModelicacode}
+ \ccaption{Turning on LEDs depending on the potentiometer
+ threshold}{Turning on LEDs depending on the potentiometer
+ threshold. Available at
+ \LocPotOpenModelicabrief{pot-threshold.mo}.}
+\label{OpenModelica:pot-100}
+\lstinputlisting{\LocPotOpenModelicacode/pot-threshold.mo}
+\end{OpenModelicacode}
+
+%%%%%%%%%%%%%OpenModelica code ends \ No newline at end of file
diff --git a/scilab-arduino/user-code/pot/python/pot-threshold.py b/scilab-arduino/user-code/pot/python/pot-threshold.py
new file mode 100644
index 0000000..6b84b92
--- /dev/null
+++ b/scilab-arduino/user-code/pot/python/pot-threshold.py
@@ -0,0 +1,52 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class POT:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pot=2
+ self.blue=9
+ self.green=10
+ self.red=11
+ for i in range(20):
+ val=self.obj_arduino.cmd_analog_in(1,self.pot)
+ print (val)
+
+ if (int(val) >= 0 and int(val)< 320):
+ self.obj_arduino.cmd_digital_out(1,self.blue,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.blue,0)
+ elif (int(val) >= 320 and int(val) < 900):
+ self.obj_arduino.cmd_digital_out(1,self.green,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.green,0)
+ else:
+ self.obj_arduino.cmd_digital_out(1,self.red,1)
+ sleep(2)
+ self.obj_arduino.cmd_digital_out(1,self.red,0)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pot=POT(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/pot/scilab/pot-threshold.sce b/scilab-arduino/user-code/pot/scilab/pot-threshold.sce
new file mode 100644
index 0000000..5ee829f
--- /dev/null
+++ b/scilab-arduino/user-code/pot/scilab/pot-threshold.sce
@@ -0,0 +1,19 @@
+ok=open_serial(1,2,115200); // port 2, baud rate 115200
+if ok~=0 then error('Unable to open serial port, please check'), end
+for x=1:10//Run for 10 iterations
+ p=cmd_analog_in(1,2)
+ if(p>=0 & p<320) then //threshold 1
+ cmd_digital_out(1,11,1)
+ sleep(1000)
+ cmd_digital_out(1,11,0)
+ elseif p>=320 &p<=900 //threshold 2
+ cmd_digital_out(1,10,1)
+ sleep(1000)
+ cmd_digital_out(1,10,0)
+ elseif p>900 & p<=1023 //threshold 3
+ cmd_digital_out(1,9,1)
+ sleep(1000)
+ cmd_digital_out(1,9,0)
+ end
+end
+close_serial(1)
diff --git a/scilab-arduino/user-code/pot/scilab/pot-threshold.zcos b/scilab-arduino/user-code/pot/scilab/pot-threshold.zcos
new file mode 100644
index 0000000..28052ce
--- /dev/null
+++ b/scilab-arduino/user-code/pot/scilab/pot-threshold.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/push/.~lock.Push-Button-manual.docx# b/scilab-arduino/user-code/push/.~lock.Push-Button-manual.docx#
new file mode 100644
index 0000000..06c3279
--- /dev/null
+++ b/scilab-arduino/user-code/push/.~lock.Push-Button-manual.docx#
@@ -0,0 +1 @@
+Kannan Moudgalya,kannan,kannans-air,25.06.2015 23:24,file:///Users/kannan/Library/Application%20Support/LibreOffice/4; \ No newline at end of file
diff --git a/scilab-arduino/user-code/push/OpenModelica/led-push-button.mo b/scilab-arduino/user-code/push/OpenModelica/led-push-button.mo
new file mode 100644
index 0000000..b649a37
--- /dev/null
+++ b/scilab-arduino/user-code/push/OpenModelica/led-push-button.mo
@@ -0,0 +1,32 @@
+model led_push_button "Conrolling LED with PushButton"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ digital_in := sComm.cmd_digital_in(1, 12) "Read from digital pin 12";
+ if digital_in == 0 then
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This will turn OFF the blue LED";
+ sComm.delay(200);
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ sComm.delay(200);
+ end if;
+ end if;
+ //for i in 1:1000 loop
+ //end for;
+ //strm.print(String(time));
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-6, Interval = 0.01));
+end led_push_button; \ No newline at end of file
diff --git a/scilab-arduino/user-code/push/OpenModelica/push-button-status.mo b/scilab-arduino/user-code/push/OpenModelica/push-button-status.mo
new file mode 100644
index 0000000..82e8552
--- /dev/null
+++ b/scilab-arduino/user-code/push/OpenModelica/push-button-status.mo
@@ -0,0 +1,34 @@
+model push_button_status "Checking Status of PushButton"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer digital_in(fixed = false);
+ Integer digital_out(start = 0, fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ end when;
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ digital_in := sComm.cmd_digital_in(1, 12);
+ if digital_in == 0 then
+ digital_out := sComm.cmd_digital_out(1, 9, 0) "This will turn OFF the blue LED";
+ strm.print("LOW");
+ sComm.delay(200);
+ else
+ digital_out := sComm.cmd_digital_out(1, 9, 1) "This will turn ON the blue LED";
+ strm.print("HIGH");
+ sComm.delay(200);
+ end if;
+ end if;
+ //for i in 1:1000 loop
+ //end for;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ //sComm.cmd_arduino_meter(digital_in);
+ annotation(experiment(StartTime = 0, StopTime = 1, Tolerance = 1e-6, Interval = 0.01));
+end push_button_status; \ No newline at end of file
diff --git a/scilab-arduino/user-code/push/arduino-old/led-push-button/led-push-button.ino b/scilab-arduino/user-code/push/arduino-old/led-push-button/led-push-button.ino
new file mode 100644
index 0000000..1cfa5e2
--- /dev/null
+++ b/scilab-arduino/user-code/push/arduino-old/led-push-button/led-push-button.ino
@@ -0,0 +1,21 @@
+const int sensorPin = 12;
+const int ledPin = 9;
+int sensorValue;
+int i;
+void setup() {
+ pinMode(9, OUTPUT);
+ pinMode(12, INPUT);
+ for (i = 0; i < 1000; i++) {
+ sensorValue = digitalRead(12);
+ if (sensorValue==0) {
+ digitalWrite(9, LOW);
+ delay(5);
+ }
+ else {
+ digitalWrite(9, HIGH);
+ delay(5);
+ }
+ }
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/push/arduino-old/push-button-status/push-button-status.ino b/scilab-arduino/user-code/push/arduino-old/push-button-status/push-button-status.ino
new file mode 100644
index 0000000..aac559f
--- /dev/null
+++ b/scilab-arduino/user-code/push/arduino-old/push-button-status/push-button-status.ino
@@ -0,0 +1,12 @@
+int sensorPin = 12; // Declare the push-button
+int sensorValue = 0;
+void setup() {
+ Serial.begin(9600);
+ pinMode(sensorPin, INPUT); // declare the sensorPin as an INPUT
+ for (int i = 0; i < 1000;i++){
+ sensorValue = digitalRead(sensorPin); // read push-button value
+ Serial.println(sensorValue); // print it at the Serial Monitor
+ }
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/push/arduino/led-push-button/led-push-button.ino b/scilab-arduino/user-code/push/arduino/led-push-button/led-push-button.ino
new file mode 100644
index 0000000..4b831ff
--- /dev/null
+++ b/scilab-arduino/user-code/push/arduino/led-push-button/led-push-button.ino
@@ -0,0 +1,22 @@
+const int sensorPin = 12;
+const int ledPin = 9;
+int sensorValue;
+int i;
+void setup() {
+ Serial.begin(115200);
+ pinMode(9, OUTPUT);
+ pinMode(12, INPUT);
+ for (i = 0; i < 1000; i++) {
+ sensorValue = digitalRead(12);
+ if (sensorValue==0) {
+ digitalWrite(9, LOW);
+ delay(5);
+ }
+ else {
+ digitalWrite(9, HIGH);
+ delay(5);
+ }
+ }
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/push/arduino/push-button-status/push-button-status.ino b/scilab-arduino/user-code/push/arduino/push-button-status/push-button-status.ino
new file mode 100644
index 0000000..bb55e26
--- /dev/null
+++ b/scilab-arduino/user-code/push/arduino/push-button-status/push-button-status.ino
@@ -0,0 +1,12 @@
+int sensorPin = 12; // Declare the push-button
+int sensorValue = 0;
+void setup() {
+ Serial.begin(115200);
+ pinMode(sensorPin, INPUT); // declare the sensorPin as an INPUT
+ for (int i = 0; i < 1000;i++){
+ sensorValue = digitalRead(sensorPin); // read push-button value
+ Serial.println(sensorValue); // print it at the Serial Monitor
+ }
+}
+void loop() {
+}
diff --git a/scilab-arduino/user-code/push/auto/push.el b/scilab-arduino/user-code/push/auto/push.el
new file mode 100644
index 0000000..4819a43
--- /dev/null
+++ b/scilab-arduino/user-code/push/auto/push.el
@@ -0,0 +1,23 @@
+(TeX-add-style-hook "push"
+ (lambda ()
+ (LaTeX-add-labels
+ "pushbutton"
+ "fig:pushbuttonconn"
+ "sec:push-xcos"
+ "fig:push-button-status"
+ "tab:push-button-status"
+ "fig:led-push-button"
+ "tab:led-push-button"
+ "sec:push-arduino-code"
+ "ard:push-100"
+ "ard:push-200"
+ "sec:push-scilab-code"
+ "sci:push-100"
+ "sci:push-200")
+ (TeX-add-symbols
+ '("LocPushardbrief" 1)
+ '("LocPushscibrief" 1)
+ "LocPushfig"
+ "LocPushscicode"
+ "LocPushardcode")))
+
diff --git a/scilab-arduino/user-code/push/figures/led-push-button.PNG b/scilab-arduino/user-code/push/figures/led-push-button.PNG
new file mode 100644
index 0000000..72eb862
--- /dev/null
+++ b/scilab-arduino/user-code/push/figures/led-push-button.PNG
Binary files differ
diff --git a/scilab-arduino/user-code/push/figures/push-button-status.PNG b/scilab-arduino/user-code/push/figures/push-button-status.PNG
new file mode 100644
index 0000000..041d1db
--- /dev/null
+++ b/scilab-arduino/user-code/push/figures/push-button-status.PNG
Binary files differ
diff --git a/scilab-arduino/user-code/push/figures/pushbutton-conn.png b/scilab-arduino/user-code/push/figures/pushbutton-conn.png
new file mode 100644
index 0000000..8591d90
--- /dev/null
+++ b/scilab-arduino/user-code/push/figures/pushbutton-conn.png
Binary files differ
diff --git a/scilab-arduino/user-code/push/figures/schematic.png b/scilab-arduino/user-code/push/figures/schematic.png
new file mode 100644
index 0000000..8591d90
--- /dev/null
+++ b/scilab-arduino/user-code/push/figures/schematic.png
Binary files differ
diff --git a/scilab-arduino/user-code/push/julia/led-push-button.jl b/scilab-arduino/user-code/push/julia/led-push-button.jl
new file mode 100644
index 0000000..1bc2b40
--- /dev/null
+++ b/scilab-arduino/user-code/push/julia/led-push-button.jl
@@ -0,0 +1,15 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+pinMode(ser,9,"OUTPUT")
+pinMode(ser,12,"INPUT")
+for i = 1:200
+ p = digiRead(ser,12)
+ if p == 0
+ digiWrite(ser,9,0)
+ else
+ digiWrite(ser,9,1)
+ end
+end
+close(ser)
diff --git a/scilab-arduino/user-code/push/julia/push-button-status.jl b/scilab-arduino/user-code/push/julia/push-button-status.jl
new file mode 100644
index 0000000..a748af1
--- /dev/null
+++ b/scilab-arduino/user-code/push/julia/push-button-status.jl
@@ -0,0 +1,10 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+pinMode(ser,12,"INPUT")
+for i = 1:100
+ p = digiRead(ser,12)
+ println(p)
+end
+close(ser)
diff --git a/scilab-arduino/user-code/push/push.tex b/scilab-arduino/user-code/push/push.tex
new file mode 100644
index 0000000..6a1146a
--- /dev/null
+++ b/scilab-arduino/user-code/push/push.tex
@@ -0,0 +1,451 @@
+\chapter{Interfacing a Pushbutton}
+\thispagestyle{empty}
+\label{pushbutton}
+
+\newcommand{\LocPushfig}{\Origin/user-code/push/figures}
+\newcommand{\LocPushscicode}{\Origin/user-code/push/scilab}
+\newcommand{\LocPushscibrief}[1]{{\tt
+ \seqsplit{Origin/user-code/push/scilab/#1}},
+see \fnrefp{fn:file-loc}}
+\newcommand{\LocPushardcode}{\Origin/user-code/push/arduino}
+\newcommand{\LocPushardbrief}[1]{{\tt
+ \seqsplit{Origin/user-code/push/arduino/#1}},
+see \fnrefp{fn:file-loc}}
+
+
+%%%%%%%%%%%%%%python starts
+\newcommand{\LocPushpycode}{\Origin/user-code/push/python}
+\newcommand{\LocPushpybrief}[1]{{\tt
+ \seqsplit{Origin/user-code/push/python/#1}},
+see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%%%python ends
+
+%%%%%%%%%%%%%%julia starts
+\newcommand{\LocPushjuliacode}{\Origin/user-code/push/julia}
+\newcommand{\LocPushjuliabrief}[1]{{\tt
+ \seqsplit{Origin/user-code/push/julia/#1}},
+see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%%%julia ends
+
+
+%%%%%OpenModelica starts
+\newcommand{\LocPushOpenModelicacode}{\Origin/user-code/push/OpenModelica} %added for OpenModelica
+\newcommand{\LocPushOpenModelicabrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/led/OpenModelica/#1}}, see \fnrefp{fn:file-loc}} % added for OpenModelica
+%%%%%%OpenModelica Ends
+
+A pushbutton is a simple switch which is used to connect or disconnect
+a circuit. It is commonly available as a \emph{normally open} or
+\emph{push to make} switch which implies that the contact is made upon
+the push or depression of the switch. These switches are widely used
+in calculators, computer keyboards, home appliances, push-button
+telephones and basic mobile phones, etc. In this chapter, we shall
+perform a few experiments to read the status of the pushbutton mounted
+on the shield of the \arduino\ board. Advancing further, we shall
+perform a few tasks depending on the status of the pushbutton. Digital
+logic based status monitoring is a very basic and important task in
+many industrial applications. This chapter will enable us to have a
+smooth hands-on for such functionalities.
+
+\section{Preliminaries}
+A pushbutton mounted on the shield is connected to the digital pin 12
+of the \arduino\ board. The connection diagram for the pushbutton is
+shown in \figref{fig:pushbuttonconn}. It has 2 pairs of
+terminals. Each pair is electrically connected. When the pushbutton is
+pressed all the terminals short to complete the circuit, thereby
+allowing the flow of current through the switch. As you might expect,
+there is a limit to the maximum current that could flow through a
+pushbutton. This maximum current is also called the rated current and
+is provided by the manufacturer in the datasheet.
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocPushfig/pushbutton-conn.png}
+\caption{Connection Diagram}
+%\redcolor{connected on pin no. D12}}
+\label{fig:pushbuttonconn}
+\end{figure}
+
+\section{Reading the Pushbutton status from the Arduino IDE}
+In this section, we shall learn commands to read the status of a pushbutton through Arduino IDE. Later, we shall change the state of the LED depending on the status of the pushbutton.
+\begin{enumerate}
+\item In the first experiment, we shall simply read the status of the
+ pushbutton. Recall that it is a normally open type of switch. So, in
+ an unpressed state, the logic read will be ``0'', corresponding to
+ 0V. And, when the user presses the pushbutton, the reading would be
+ ``1'', corresponding to 5V. The code for this experiment is given in
+ \ardref{ard:push-100}. In the initialization part of the code, we
+ assign the sensor pin to be read, 12 in this case, to a variable for
+ ease. Next, we initialize the port for serial port communication at
+ data rate of 9600 bits per second and declare the digital pin 12 as an input pin using the command {\tt pinMode}. After initialization, we start reading the status of the pushbutton using the following command:
+ \lstinputlisting[firstline=5,lastline=5]
+ {\LocPushardcode/push-button-status/push-button-status.ino}
+
+ Note that the input argument to this command is the digital pin 12
+ corresponding to the pin to which the pushbutton is connected. After
+ acquiring the values, we print them using,
+ \lstinputlisting[firstline=8,lastline=8]
+ {\LocPushardcode/push-button-status/push-button-status.ino} We
+ repeat this read and print process 1000 times by putting the
+ commands in a {\tt for} loop. At the same time, the user must press
+ and release the pushbutton and observe the values printed on the
+% \redcolor{Serial monitor}.
+serial monitor.
+
+\item In the second experiment, we shall control the power given to an
+ LED as per the status of the pushbutton. The code for this
+ experiment is given in \ardref{ard:push-200}. This experiment can be
+ taken as a step further to the previous one. We declare the LED pin
+ to be controlled as an output pin by,
+ \lstinputlisting[firstline=6,lastline=6]
+ {\LocPushardcode/led-push-button/led-push-button.ino} Next, we read
+ the potentiometer value from digital pin 12. If the value is ``1'',
+ we turn on the LED at pin 9 else we turn it off. The
+ condition check is performed using {\tt if else} statements. We run
+ these commands for 1000 iterations.
+\end{enumerate}
+
+
+\section{Reading the Pushbutton status from Scilab Scripts}
+In this section, we shall perform the pushbutton operation using
+Scilab-Arduino toolbox commands.
+\begin{enumerate}
+\item In the first experiment, we will read the pushbutton status in
+ \scilab\ Console. The code for this experiment is given in
+ \sciref{sci:push-100}. As explained earlier, we begin with serial
+ port initialization. Then, using the command,
+ \lstinputlisting[firstline=4,lastline=4]
+ {\LocPushscicode/push-button-status.sce} we read the input of
+ digital pin 12. Note that the middle terminal of the potentiometer
+ is connected to this pin. The read value is displayed as a GUI using
+ the command, \lstinputlisting[firstline=5,lastline=5]
+ {\LocPushscicode/push-button-status.sce} where {\tt val} contains
+ the potentiometer value acquired by the previous command. To
+ encourage the user to have a good hands-on, we run these commands in
+ a {\tt for} loop for 1000 iterations.
+
+\item This experiment is an extension of the previous
+ experiment. Here, we control the state of an LED as per the status
+ of the pushbutton. In other words, digital output to an LED is
+ decided by the digital input received from the pushbutton. The code
+ for this experiment is given in \sciref{sci:push-200}. After reading
+ the pushbutton status, we turn the LED on if the pushbutton is
+ pressed, otherwise we turn it off. The lines,
+ \lstinputlisting[firstline=5,lastline=9]
+ {\LocPushscicode/led-push-button.sce} perform the condition check
+ and corresponding LED state control operation.
+\end{enumerate}
+
+\section{Accessing the Pushbutton from Xcos}
+\label{sec:push-xcos}
+In this section, we will see how to access the pushbutton from Scilab
+Xcos. We will carry out the same two experiments as in the previous
+sections. For each, will give the location of the zcos file and the
+parameters to set. The reader should go through the instructions
+given in \secref{sec:xcos-start} before getting started.
+
+\begin{enumerate}
+\item First we will read the push button value and print it. When the
+ file required for this experiment is invoked, one gets the GUI as in
+ \figref{fig:push-button-status}. In the caption of this figure, one
+ can see where to locate the file.
+
+ As discussed in earlier chapters, we start with the initialization
+ of the serial port. Next, using {\tt Digital Read} block, we read
+ the status of potentiometer connected on digital pin 12. The read
+ values are displayed. When a user presses the pushbutton, change in
+ the logic value from low to high can be observed.
+
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocPushfig/push-button-status.PNG}
+ \caption[Printing the push button status on the display block]
+ {Printing the push button status on the display block. This is
+ what one sees when
+ \LocPushscibrief{push-button-status.zcos}, is invoked.}
+ \label{fig:push-button-status}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:push-button-status}. All other
+ parameters are to be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Parameters to print the push button status on the display
+ block}
+ \label{tab:push-button-status}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ DIGITAL\_READ\_SB & Digital pin & 12 \\
+ & Arduino card number & 1 \\ \hline
+ AFFICH\_m & Block inherits(1) or not (0) & 1 \\ \hline
+ \end{tabular}
+ \end{table}
+
+\item In the second experiment, we take a step further and control the
+ state of an LED in accordance with the status of the pushbutton. The
+ Xcos implementation for this experiment is shown in
+ \figref{fig:led-push-button}. Each time a user presses the
+ pushbutton, the LED on digital pin 9 of the shield is switched
+ on. If the shield is connected, the blue LED comes on. When
+ button is released, the LED is switched off. Here, we note that
+ the digital logic level of the pin of the \arduino\ board connected
+ to pushbutton changes only for the time the pushbutton is being
+ pressed.
+
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocPushfig/led-push-button.PNG}
+ \caption[Turning the LED on or off, depending on the pushbutton]
+ {Turning the LED on or off, depending on the pushbutton. This is
+ what one sees when
+ \LocPushscibrief{led-push-button.zcos}, is invoked.}
+ \label{fig:led-push-button}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:led-push-button}. All other
+ parameters are to be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Xcos parameters to turn the LED on through the pushbutton}
+ \label{tab:led-push-button}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ DIGITAL\_READ\_SB & Digital pin & 12 \\
+ & Arduino card number & 1 \\ \hline
+ DIGITAL\_WRITE\_SB & Digital pin & 9 \\
+ & Card number & 1 \\ \hline
+ \end{tabular}
+ \end{table}
+\end{enumerate}
+
+\begin{exercise}
+Let us carry out the following exercise:
+\begin{enumerate}
+\item In the above experiment, we controlled only one LED upon
+ pushbutton press. Next, control multiple devices upon the pushbutton
+ press. For example, upon press, turn on an LED and a motor and turn
+ them off upon release.
+\item Control several devices depending on the number of pushbutton
+ press in a definite time span. For example, if the pushbutton is
+ pressed once in time 't',say, turn on the LED. If it is pressed
+ twice in time 't', turn on the motor. Here, you may want to consider
+ the timing between two consecutive press.
+\end{enumerate}
+\end{exercise}
+
+%%%%%%%%%%%%python description starts
+\section{Reading the Pushbutton status from Python Scripts}
+In this section, we shall perform the pushbutton operation using
+Python-Arduino toolbox commands.
+\begin{enumerate}
+\item In the first experiment, we will read the pushbutton status in
+ python Console. The code for this experiment is given in
+ \pyref{py:push-100}. As explained earlier, we begin with serial
+ port initialization. Then, using the command,
+ \lstinputlisting[firstline=4,lastline=4]
+ {\LocPushpycode/push-button-status.py} we read the input of
+ digital pin 12. Note that the middle terminal of the potentiometer
+ is connected to this pin. The read value is displayed as a GUI using
+ the command, \lstinputlisting[firstline=5,lastline=5]
+ {\LocPushpycode/push-button-status.py} where {\tt val} contains
+ the potentiometer value acquired by the previous command. To
+ encourage the user to have a good hands-on, we run these commands in
+ a {\tt for} loop for 1000 iterations.
+
+\item This experiment is an extension of the previous
+ experiment. Here, we control the state of an LED as per the status
+ of the pushbutton. In other words, digital output to an LED is
+ decided by the digital input received from the pushbutton. The code
+ for this experiment is given in \pyref{py:push-200}. After reading
+ the pushbutton status, we turn the LED on if the pushbutton is
+ pressed, otherwise we turn it off. The lines,
+ \lstinputlisting[firstline=5,lastline=9]
+ {\LocPushpycode/led-push-button.py} perform the condition check
+ and corresponding LED state control operation.
+\end{enumerate}
+%%%%%%%%%%%%python decription ends
+
+%%%%%%%%%%%%julia description starts
+\section{Reading the Pushbutton status from julia Scripts}
+In this section, we shall perform the pushbutton operation using
+Julia-Arduino toolbox commands.
+\begin{enumerate}
+\item In the first experiment, we will read the pushbutton status in
+ Atoms-text-Editor\ Console. The code for this experiment is given in
+ \juliaref{julia:push-100}. As explained earlier, we begin with serial
+ port initialization by using the command,\lstinputlisting[firstline=7,lastline=7]
+ {\LocPushjuliacode/push-button-status.jl} we read the input of
+ digital pin 12. The status of the push button as '0' for off and
+ '1' for on is dispalyed on the Atoms-Text-Editor console. To
+ encourage the user to have a good hands-on, we run these commands in
+ a {\tt for} loop for 100 iterations.
+
+\item This experiment is an extension of the previous
+ experiment. Here, we control the state of an LED as per the status
+ of the pushbutton. In other words, digital output to an LED is
+ decided by the digital input received from the pushbutton. The code
+ for this experiment is given in \juliaref{julia:push-200}. After reading
+ the pushbutton status, we turn the LED on if the pushbutton is
+ pressed, otherwise we turn it off. The lines,
+ \lstinputlisting[firstline=8,lastline=12]
+ {\LocPushjuliacode/led-push-button.jl} perform the condition check
+ and corresponding LED state control operation.
+\end{enumerate}
+%%%%%%%%%%%%julia decription ends
+
+%%%%%%%%%%%%OpenModelica description starts
+\section{Reading the Pushbutton status from OpenModelica Scripts}
+In this section, we shall perform the pushbutton operation using
+OpenModelica-Arduino toolbox commands.
+\begin{enumerate}
+\item In the first experiment, we will read the pushbutton status in
+ OpenModelica output Console. The code for this experiment is given in
+ \OpenModelicaref{OpenModelica:push-100}. As explained earlier, we begin with serial
+ port initialization. Then, using the command,
+ \lstinputlisting[firstline=16,lastline=16]
+ {\LocPushOpenModelicacode/push-button-status.mo} we read the input of
+ digital pin 12.
+\item This experiment is same as previously done with Scilab-Arduino.
+\end{enumerate}
+%%%%%%%%%%%%OpenModelica decription ends
+
+% \section{Do we need all these? \redcolor{Manas, please answer}}
+% \subsection{Troubleshooting}
+% You can check whether pushbutton is working correctly or not by
+% checking the connections. If pushbutton is working correctly, all the
+% 4 terminals show electrical short. You can check this with digital
+% multimeter (DMM). When pushbutton is released two pairs of terminals are
+% not connected to the other 2 terminals on the other side. However,
+% each pair is still shorted.
+
+
+
+\section{Arduino Code}
+\lstset{style=mystyle}
+\label{sec:push-arduino-code}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+ \acaption{Read the status of the pushbutton and displaying on the
+ serial monitor}{Read the status of the pushbutton and display it on
+ the serial monitor. Available at
+ \LocPushardbrief{push-button-status/push-button-status.ino}.}
+\label{ard:push-100}
+\lstinputlisting{\LocPushardcode/push-button-status/push-button-status.ino}
+\end{ardcode}
+
+\begin{ardcode}
+ \acaption{Turning the LED on or off depending on the pushbutton}
+ {Turning the LED on or off depending on the pushbutton. Available
+ at \LocPushardbrief{led-push-button/led-push-button.ino}.}
+\label{ard:push-200}
+\lstinputlisting{\LocPushardcode/led-push-button/led-push-button.ino}
+\end{ardcode}
+
+
+
+\section{Scilab Code}
+\label{sec:push-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+\ccaption{Read the status of the pushbutton and displaying on the
+ serial monitor}{Read the status of the pushbutton and displaying on
+ the serial monitor. Available at
+ \LocPushscibrief{push-button-status.sce}.}
+\label{sci:push-100}
+\lstinputlisting{\LocPushscicode/push-button-status.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Turning the LED on or off depending on the pushbutton}
+ {Turning the LED on or off depending on the pushbutton. Available at
+ \LocPushscibrief{led-push-button.sce}.}
+\label{sci:push-200}
+\lstinputlisting{\LocPushscicode/led-push-button.sce}
+\end{scicode}
+
+
+%%%%%%%%%%%%%%%%%python starts
+\section{Python Code}
+\label{sec:push-python-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{pycode}
+\pcaption{Read the status of the pushbutton and displaying on the
+ serial monitor}{Read the status of the pushbutton and displaying on
+ the serial monitor. Available at
+ \LocPushpybrief{push-button-status.py}.}
+\label{py:push-100}
+\lstinputlisting{\LocPushpycode/push-button-status.py}
+\end{pycode}
+
+\begin{pycode}
+\pcaption{Turning the LED on or off depending on the pushbutton}
+ {Turning the LED on or off depending on the pushbutton. Available at
+ \LocPushpybrief{led-push-button.py}.}
+\label{py:push-200}
+\lstinputlisting{\LocPushpycode/led-push-button.py}
+\end{pycode}
+%%%%%%%%%%%%%%%%%python ends
+
+%%%%%%%%%%%%%%%%%julia starts
+\section{Julia Code}
+\label{sec:push-julia-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{juliacode}
+\ccaption{Read the status of the pushbutton and displaying on the
+ serial monitor}{Read the status of the pushbutton and displaying on
+ the serial monitor. Available at
+ \LocPushjuliabrief{push-button-status.jl}.}
+\label{julia:push-100}
+\lstinputlisting{\LocPushjuliacode/push-button-status.jl}
+\end{juliacode}
+
+\begin{juliacode}
+\ccaption{Turning the LED on or off depending on the pushbutton}
+ {Turning the LED on or off depending on the pushbutton. Available at
+ \LocPushjuliabrief{led-push-button.jl}.}
+\label{julia:push-200}
+\lstinputlisting{\LocPushjuliacode/led-push-button.jl}
+\end{juliacode}
+%%%%%%%%%%%%%%%%%julia ends
+
+
+%%%%%begin OpenModelica code
+\section{OpenModelica Code}
+\label{sec:led-OpenModelica-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{OpenModelicacode}
+\ccaption{Read the status of the pushbutton and displaying on the
+ serial monitor}{Read the status of the pushbutton and displaying on
+ the serial monitor. Available at
+ \LocPushOpenModelicabrief{push-button-status.mo}.}
+\label{OpenModelica:push-100}
+\lstinputlisting{\LocPushOpenModelicacode/push-button-status.mo}
+\end{OpenModelicacode}
+
+\begin{OpenModelicacode}
+\ccaption{Turning the LED on or off depending on the pushbutton}
+ {Turning the LED on or off depending on the pushbutton. Available at
+ \LocPushOpenModelicabrief{led-push-button.mo}.}
+\label{OpenModelica:push-200}
+\lstinputlisting{\LocPushOpenModelicacode/led-push-button.mo}
+\end{OpenModelicacode}
+%%%%%%%%%%%%%%%%%OpenModelica ends \ No newline at end of file
diff --git a/scilab-arduino/user-code/push/pushbutton_11.tex b/scilab-arduino/user-code/push/pushbutton_11.tex
new file mode 100644
index 0000000..27dfb0e
--- /dev/null
+++ b/scilab-arduino/user-code/push/pushbutton_11.tex
@@ -0,0 +1,127 @@
+\chapter{Interfacing a Pushbutton}
+\thispagestyle{empty}
+\label{pushbutton}
+
+\newcommand{\LocPushfig}{\Origin/user-code/push/figures}
+\newcommand{\LocPushscicode}{\Origin/user-code/push/scilab}
+\newcommand{\LocPushscibrief}{Orign/user-code/push/scilab}
+\newcommand{\LocPushardcode}{\Origin/user-code/push/arduino}
+\newcommand{\LocPushardbrief}{Orign/user-code/push/arduino}
+
+\newcommand{\LocPushbrief}{Orign/user-code/push/code}
+
+In this experiment we will learn about digital input in arduino. We will read the status of pushbutton switch connected to Arduino using scilab-arduino toolbox. This status can be used to perform different operations. Monitoring status using digital logic is very basic and important task in many applications. This experiment will enable you to do the same.
+
+\section{Preliminaries}
+Pushbutton is a simple switch which is used to connect/disconnect circuit. When push-button interfaced with microcontroller circuit is pressed, it changes logic level of the micro-controller pin connected to its terminal.
+
+After pressing the button two terminals get electrically connected (short) and thus current flows through the pushbutton. As you might expect, there is limit to maximum current that could flow through pushbutton. This maximum current is also called as rated current and is provided by manufacturer in the datasheet.
+
+\section{Reading a Pushbutton from the Arduino IDE}
+
+\subsection{Reading values from Arduino through Scilab}
+In this section we will see how arduino conveys digital value to the scilab software installed in the computer. This is done by Scilab-arduino toolbox we are using. But at root level, digital data transfer between Arduino and Scilab happens because of RS232 serial communication.
+
+\subsubsection{RS232 serial communication}
+Serial communication is wired communication standard where 2 computing units talk with each other using two wires. RS232 is one of the widely used standard of data transfer. In this, data transfer over each wire takes place sequentially with 1 bit at a time. Each unit has separate receive and transmit connection, thus it s full duplex mode of communication. All Arduino boards have special hardware called universal asynchronous receiver transmitter (UART) to enable fast RS232 serial communication. RS232 serial transmit (Tx) and serial receive (Rx) connections are provided at digital pin 1 and 0 respectively. With the serial-USB adapter, this serial port communicates with computer with scilab installed. Scilab-arduino toolbox uses this serial port in the backend. Some of the Arduino variants like arduino mega provide multiple inbuilt serial ports.
+
+To start a serial communication few configuration parameters need to be set. They must be same for both the units involved in communication. Parameters needed for serial communication are Baud rate, start bit, stop bit, parity type, etc.
+
+\subsection{Connections}
+Pushbutton is connected to the digital pin 4 of arduino using shield given in kit. It has 2 pair of terminals. Each pair is electrically connected. When pushbutton is pressed all the terminals become short.
+
+\subsection{Block diagram}
+
+\section{Experiment: Reading digital input}
+In this experiment we will read the pushbutton status in scilab console. We have to write a cmd\_digital\_read function. The general form of this function is given as:
+\begin{lstlisting}
+ans=cmd_digital_in(1, pin)
+\end{lstlisting}
+
+
+\section{Reading a Pushbutton from the Arduino IDE}
+\subsection{Scilab script}
+
+
+
+\subsection{Xcos implementation}
+The Xcos implementation for this experiment is shown in the \figref{pushbuttonstat}.
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocPushfig/push-button-status.png}
+\caption{Xcos diagram}
+\label{fig:pushbuttonstat}
+\end{figure}
+
+\subsubsection{Output}
+Using serial connection between Arduino and scilab, digital status of the pushbutton is observed on scilab console. In xcos, graphical plot of the same can be observed. When user presses the button, change in the logic value from low to high can be observed.
+
+
+\section{Experiment: Controlling LED using pushbutton}
+In this experiment, we will learn to switch on/off LED using pushbutton. Here both the peripherals LED and button works with digital logic. Thus LED digital output is decided by the digital input received from pushbutton. Scilab code for direct implementation in scilab-arduino toolbox is mentioned below.
+
+\subsection{Scilab script}
+
+
+
+\subsection{Xcos implementation}
+The Xcos implementation for this experiment is shown in the \figref{pushbuttonstat}.
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocPushfig/led-push-button.png}
+\caption{Xcos diagram}
+\label{fig:ledpushbutton}
+\end{figure}
+
+
+\subsubsection{Output}
+Each time user presses button, LED on the shield is switched on. When button is released LED is switched off again. Here we note that digital logic level of the Arduino pin connected to pushbutton changes only for the time button is being pressed.
+
+
+\subsubsection{Troubleshooting}
+You can check whether pushbutton is working correctly or not by checking connections. If pushbutton is working correctly, all the 4 terminals show electrical short. You can check this with digital multimeter (DMM). When pushbutton is released 2 pair of terminals are not connected to the other 2 terminals on the other side. However, each pair is still shorted.
+
+
+\subsection{Exercise}
+
+\section{Arduino Code}
+\lstset{style=mystyle}
+\label{sec:push-arduino-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+\ccaption{Turning on the blue LED}{Turning on the blue LED. Available
+ at \LocPushardbrief/push-button-status/push-button-status.ino}
+\label{ard:push-status}
+\lstinputlisting{\LocPushardcode/push-button-status/push-button-status.ino}
+\end{ardcode}
+
+\begin{ardcode}
+\ccaption{Turning on the blue LED}{Turning on the blue LED. Available
+ at \LocPushardbrief/led-push-button/led-push-button.ino}
+\label{ard:led-blue}
+\lstinputlisting{\LocPushardcode/led-push-button/led-push-button.ino}
+\end{ardcode}
+
+
+
+\section{Scilab Code}
+\label{sec:push-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+\begin{scicode}
+\ccaption{Interfacing a Pushbutton}
+{Read and display the LDR values. Available at
+ \LocPushscibrief/push-button-status.sce.}
+\label{sci:push-100}
+\lstinputlisting{\LocPushscicode/push-button-status.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Interfacing a Pushbutton}
+{Change the LED state depending on the LDR values. Available at
+ \LocPushscibrief/led-push-button.sce.}
+\label{sci:push-200}
+\lstinputlisting{\LocPushscicode/led-push-button.sce}
+\end{scicode}
diff --git a/scilab-arduino/user-code/push/python/led-push-button.py b/scilab-arduino/user-code/push/python/led-push-button.py
new file mode 100644
index 0000000..e5ef6bf
--- /dev/null
+++ b/scilab-arduino/user-code/push/python/led-push-button.py
@@ -0,0 +1,42 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class PUSHBUTTON_LED:
+
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.blue=9
+ self.green=10
+ self.red=11
+ self.pushbutton=12
+ for i in range(20):
+ val=self.obj_arduino.cmd_digital_in(1,self.pushbutton)
+ #sleep(0.5)
+ print (val)
+ self.obj_arduino.cmd_digital_out(1,self.blue,val)
+ sleep(0.5)
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pushbutton=PUSHBUTTON_LED(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/push/python/push-button-status.py b/scilab-arduino/user-code/push/python/push-button-status.py
new file mode 100644
index 0000000..df4168c
--- /dev/null
+++ b/scilab-arduino/user-code/push/python/push-button-status.py
@@ -0,0 +1,40 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class PUSHBUTTON:
+
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pushbutton=12
+ for i in range(10):
+ val=self.obj_arduino.cmd_digital_in(1,self.pushbutton)
+ sleep(1)
+ print (val)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pushbutton=PUSHBUTTON(115200)
+
+if __name__=='__main__':
+ main()
+
+
diff --git a/scilab-arduino/user-code/push/scilab/led-push-button.sce b/scilab-arduino/user-code/push/scilab/led-push-button.sce
new file mode 100644
index 0000000..8195e32
--- /dev/null
+++ b/scilab-arduino/user-code/push/scilab/led-push-button.sce
@@ -0,0 +1,12 @@
+ok=open_serial(1,2,115200); // port 2, baudrate 115200
+if ok~=0 then error('Unable to open serial port, please check'); end
+for i=1:1000 //Run for 1000 iterations
+ p=cmd_digital_in(1,12)
+ if p==0
+ cmd_digital_out(1,9,0)
+ else
+ cmd_digital_out(1,9,1)
+ end
+end
+close_serial(1)
+
diff --git a/scilab-arduino/user-code/push/scilab/led-push-button.zcos b/scilab-arduino/user-code/push/scilab/led-push-button.zcos
new file mode 100644
index 0000000..02f9cdb
--- /dev/null
+++ b/scilab-arduino/user-code/push/scilab/led-push-button.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/push/scilab/push-button-status.sce b/scilab-arduino/user-code/push/scilab/push-button-status.sce
new file mode 100644
index 0000000..24f1214
--- /dev/null
+++ b/scilab-arduino/user-code/push/scilab/push-button-status.sce
@@ -0,0 +1,9 @@
+ok=open_serial(1,2,115200); // port 2, baud rate 115200
+if ok~=0 then error('Unable to open serial port, please check'), end
+for i=1:1000 // Run for 1000 iterations
+ val = cmd_digital_in(1,12); // Read the status of pin 12
+ cmd_arduino_meter(val);
+end
+close_serial(1) // To close the connection safely
+
+
diff --git a/scilab-arduino/user-code/push/scilab/push-button-status.zcos b/scilab-arduino/user-code/push/scilab/push-button-status.zcos
new file mode 100644
index 0000000..b02019d
--- /dev/null
+++ b/scilab-arduino/user-code/push/scilab/push-button-status.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/servo/OpenModelica/servo-init.mo b/scilab-arduino/user-code/servo/OpenModelica/servo-init.mo
new file mode 100644
index 0000000..b9e4367
--- /dev/null
+++ b/scilab-arduino/user-code/servo/OpenModelica/servo-init.mo
@@ -0,0 +1,22 @@
+model servo_init "Rotate Servo Motor "
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "To attach the motor to pin 9 of servo1";
+ sComm.cmd_servo_move(1, 1, 30) "tell servo to rotate by 30 degrees";
+ sComm.delay(3000);
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ //sComm.cmd_servo_detach(1,1);
+ annotation(experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+end servo_init; \ No newline at end of file
diff --git a/scilab-arduino/user-code/servo/OpenModelica/servo-loop.mo b/scilab-arduino/user-code/servo/OpenModelica/servo-loop.mo
new file mode 100644
index 0000000..c3b083b
--- /dev/null
+++ b/scilab-arduino/user-code/servo/OpenModelica/servo-loop.mo
@@ -0,0 +1,27 @@
+model servo_loop "Rotate servo motor by 20 degrees 10 times"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ Integer angle(fixed = true);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "Attach motor to pin 9. 1 means pin 9.";
+ sComm.delay(2000);
+ angle := 20 "Angle by which it has to move";
+ for i in 1:10 loop
+ sComm.cmd_servo_move(1, 1, angle * i) "tell servo to rotate by 20 degrees";
+ sComm.delay(1000) "waits for a sec";
+ end for;
+ sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+end servo_loop; \ No newline at end of file
diff --git a/scilab-arduino/user-code/servo/OpenModelica/servo-reverse.mo b/scilab-arduino/user-code/servo/OpenModelica/servo-reverse.mo
new file mode 100644
index 0000000..4374860
--- /dev/null
+++ b/scilab-arduino/user-code/servo/OpenModelica/servo-reverse.mo
@@ -0,0 +1,25 @@
+model servo_reverse
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "Attach the motor to pin 9. 1 means 9";
+ sComm.cmd_servo_move(1, 1, 90) "Move the servo to 90 degree";
+ sComm.delay(1000) "be there for one second";
+ sComm.cmd_servo_move(1, 1, 45) "Move the servo to 45 degree";
+ sComm.delay(1000) "be there for one second";
+ sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ sComm.delay(1000);
+ end if;
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+end servo_reverse; \ No newline at end of file
diff --git a/scilab-arduino/user-code/servo/OpenModelica/servo_pot.mo b/scilab-arduino/user-code/servo/OpenModelica/servo_pot.mo
new file mode 100644
index 0000000..7915e09
--- /dev/null
+++ b/scilab-arduino/user-code/servo/OpenModelica/servo_pot.mo
@@ -0,0 +1,31 @@
+model servo_pot "Control Servo Motor using Potentiometer"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer c_ok(fixed = false);
+ Integer analog_in(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "COM port is 0 and baud rate is 115200";
+ if ok <> 0 then
+ strm.print("Check the serial port and try again");
+ else
+ sComm.delay(2000);
+ sComm.cmd_servo_attach(1, 1) "Attach the motor to pin 9";
+ sComm.delay(2000);
+ for i in 1:5000 loop
+ analog_in := sComm.cmd_analog_in(1, 2) "Read potentiometer value";
+ analog_in := sComm.math_floor(analog_in * (180 / 1023)) "Scale Potentiometer value to 0-180";
+ sComm.cmd_servo_move(1, 1, analog_in) "Command the servo motor";
+ sComm.delay(1000) "sleep for 500 milliseconds";
+ strm.print("Potentiometer Reading at time" + String(time) + " : " + String(analog_in));
+ end for;
+ end if;
+ sComm.cmd_servo_detach(1, 1) "Detach the motor";
+ sComm.delay(5000);
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ //5,000 itterations
+ annotation(experiment(StartTime = 0, StopTime = 5, Tolerance = 1e-6, Interval = 5));
+end servo_pot; \ No newline at end of file
diff --git a/scilab-arduino/user-code/servo/arduino-old/servo-init/servo-init.ino b/scilab-arduino/user-code/servo/arduino-old/servo-init/servo-init.ino
new file mode 100644
index 0000000..3fb5d44
--- /dev/null
+++ b/scilab-arduino/user-code/servo/arduino-old/servo-init/servo-init.ino
@@ -0,0 +1,11 @@
+#include <Servo.h>
+Servo myservo; // create servo object to control a servo
+void setup() {
+ myservo.attach(9); // attach the servo object on to pin 9
+ myservo.write(30); // tell servo to rotate by 30 degrees
+ delay(1000);
+ myservo.detach();
+}
+void loop() {
+}
+
diff --git a/scilab-arduino/user-code/servo/arduino-old/servo-loop/servo-loop.ino b/scilab-arduino/user-code/servo/arduino-old/servo-loop/servo-loop.ino
new file mode 100644
index 0000000..878f793
--- /dev/null
+++ b/scilab-arduino/user-code/servo/arduino-old/servo-loop/servo-loop.ino
@@ -0,0 +1,15 @@
+#include <Servo.h>
+Servo myservo; // create servo object to control a servo
+int angle=20;
+int i=0;
+void setup() {
+ for(i=1;i<10;i++) {
+ myservo.attach(9); // attach the servo object on to pin 9
+ myservo.write(angle*i); // tell servo to rotate by 20 degrees
+ delay(1000); // waits for a sec
+ }
+ myservo.detach();
+}
+void loop() {
+}
+
diff --git a/scilab-arduino/user-code/servo/arduino-old/servo-pot/servo-pot.ino b/scilab-arduino/user-code/servo/arduino-old/servo-pot/servo-pot.ino
new file mode 100644
index 0000000..b9f1036
--- /dev/null
+++ b/scilab-arduino/user-code/servo/arduino-old/servo-pot/servo-pot.ino
@@ -0,0 +1,18 @@
+#include <Servo.h>
+Servo myservo; // create servo object to control a servo
+int potpin = 2; // analog pin used to connect the potentiometer
+int val; // variable to read the value from the analog pin
+int i;
+void setup(){
+ myservo.attach(9); // attach the servo object on to pin 9
+ for(i=0;i<5000;++i){
+ val = analogRead(potpin); // reads a value in (0,1023) through pot
+ val = map(val, 0, 1023, 0, 180); // maps it in the range (0,180) degrees
+ myservo.write(val); // moves the motor to the mapped degree
+ delay(500); // waits for a second for servo to reach
+ }
+ myservo.detach();
+}
+void loop(){
+}
+
diff --git a/scilab-arduino/user-code/servo/arduino-old/servo-reverse/servo-reverse.ino b/scilab-arduino/user-code/servo/arduino-old/servo-reverse/servo-reverse.ino
new file mode 100644
index 0000000..8003a07
--- /dev/null
+++ b/scilab-arduino/user-code/servo/arduino-old/servo-reverse/servo-reverse.ino
@@ -0,0 +1,13 @@
+#include <Servo.h>
+Servo myservo; // create servo object to control a servo
+void setup() {
+ myservo.attach(9); // attach the servo object on to pin 9
+ myservo.write(90); // tell servo to rotate by 90 degrees
+ delay(1000);
+ myservo.write(45);
+ delay(1000);
+ myservo.detach();
+}
+void loop() {
+}
+
diff --git a/scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino b/scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino
new file mode 100644
index 0000000..ec7f363
--- /dev/null
+++ b/scilab-arduino/user-code/servo/arduino/servo-init/servo-init.ino
@@ -0,0 +1,12 @@
+#include <Servo.h>
+Servo myservo; // create servo object to control a servo
+void setup() {
+ Serial.begin(115200);
+ myservo.attach(9); // attach the servo object on to pin 9
+ myservo.write(30); // tell servo to rotate by 30 degrees
+ delay(1000);
+ myservo.detach();
+}
+void loop() {
+}
+
diff --git a/scilab-arduino/user-code/servo/arduino/servo-loop/servo-loop.ino b/scilab-arduino/user-code/servo/arduino/servo-loop/servo-loop.ino
new file mode 100644
index 0000000..f3dc634
--- /dev/null
+++ b/scilab-arduino/user-code/servo/arduino/servo-loop/servo-loop.ino
@@ -0,0 +1,16 @@
+#include <Servo.h>
+Servo myservo; // create servo object to control a servo
+int angle=20;
+int i=0;
+void setup() {
+ for(i=1;i<10;i++) {
+ Serial.begin(115200);
+ myservo.attach(9); // attach the servo object on to pin 9
+ myservo.write(angle*i); // tell servo to rotate by 20 degrees
+ delay(1000); // waits for a sec
+ }
+ myservo.detach();
+}
+void loop() {
+}
+
diff --git a/scilab-arduino/user-code/servo/arduino/servo-pot/servo-pot.ino b/scilab-arduino/user-code/servo/arduino/servo-pot/servo-pot.ino
new file mode 100644
index 0000000..cdcc8df
--- /dev/null
+++ b/scilab-arduino/user-code/servo/arduino/servo-pot/servo-pot.ino
@@ -0,0 +1,19 @@
+#include <Servo.h>
+Servo myservo; // create servo object to control a servo
+int potpin = 2; // analog pin used to connect the potentiometer
+int val; // variable to read the value from the analog pin
+int i;
+void setup(){
+ Serial.begin(115200);
+ myservo.attach(9); // attach the servo object on to pin 9
+ for(i=0;i<5000;++i){
+ val = analogRead(potpin); // reads a value in (0,1023) through pot
+ val = map(val, 0, 1023, 0, 180); // maps it in the range (0,180) degrees
+ myservo.write(val); // moves the motor to the mapped degree
+ delay(500); // waits for a second for servo to reach
+ }
+ myservo.detach();
+}
+void loop(){
+}
+
diff --git a/scilab-arduino/user-code/servo/arduino/servo-reverse/servo-reverse.ino b/scilab-arduino/user-code/servo/arduino/servo-reverse/servo-reverse.ino
new file mode 100644
index 0000000..c994df9
--- /dev/null
+++ b/scilab-arduino/user-code/servo/arduino/servo-reverse/servo-reverse.ino
@@ -0,0 +1,14 @@
+#include <Servo.h>
+Servo myservo; // create servo object to control a servo
+void setup() {
+ Serial.begin(115200);
+ myservo.attach(9); // attach the servo object on to pin 9
+ myservo.write(90); // tell servo to rotate by 90 degrees
+ delay(1000);
+ myservo.write(45);
+ delay(1000);
+ myservo.detach();
+}
+void loop() {
+}
+
diff --git a/scilab-arduino/user-code/servo/auto/servo.el b/scilab-arduino/user-code/servo/auto/servo.el
new file mode 100644
index 0000000..2e25b28
--- /dev/null
+++ b/scilab-arduino/user-code/servo/auto/servo.el
@@ -0,0 +1,33 @@
+(TeX-add-style-hook "servo"
+ (lambda ()
+ (LaTeX-add-labels
+ "sec:servo"
+ "tab:servo-connect"
+ "sec:servo-ard"
+ "sec:servo-sci"
+ "sec:servo-xcos"
+ "fig:servo-init"
+ "tab:servo-init"
+ "fig:servo-reverse"
+ "tab:servo-reverse"
+ "fig:servo-loop"
+ "tab:servo-loop"
+ "fig:servo-pot"
+ "tab:servo-pot"
+ "sec:servo-arduino-code"
+ "ard:servo-init"
+ "ard:servo-reverse"
+ "ard:servo-loop"
+ "ard:servo-pot"
+ "sec:servo-scilab-code"
+ "sci:servo-init"
+ "sci:servo-reverse"
+ "sci:servo-loop"
+ "sci:servo-pot")
+ (TeX-add-symbols
+ '("LocSERardbrief" 1)
+ '("LocSERscibrief" 1)
+ "LocSERfig"
+ "LocSERscicode"
+ "LocSERardcode")))
+
diff --git a/scilab-arduino/user-code/servo/figures/servo-init.png b/scilab-arduino/user-code/servo/figures/servo-init.png
new file mode 100644
index 0000000..d563c51
--- /dev/null
+++ b/scilab-arduino/user-code/servo/figures/servo-init.png
Binary files differ
diff --git a/scilab-arduino/user-code/servo/figures/servo-loop.png b/scilab-arduino/user-code/servo/figures/servo-loop.png
new file mode 100644
index 0000000..7ace143
--- /dev/null
+++ b/scilab-arduino/user-code/servo/figures/servo-loop.png
Binary files differ
diff --git a/scilab-arduino/user-code/servo/figures/servo-pot.png b/scilab-arduino/user-code/servo/figures/servo-pot.png
new file mode 100644
index 0000000..771d773
--- /dev/null
+++ b/scilab-arduino/user-code/servo/figures/servo-pot.png
Binary files differ
diff --git a/scilab-arduino/user-code/servo/figures/servo-reverse.png b/scilab-arduino/user-code/servo/figures/servo-reverse.png
new file mode 100644
index 0000000..6bb059b
--- /dev/null
+++ b/scilab-arduino/user-code/servo/figures/servo-reverse.png
Binary files differ
diff --git a/scilab-arduino/user-code/servo/julia/servo-init.jl b/scilab-arduino/user-code/servo/julia/servo-init.jl
new file mode 100644
index 0000000..cbb5608
--- /dev/null
+++ b/scilab-arduino/user-code/servo/julia/servo-init.jl
@@ -0,0 +1,8 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+ServoAttach(ser,1)
+ServoMove(ser,1,30)
+sleep(1)
+close(ser)
diff --git a/scilab-arduino/user-code/servo/julia/servo-loop.jl b/scilab-arduino/user-code/servo/julia/servo-loop.jl
new file mode 100644
index 0000000..5d90c70
--- /dev/null
+++ b/scilab-arduino/user-code/servo/julia/servo-loop.jl
@@ -0,0 +1,13 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+ServoAttach(ser,1)
+sleep(1)
+angle = 20
+for i = 1:9
+ ServoMove(ser,1,angle*i)
+ sleep(1)
+end
+ServoDetach(ser,1)
+close(ser)
diff --git a/scilab-arduino/user-code/servo/julia/servo-pot.jl b/scilab-arduino/user-code/servo/julia/servo-pot.jl
new file mode 100644
index 0000000..590c582
--- /dev/null
+++ b/scilab-arduino/user-code/servo/julia/servo-pot.jl
@@ -0,0 +1,14 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+ServoAttach(ser,1)
+for i = 1:500
+ p = analogRead(ser,2)
+ p = p*(180/1023)
+ q = round(Int,floor(p))
+ ServoMove(ser,1,q)
+ sleep(0.5)
+end
+ServoDetach(ser,1)
+close(ser)
diff --git a/scilab-arduino/user-code/servo/julia/servo-reverse.jl b/scilab-arduino/user-code/servo/julia/servo-reverse.jl
new file mode 100644
index 0000000..d07f816
--- /dev/null
+++ b/scilab-arduino/user-code/servo/julia/servo-reverse.jl
@@ -0,0 +1,10 @@
+using SerialPorts
+include("ArduinoTools.jl")
+
+ser = connectBoard(115200)
+ServoAttach(ser,1)
+ServoMove(ser,1,90)
+sleep(1)
+ServoMove(ser,1,45)
+sleep(1)
+close(ser)
diff --git a/scilab-arduino/user-code/servo/python/servo-init.py b/scilab-arduino/user-code/servo/python/servo-init.py
new file mode 100644
index 0000000..e9fc8ab
--- /dev/null
+++ b/scilab-arduino/user-code/servo/python/servo-init.py
@@ -0,0 +1,42 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_INIT:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.obj_arduino.cmd_servo_attach(1,1)
+ self.obj_arduino.cmd_servo_move(1,1,30)
+ sleep(1)
+ self.obj_arduino.cmd_servo_detach(1,1)
+ sleep(1)
+
+
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_INIT(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/servo/python/servo-loop.py b/scilab-arduino/user-code/servo/python/servo-loop.py
new file mode 100644
index 0000000..73bd5c7
--- /dev/null
+++ b/scilab-arduino/user-code/servo/python/servo-loop.py
@@ -0,0 +1,41 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_INCR:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.obj_arduino.cmd_servo_attach(1,1)
+ sleep(1)
+ self.angle=20
+ for i in range(10):
+ self.obj_arduino.cmd_servo_move(1,1,self.angle*i)
+ sleep(2)
+ self.obj_arduino.cmd_servo_detach(1,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_INCR(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/servo/python/servo-pot.py b/scilab-arduino/user-code/servo/python/servo-pot.py
new file mode 100644
index 0000000..9a66f2b
--- /dev/null
+++ b/scilab-arduino/user-code/servo/python/servo-pot.py
@@ -0,0 +1,47 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_POT:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.pot=2
+ self.pos=0
+ self.obj_arduino.cmd_servo_attach(1,1)
+ sleep(1)
+ self.angle=18
+ for i in range(100):
+ val=self.obj_arduino.cmd_analog_in(1,self.pot)
+ print val
+ val = int(val*180/1023)
+ print (val)
+ self.obj_arduino.cmd_servo_move(1,1,val)
+ sleep(0.5)
+ self.obj_arduino.cmd_servo_detach(1,1)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_POT(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/servo/python/servo-reverse.py b/scilab-arduino/user-code/servo/python/servo-reverse.py
new file mode 100644
index 0000000..d205771
--- /dev/null
+++ b/scilab-arduino/user-code/servo/python/servo-reverse.py
@@ -0,0 +1,44 @@
+
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class SERVO_ANGULAR_ROTATION:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.pin1=9
+ self.obj_arduino.cmd_servo_attach(1,1)
+ self.obj_arduino.cmd_servo_move(1,1,90)
+ sleep(1)
+ self.obj_arduino.cmd_servo_move(1,1,45)
+ sleep(1)
+ self.obj_arduino.cmd_servo_detach(1,1)
+ sleep(1)
+
+
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_servo=SERVO_ANGULAR_ROTATION(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/servo/scilab/Servo-manual.docx b/scilab-arduino/user-code/servo/scilab/Servo-manual.docx
new file mode 100644
index 0000000..03cc892
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/Servo-manual.docx
Binary files differ
diff --git a/scilab-arduino/user-code/servo/scilab/servo-init.sce b/scilab-arduino/user-code/servo/scilab/servo-init.sce
new file mode 100644
index 0000000..ac3e331
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/servo-init.sce
@@ -0,0 +1,6 @@
+ok = open_serial(1,2,115200) // At port 2 with baud rate of 115200
+if ok ~= 0 error('Check the serial port and try again'); end
+cmd_servo_attach(1,1) // To attach the motor to pin 9
+cmd_servo_move(1,1,30) // tell servo to rotate by 30 degrees
+sleep(1000)
+close_serial(1)
diff --git a/scilab-arduino/user-code/servo/scilab/servo-init.zcos b/scilab-arduino/user-code/servo/scilab/servo-init.zcos
new file mode 100644
index 0000000..291d5d5
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/servo-init.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/servo/scilab/servo-loop.sce b/scilab-arduino/user-code/servo/scilab/servo-loop.sce
new file mode 100644
index 0000000..173e766
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/servo-loop.sce
@@ -0,0 +1,11 @@
+ok= open_serial(1,2,115200); // At port 2 with baudrate of 115200
+if ok ~= 0 error('Check the serial port and try again'); end
+cmd_servo_attach(1,1) // Attach motor to pin 9. 1 means pin 9.
+sleep(1000)
+angle=20; // Angle by which it has to move
+for i=0:10
+ cmd_servo_move(1,1,angle*i) // tell servo to rotate by 20 degrees
+ sleep(1000) // waits for a sec
+end
+cmd_servo_detach(1,1) // Detach the motor
+close_serial(1); //To close the connection safely
diff --git a/scilab-arduino/user-code/servo/scilab/servo-loop.zcos b/scilab-arduino/user-code/servo/scilab/servo-loop.zcos
new file mode 100644
index 0000000..aafc68b
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/servo-loop.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/servo/scilab/servo-pot.sce b/scilab-arduino/user-code/servo/scilab/servo-pot.sce
new file mode 100644
index 0000000..2d4a7af
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/servo-pot.sce
@@ -0,0 +1,11 @@
+ok = open_serial(1,2,115200) // At port 2 with baud rate of 115200
+if ok ~= 0 error('Check the serial port and try again'); end
+cmd_servo_attach(1,1) // Attach the motor to pin 9
+for i=1:5000 // 5,000 itterations
+ p=cmd_analog_in(1,2) // Read potntiometer value
+ p=floor(p*(180/1023)) // Scale Potentiometer value to 0-180
+ cmd_servo_move(1,1,p) // Command the servo motor
+ sleep(500) // sleep for 500 milliseconds
+end
+cmd_servo_detach(1,1)// Detach the motor
+close_serial(1)
diff --git a/scilab-arduino/user-code/servo/scilab/servo-pot.zcos b/scilab-arduino/user-code/servo/scilab/servo-pot.zcos
new file mode 100644
index 0000000..ce85c8f
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/servo-pot.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/servo/scilab/servo-reverse.sce b/scilab-arduino/user-code/servo/scilab/servo-reverse.sce
new file mode 100644
index 0000000..0405d0d
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/servo-reverse.sce
@@ -0,0 +1,8 @@
+ok = open_serial(1,2,115200) // Connect to Arduino at port 2
+if ok ~= 0 error('Check the serial port and try again'); end
+cmd_servo_attach(1,1) // Attach the motor to pin 9. 1 means 9
+cmd_servo_move(1,1,90) // Move the servo to 90 degree
+sleep(1000) // be there for one second
+cmd_servo_move(1,1,45) // Move the servo to 45 degree
+sleep(1000) // be there for one second
+close_serial(1) // To close the connection safely
diff --git a/scilab-arduino/user-code/servo/scilab/servo-reverse.zcos b/scilab-arduino/user-code/servo/scilab/servo-reverse.zcos
new file mode 100644
index 0000000..1734bc4
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/servo-reverse.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/servo/scilab/servo_pot.sce b/scilab-arduino/user-code/servo/scilab/servo_pot.sce
new file mode 100644
index 0000000..524e1d2
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/servo_pot.sce
@@ -0,0 +1,17 @@
+// Connect the Arduino at port 2
+ok = open_serial(1,2,115200)
+
+if ok ~= 0 error('Check the serial port and try again');
+end
+
+// Attach the motor to pin 9. 1~pin 9, 2~pin 10
+cmd_servo_attach(1,1)
+
+for i=1:40 //Run for 40 itterations
+ p=cmd_analog_in(1,2) //Read potntiometer value
+ p=floor(p*(180/1023)) //Scale Potentiometer value to 0-180
+ cmd_servo_move(1,1,p) //Command the servo motor
+ sleep(500) //sleep for 500 milliseconds
+end
+close_serial(1); //To close the connection safely
+
diff --git a/scilab-arduino/user-code/servo/scilab/servo_simple.sce b/scilab-arduino/user-code/servo/scilab/servo_simple.sce
new file mode 100644
index 0000000..ce35acb
--- /dev/null
+++ b/scilab-arduino/user-code/servo/scilab/servo_simple.sce
@@ -0,0 +1,20 @@
+// Connect the Arduino at port 2
+ok = open_serial(1,2,115200)
+
+if ok ~= 0 error('Check the serial port and try again');
+end
+
+// Attach the motor to pin 9. 1 means pin 9, 2 means pin 10
+cmd_servo_attach(1,1)
+sleep(1000)
+
+cmd_servo_move(1,1,90) // Move the servo to 90 degree
+sleep(1000)
+
+cmd_servo_move(1,1,45) // Move the servo to 45 degree
+sleep(1000)
+
+cmd_servo_detach(1,1) // Detach the motor
+sleep(1000)
+
+close_serial(1); //To close the connection safely
diff --git a/scilab-arduino/user-code/servo/servo.tex b/scilab-arduino/user-code/servo/servo.tex
new file mode 100644
index 0000000..19b3e85
--- /dev/null
+++ b/scilab-arduino/user-code/servo/servo.tex
@@ -0,0 +1,725 @@
+\chapter {Interfacing a Servomotor}
+\thispagestyle{empty}
+\label{sec:servo}
+\newcommand{\LocSERfig}{\Origin/user-code/servo/figures}
+\newcommand{\LocSERscicode}{\Origin/user-code/servo/scilab}
+\newcommand{\LocSERscibrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/servo/scilab/#1}},
+see \fnrefp{fn:file-loc}}
+
+\newcommand{\LocSERardcode}{\Origin/user-code/servo/arduino}
+\newcommand{\LocSERardbrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/servo/arduino/#1}},
+see \fnrefp{fn:file-loc}}
+
+%%%%%%%%%%%%%%%python starts
+\newcommand{\LocSERpycode}{\Origin/user-code/servo/python}
+\newcommand{\LocSERpybrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/servo/python/#1}},
+see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%%%%%python ends
+
+%%%%%%%%%%%%%%%julia starts
+\newcommand{\LocSERjuliacode}{\Origin/user-code/servo/julia}
+\newcommand{\LocSERjuliabrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/servo/julia/#1}},
+see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%%%%%julia ends
+
+%%%%%%%%%%%%%%% OpenModelica starts
+\newcommand{\LocSEROpenModelicacode}{\Origin/user-code/servo/OpenModelica}
+\newcommand{\LocSEROpenModelicabrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/servo/OpenModelica/#1}},
+see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%%%%% OpenModelica ends
+
+A servomotor is a very useful industrial control mechanism. Learning
+to control it will be extremely useful for practitioners. In this
+chapter, we will explain how to control a servomotor using the
+\arduino\ board. We will begin with preliminaries of servomotors and
+explain how to connect a typical servomotor to the \arduino\ board and
+shield. We will then explain how to control it through Arduino IDE,
+Scilab and Xcos. We will give code for all the experiments.
+
+\section{Preliminaries}
+A servomotor is a rotary control mechanism. It can be commanded to
+rotate to a specified angle. It can rotate in positive or negative
+direction. Using servomotors, one can control
+angular position, velocity and acceleration. Servomotors are useful
+in many applications. Some examples are robotics, industrial motors
+and printers.
+
+Typical servomotors have a maximum range of $180^\circ$, although some
+have different ranges\footnote{All the angles in a servomotor are
+ absolute angles, with respect to a fixed reference point, which can
+ be taken as $0^\circ$.}
+Servomotors typically have a position sensor,
+using which, rotate to the commanded angle. The minimum angle to
+which a servomotor can be rotated is its least count, which varies
+from one model to another. Low cost servomotors have a large least
+count, say, of the order of $10^\circ$.
+
+A servomotor typically comes with three terminals for the
+following three signals: position signal (PWM), Vcc and ground.
+We now explain how to connect a typical servomotor to the \arduino\
+board, through \tabref{tab:servo-connect}.
+\begin{table}
+\centering
+\caption{Connecting a typical servomotor to \arduino\ board}
+\label{tab:servo-connect}
+\begin{tabular}{lc}\hline
+Servomotor terminal & Arduino board \\ \hline
+Position signal & 9 \\
+Ground (black/brown wire) & Ground \\
+Vcc (red or orange middle-wire) & 5V \\
+Signal (orange or yellow) & Pin 9 \\ \hline
+\end{tabular}
+\end{table}
+
+\section{Control through Arduino IDE}
+\label{sec:servo-ard}
+In this section, we will describe some experiments that will help
+rotate the servomotor based on the command given from Arduino IDE. We
+will also give the necessary code. We will present four experiments
+in this section. The shield has to be attached to the \arduino\ board
+before doing these experiments. The reader should go through the
+instructions given in \secref{sec:ard-start} before getting started.
+\begin{enumerate}
+%\setcounter{enumi}{-1}
+\item In the first experiment, we will move the servomotor by
+ $30^\circ$ using \ardref{ard:servo-init}. Line 1 of this code
+ includes a header file that initializes some of the parameters.
+ Line 2 creates a {\tt Servo} object and calls it {\tt myservo}.
+ Most Arduino boards allow the creation of 12 servo objects. Line 4
+ commands myservo to be attached to pin 9. Line 5 asks the
+ servomotor to rotate by $90^\circ$. Other commands are as in the
+ previous chapters.
+
+ Once this code is executed, the servomotor would move by
+ $30^\circ$, as commanded. What happens if this code is executed
+ once again? The motor will not move at all. What is the reason?
+ Recall that what we assign to the motor are absolute positions, with
+ respect to a fixed origin. As a result, there will be no change at
+ all.
+
+\item In the second experiment, we move the motor by $90^\circ$ in the
+ forward direction and $45^\circ$ in the reverse direction. This
+ code is given in \ardref{ard:servo-reverse}. In Line 6, we provide
+ a delay of one second. What is the reason? If the delay were not
+ there, the motor will move only by the net angle of $90-45 = 45$
+ degrees. The reader should verify this by commenting on the delay
+ command.
+
+\item In the third experiment, we move the motor in increments of
+ $20^\circ$. This is achieved by the for loop, as in
+ \ardref{ard:servo-loop}. Both {\tt i}, the loop variable and {\tt
+ angle}, the variable to store angle, are declared as {\tt int} in
+ this code. The code helps the motor move in steps of $20^\circ$ all
+ the way to $180^\circ$. Please see below a few exercise questions.
+
+\item Finally, in the last experiment, we read the potentiometer value
+ from the shield and use it to drive the servomotor, see
+ \ardref{ard:servo-pot}. The resistance of the potentiometer is
+ represented in 10 bits. As a result, the resistance value could be
+ any one of 1,024 values, from 0 to 1,023. This entire range is
+ mapped to $180^\circ$. By rotating the potentiometer, one can make
+ the motor move by different amounts.
+
+ The potentiometer is connected to pin number 2. Through this pin,
+ the resistance of the potentiometer, in the range of 0 to 1,023,
+ depending on its position, is read. Thus, by rotating the
+ potentiometer, we make different values appear on pin 2. This value
+ is used to move the servo. For example, if the resistance is half
+ of the total, the servomotor will go to $90^\circ$ and so on. The
+ servomotor stops for half a second after every move. The loop is
+ executed 5,000 times, with half a second delay for each iteration.
+ During this period, the servomotor keeps moving as dictated by the
+ resistance of the potentiometer.
+
+\end{enumerate}
+
+\begin{exercise}
+Let us carry out this exercise:
+\begin{enumerate}
+\item In \ardref{ard:servo-loop}, the loop parameter {\tt i} starts
+ from 1. From what angle will the motor start? If one wants the
+ motor to start from $0^\circ$, what should one do?
+\item How does one find the least count of the servomotor? If the
+ variable {\tt angle} is chosen to be less than this least count in
+ \ardref{ard:servo-loop}, what happens?
+\item What happens if 180 in Line 10 of \ardref{ard:servo-pot} is
+ changed to 90? What does the change 180 to 90 mean?
+\end{enumerate}
+\end{exercise}
+
+\section{Control through Scilab Scripts}
+\label{sec:servo-sci}
+In this section, we will carry out the servomotor control experiments
+using \scilab. We will follow the same order as in
+\secref{sec:servo-ard}. We assume that the shield is attached to the
+\arduino\ board while doing these experiments. They will work without
+the shield also, but in this case, our comments on colour LEDs
+lighting will not be applicable. The reader should go through the
+instructions given in \secref{sec:sci-start} before getting started.
+\begin{enumerate}
+\item The first experiment makes the servomotor move by $30^\circ$,
+ the code for which is given in \ardref{sci:servo-init}.
+ It first opens com port 2 in \arduino\ card number 1 with baud rate
+ of 115200. If the port opening is unsuccessful {\tt ok} will not be
+ 0 and the program terminates, asking the user to correct the
+ problem. Else If the port opening is successful, {\tt ok} will be 0
+ and the program proceeds. In Line number 3 of the code, \ie\
+ \lstinputlisting[firstline=3,lastline=3]{\LocSERscicode/servo-init.sce}
+ we say that the servomotor is attached on board 1 (the first entry)
+ to pin 1 (the second entry). In the \scilab\ toolbox, pin 1 and pin
+ 9 are connected and as a result, we connect the wire physically to
+ pin 9. Similarly, pins 2 and 10 are connected through the
+ \scilab\ toolbox.
+
+\item In \sciref{sci:servo-reverse}, we make the servomotor rotate
+ to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
+ earlier, the angles are absolute with respect to a fixed reference
+ point and not relative.
+
+\item In the next experiment, we rotate the servomotor in discrete
+ steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
+ an integer {\tt i}, which varies from 0 to 10. Once the maximum
+ angle reaches $180^\circ$, it stops.
+
+\item Finally, in the last experiment, we position the servomotor
+ through the potentiometer in the code \sciref{sci:servo-pot}. As we
+ rotate the potentiometer, the servomotor's angle also changes. The
+ potentiometer value is read through pin 2, in line number 5, as
+ below:
+ \lstinputlisting[firstline=5,lastline=5]{\LocSERscicode/servo-pot.sce}
+ This value is mapped into a value between 0 and $180^\circ$ by
+ multiplying with $180/1023$ in line 6:
+ \lstinputlisting[firstline=6,lastline=6]{\LocSERscicode/servo-pot.sce}
+ The {\tt floor} function gets the integer part of the number by
+ truncation. This is the angle by which the potentiometer is to be
+ moved. Truncation is a not a crucial calculation, however. In
+ every iteration, the servomotor's position is calculated, and placed
+ for half a second. This loop is iterated upon 5,000 times.
+\end{enumerate}
+
+\section{Control through Xcos code}
+\label{sec:servo-xcos}
+In this section, we will see how to rotate the servomotor from Scilab
+Xcos. We will carry out experiments similar to the ones in earlier
+sections. For each, we will give the location of the zcos file and
+the parameters to set. The reader should go through the instructions
+given in \secref{sec:xcos-start} before getting started.
+
+\begin{enumerate}
+\item First we will rotate the servomotor by $30^\circ$. When
+ the file required for this experiment is invoked, one gets the GUI
+ as in \figref{fig:servo-init}. In the caption of this figure, one can
+ see where to locate the file.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocSERfig/servo-init.png}
+ \caption[Rotating the servomotor by a fixed angle]{Rotating the
+ servomotor by a fixed angle. This is what one sees when
+ \LocLEDscibrief{servo-init.zcos}, is invoked.}
+ \label{fig:servo-init}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:servo-init}. All other parameters are to
+ be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Parameters to rotate the servomotor by $30^\circ$}
+ \label{tab:servo-init}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ SERVO\_WRITE\_SB & Servo number & 1 \\
+ & Arduino card number & 1 \\ \hline
+ CONST\_m & Constant value & 30 \\ \hline
+ \end{tabular}
+ \end{table}
+
+\item Next, we will rotate the servomotor by $90^\circ$ and bring it
+ to $45^\circ$, all absolute values. When the file required for this
+ experiment is invoked, one gets the GUI as in
+ \figref{fig:servo-reverse}. In the caption of this figure, one can
+ see where to locate the file.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocSERfig/servo-reverse.png}
+ \caption[Rotating the servomotor forward and then
+ reverse]{Rotating the servomotor forward and then reverse. This
+ is what one sees when \LocLEDscibrief{servo-reverse.zcos},
+ is invoked.}
+ \label{fig:servo-reverse}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:servo-reverse}. All other parameters
+ are to be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Parameters to rotate the servomotor forward and reverse}
+ \label{tab:servo-reverse}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ SERVO\_WRITE\_SB & Servo number & 1 \\
+ & Arduino card number & 1 \\ \hline
+ STEP\_FUNCTION & Step time & 1 \\
+ & Initial value & 90 \\
+ & Final value & 45 \\ \hline
+ \end{tabular}
+ \end{table}
+
+\item Next, we will rotate the servomotor in increments of
+ $20^\circ$. When the file required for this
+ experiment is invoked, one gets the GUI as in
+ \figref{fig:servo-loop}. In the caption of this figure, one can
+ see where to locate the file.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocSERfig/servo-loop.png}
+ \caption[Rotating the servomotor in increments of $20^\circ$]
+ {Rotating the servomotor in increments of $20^\circ$. This is what
+ one sees when \LocLEDscibrief{servo-loop.zcos}, is invoked.}
+ \label{fig:servo-loop}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:servo-loop}. {\tt Do on Overflow 0}
+ means that we need to do nothing when there is an overflow.
+ All other parameters
+ are to be left unchanged.
+ \begin{table}
+ \centering
+ \caption{Parameters to make the servomotor to sweep the entire
+ range in increments}
+ \label{tab:servo-loop}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 10 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ SERVO\_WRITE\_SB & Servo number & 1 \\ \hline
+ CLOCK\_c & Period & 1 \\
+ & Initialization time & 0.1 \\ \hline
+ Counter & Minimum value & 0 \\
+ & Maximum value & 10 \\
+ & Rule & 1 \\ \hline
+ GAINBLK & Gain & 20 \\
+ & Do on overflow & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+
+\item Finally, we will use Xcos to rotate the servomotor as per the
+ input received from the potentiometer. When the file required for
+ this experiment is invoked, one gets the GUI as in
+ \figref{fig:servo-pot}. In the caption of this figure, one can see
+ where to locate the file.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocSERfig/servo-pot.png}
+ \caption[Rotating the servomotor as suggested by the
+ potentiometer]{Rotating the servomotor as suggested by the
+ potentiometer. This is what
+ one sees when \LocLEDscibrief{servo-pot.zcos}, is invoked.}
+ \label{fig:servo-pot}
+ \end{figure}
+
+ We will next explain how to set the parameters for this simulation.
+ To set value on any block, one needs to right click and open the
+ {\tt Block Parameters} or double click. The values for each block
+ is tabulated in \tabref{tab:servo-pot}. All other parameters are to
+ be left unchanged. The {\tt ANALOG\_READ\_SB} block reads the value
+ of potentiometer and is converted into rotation angle (180/1023),
+ computed by {\tt GAIN\_f}.
+ \begin{table}
+ \centering
+ \caption{Parameters to rotate the servomotor based on the input
+ from the potentiometer}
+ \label{tab:servo-pot}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & The duration of acquisition(s) & 100 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ SERVO\_WRITE\_SB & Servo number & 1 \\ \hline
+ ANALOG\_READ\_SB & Analog Pin & 2 \\
+ & Arduino card number & 1 \\ \hline
+ GAIN\_f & Gain & 180/1023 \\ \hline
+ \end{tabular}
+ \end{table}
+
+
+
+\end{enumerate}
+
+%%%%%%%%%%%%%%%python description starts
+
+\section{Control through Python Scripts}
+\label{sec:servo-py}
+In this section, we will carry out the servomotor control experiments
+using python. We will follow the same order as in
+\secref{sec:servo-ard}. We assume that the shield is attached to the
+\arduino\ board while doing these experiments. They will work without
+the shield also, but in this case, our comments on colour LEDs
+lighting will not be applicable. The reader should go through the
+instructions given in \secref{sec:py-start} before getting started.
+\begin{enumerate}
+\item The first experiment makes the servomotor move by $30^\circ$,
+ the code for which is given in \ardref{py:servo-init}.
+ It first opens com port 2 in \arduino\ card number 1 with baud rate
+ of 115200. If the port opening is unsuccessful {\tt ok} will not be
+ 0 and the program terminates, asking the user to correct the
+ problem. Else If the port opening is successful, {\tt ok} will be 0
+ and the program proceeds. In Line number 3 of the code, \ie\
+ \lstinputlisting[firstline=3,lastline=3]{\LocSERpycode/servo-init.py}
+ we say that the servomotor is attached on board 1 (the first entry)
+ to pin 1 (the second entry). In the \scilab\ toolbox, pin 1 and pin
+ 9 are connected and as a result, we connect the wire physically to
+ pin 9. Similarly, pins 2 and 10 are connected through the
+ \scilab\ toolbox.
+
+\item In \sciref{py:servo-reverse}, we make the servomotor rotate
+ to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
+ earlier, the angles are absolute with respect to a fixed reference
+ point and not relative.
+
+\item In the next experiment, we rotate the servomotor in discrete
+ steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
+ an integer {\tt i}, which varies from 0 to 10. Once the maximum
+ angle reaches $180^\circ$, it stops.
+
+\item Finally, in the last experiment, we position the servomotor
+ through the potentiometer in the code \pyref{py:servo-pot}. As we
+ rotate the potentiometer, the servomotor's angle also changes. The
+ potentiometer value is read through pin 2, in line number 5, as
+ below:
+ \lstinputlisting[firstline=5,lastline=5]{\LocSERpycode/servo-pot.py}
+ This value is mapped into a value between 0 and $180^\circ$ by
+ multiplying with $180/1023$ in line 6:
+ \lstinputlisting[firstline=6,lastline=6]{\LocSERpycode/servo-pot.py}
+ The {\tt floor} function gets the integer part of the number by
+ truncation. This is the angle by which the potentiometer is to be
+ moved. Truncation is a not a crucial calculation, however. In
+ every iteration, the servomotor's position is calculated, and placed
+ for half a second. This loop is iterated upon 5,000 times.
+\end{enumerate}
+%%%%%%%%%%%%%%%python description ends
+
+%%%%%%%%Julia description starts
+\section{Control through Julia Scripts}
+\label{sec:servo-julia}
+In this section, we will carry out the servomotor control experiments
+using julia. We will follow the same order as in
+\secref{sec:servo-ard}.Initial cheking of the setup will be same as
+described in python.
+
+\begin{enumerate}
+\item The first experiment makes the servomotor move by $30^\circ$,
+ the code for which is given in \ardref{julia:servo-init}.
+ It first opens com port 2 in \arduino\ card number 1 with baud rate
+ of 115200. In Line number 3 of the code, \ie\
+ \lstinputlisting[firstline=5,lastline=5]{\LocSERjuliacode/servo-init.jl}
+ we say that the servomotor is attached to pin 1 of the board.
+ In the julia toolbox, pin 1 and pin
+ 9 are connected and as a result, we connect the wire physically to
+ pin 9. Similarly, pins 2 and 10 are connected through the
+ julia toolbox.
+
+\item In \sciref{julia:servo-reverse}, we make the servomotor rotate
+ to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
+ earlier, the angles are absolute with respect to a fixed reference
+ point and not relative.
+
+\item In the next experiment, we rotate the servomotor in discrete
+ steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
+ an integer {\tt i}, which varies from 0 to 10. Once the maximum
+ angle reaches $180^\circ$, it stops.
+
+\item Finally, in the last experiment, we position the servomotor
+ through the potentiometer in the code \juliaref{julia:servo-pot}. As we
+ rotate the potentiometer, the servomotor's angle also changes. The
+ potentiometer value is read through pin 2, in line number 7, as
+ below:
+ \lstinputlisting[firstline=7,lastline=7]{\LocSERjuliacode/servo-pot.jl}
+ This value is mapped into a value between 0 and $180^\circ$ by
+ multiplying with $180/1023$ in line 8:
+ \lstinputlisting[firstline=8,lastline=8]{\LocSERjuliacode/servo-pot.jl}
+ The {\tt floor} function gets the integer part of the number by
+ truncation. This is the angle by which the potentiometer is to be
+ moved. Truncation is a not a crucial calculation, however. In
+ every iteration, the servomotor's position is calculated, and placed
+ for half a second. This loop is iterated upon 500 times.
+\end{enumerate}
+
+%%%%%%%%%julia description ends
+
+%%%%%%%%%OpenModelica description ends
+
+\section{Control through OpenModelica Scripts}
+\label{sec:servo-OpenModelica}
+In this section, we will carry out the servomotor control experiments
+using OpenModelica. We will follow the same order as in
+\secref{sec:servo-ard}.Initial cheking of the setup will be same as
+described in python.
+
+\begin{enumerate}
+\item The first experiment makes the servomotor move by $30^\circ$,
+ the code for which is given in \OpenModelicaref{OpenModelica:servo-init}.
+ It first opens com port 0 in \arduino\ card number 1 with baud rate
+ of 115200. In Line number 09 of the code, \ie\
+ \lstinputlisting[firstline=9,lastline=9]{\LocSEROpenModelicacode/servo-init.mo}
+ we say that the servomotor is attached to pin 1 of the board.
+ As previously explained, pin 1 and pin 9 are also connected in OpenModelica
+ toolbox.
+
+\item In \OpenModelicaref{OpenModelica:servo-reverse}, we make the servomotor rotate
+ to $90^\circ$, wait for a second and go to $45^\circ$. As mentioned
+ earlier, the angles are absolute with respect to a fixed reference
+ point and not relative.
+
+\item In the next experiment, we rotate the servomotor in discrete
+ steps of $20^\circ$. This is achieved by multiplying $20^\circ$ by
+ an integer {\tt i}, which varies from 0 to 10. Once the maximum
+ angle reaches $180^\circ$, it stops.
+
+\item Finally, in the last experiment, we position the servomotor
+ through the potentiometer in the code \OpenModelicaref{OpenModelica:servo-pot}. As we
+ rotate the potentiometer, the servomotor's angle also changes. The
+ potentiometer value is read through pin 2, in line number 7, as
+ below:
+ \lstinputlisting[firstline=18,lastline=18]{\LocSEROpenModelicacode/servo_pot.mo}
+ This value is mapped into a value between 0 and $180^\circ$ by
+ multiplying with $180/1023$ in line 8:
+ \lstinputlisting[firstline=19,lastline=19]{\LocSEROpenModelicacode/servo_pot.mo}
+ The {\tt floor} function gets the integer part of the number by
+ truncation. This is the angle by which the potentiometer is to be
+ moved. Truncation is a not a crucial calculation, however. In
+ every iteration, the servomotor's position is calculated, and placed
+ for half a second. This loop is iterated upon 500 times.
+
+ \end{enumerate}
+%%%%%%%%%OpenModelica description ends
+
+
+
+\section{Arduino Code}
+\lstset{style=mystyle}
+\label{sec:servo-arduino-code}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+ \acaption{Rotating the servomotor to a specified degree} {Rotating
+ the servomotor to a specified degree. Available at
+ \LocSERardbrief{servo-init/servo-init.ino}.}
+ \label{ard:servo-init}
+ \lstinputlisting{\LocSERardcode/servo-init/servo-init.ino}
+\end{ardcode}
+
+\begin{ardcode}
+ \acaption{Rotating the servomotor to a specified degree and
+ reversing} {Rotating
+ the servomotor to a specified degree and reversing. Available at
+ \LocSERardbrief{servo-reverse/servo-reverse.ino}.}
+ \label{ard:servo-reverse}
+ \lstinputlisting{\LocSERardcode/servo-reverse/servo-reverse.ino}
+\end{ardcode}
+
+\begin{ardcode}
+ \acaption{Rotating the servomotor in increments} {Rotating the
+ servomotor in increments. Available at
+ \LocSERardbrief{servo-loop/servo-loop.ino}.}
+ \label{ard:servo-loop}
+ \lstinputlisting{\LocSERardcode/servo-loop/servo-loop.ino}
+\end{ardcode}
+
+\begin{ardcode}
+ \acaption{Rotating the servomotor through the potentiometer}
+ {Rotating the servomotor through the potentiometer. Available at
+ \LocSERardbrief{servo-pot/servo-pot.ino}.}
+ \label{ard:servo-pot}
+ \lstinputlisting{\LocSERardcode/servo-pot/servo-pot.ino}
+\end{ardcode}
+
+
+\section{Scilab Code}
+\lstset{style=mystyle}
+\label{sec:servo-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+ \ccaption{Rotating the servomotor to a specified degree} {Rotating
+ the servomotor to a specified degree. Available at
+ \LocSERscibrief{servo-init.sce}.}
+ \label{sci:servo-init}
+ \lstinputlisting{\LocSERscicode/servo-init.sce}
+\end{scicode}
+
+\begin{scicode}
+ \ccaption{Rotating the servomotor to a specified degree and
+ reversing} {Rotating
+ the servomotor to a specified degree and reversing. Available at
+ \LocSERscibrief{servo-reverse.sce}.}
+ \label{sci:servo-reverse}
+ \lstinputlisting{\LocSERscicode/servo-reverse.sce}
+\end{scicode}
+
+\begin{scicode}
+ \ccaption{Rotating the servomotor in steps of $20^\circ$}{Rotating
+ the servomotor in steps of $20^\circ$. Available at
+ \LocSERscibrief{servo-loop.sce}.}
+ \label{sci:servo-loop}
+ \lstinputlisting{\LocSERscicode/servo-loop.sce}
+\end{scicode}
+
+\begin{scicode}
+ \ccaption{Rotating the servomotor to a degree specified by the
+ potentiometer} {Rotating the servomotor to a degree specified by
+ the potentiometer. Available at \LocSERscibrief{servo-pot.sce}.}
+ \label{sci:servo-pot}
+ \lstinputlisting{\LocSERscicode/servo-pot.sce}
+\end{scicode}
+
+
+
+
+%%%%%%%%%%%%%python code starts
+\section{Python Code}
+\lstset{style=mystyle}
+\label{sec:servo-python-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{pycode}
+ \pcaption{Rotating the servomotor to a specified degree} {Rotating
+ the servomotor to a specified degree. Available at
+ \LocSERpybrief{servo-init.py}.}
+ \label{py:servo-init}
+ \lstinputlisting{\LocSERpycode/servo-init.py}
+\end{pycode}
+
+\begin{pycode}
+ \pcaption{Rotating the servomotor to a specified degree and
+ reversing} {Rotating
+ the servomotor to a specified degree and reversing. Available at
+ \LocSERpybrief{servo-reverse.py}.}
+ \label{py:servo-reverse}
+ \lstinputlisting{\LocSERpycode/servo-reverse.py}
+\end{pycode}
+
+\begin{pycode}
+ \pcaption{Rotating the servomotor in steps of $20^\circ$}{Rotating
+ the servomotor in steps of $20^\circ$. Available at
+ \LocSERpybrief{servo-loop.py}.}
+ \label{sci:servo-loop}
+ \lstinputlisting{\LocSERpycode/servo-loop.py}
+\end{pycode}
+
+\begin{pycode}
+ \pcaption{Rotating the servomotor to a degree specified by the
+ potentiometer} {Rotating the servomotor to a degree specified by
+ the potentiometer. Available at \LocSERpybrief{servo-pot.py}.}
+ \label{py:servo-pot}
+ \lstinputlisting{\LocSERpycode/servo-pot.py}
+\end{pycode}
+
+%%%%%%%%%%%%%python code ends
+
+%%%%%%%%%%%%%julia code starts
+\section{Julia Code}
+\lstset{style=mystyle}
+\label{sec:servo-julia-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{juliacode}
+ \ccaption{Rotating the servomotor to a specified degree} {Rotating
+ the servomotor to a specified degree. Available at
+ \LocSERjuliabrief{servo-init.jl}.}
+ \label{julia:servo-init}
+ \lstinputlisting{\LocSERjuliacode/servo-init.jl}
+\end{juliacode}
+
+\begin{juliacode}
+ \ccaption{Rotating the servomotor to a specified degree and
+ reversing} {Rotating
+ the servomotor to a specified degree and reversing. Available at
+ \LocSERjuliabrief{servo-reverse.jl}.}
+ \label{julia:servo-reverse}
+ \lstinputlisting{\LocSERjuliacode/servo-reverse.jl}
+\end{juliacode}
+
+\begin{juliacode}
+ \ccaption{Rotating the servomotor in steps of $20^\circ$}{Rotating
+ the servomotor in steps of $20^\circ$. Available at
+ \LocSERjuliabrief{servo-loop.jl}.}
+ \label{julia:servo-loop}
+ \lstinputlisting{\LocSERjuliacode/servo-loop.jl}
+\end{juliacode}
+
+\begin{juliacode}
+ \ccaption{Rotating the servomotor to a degree specified by the
+ potentiometer} {Rotating the servomotor to a degree specified by
+ the potentiometer. Available at \LocSERjuliabrief{servo-pot.jl}.}
+ \label{julia:servo-pot}
+ \lstinputlisting{\LocSERjuliacode/servo-pot.jl}
+\end{juliacode}
+
+%%%%%%%%%%%%%julia code ends
+
+
+%%%%%%%%%%%%% OpenModelica code starts
+\section{OpenModelica Code}
+\lstset{style=mystyle}
+\label{sec:servo-OpenModelica-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{OpenModelicacode}
+ \ccaption{Rotating the servomotor to a specified degree} {Rotating
+ the servomotor to a specified degree. Available at
+ \LocSEROpenModelicabrief{servo-init.mo}.}
+ \label{OpenModelica:servo-init}
+ \lstinputlisting{\LocSEROpenModelicacode/servo-init.mo}
+\end{OpenModelicacode}
+
+\begin{OpenModelicacode}
+ \ccaption{Rotating the servomotor to a specified degree and
+ reversing} {Rotating
+ the servomotor to a specified degree and reversing. Available at
+ \LocSEROpenModelicabrief{servo-reverse.mo}.}
+ \label{OpenModelica:servo-reverse}
+ \lstinputlisting{\LocSEROpenModelicacode/servo-reverse.mo}
+\end{OpenModelicacode}
+
+\begin{OpenModelicacode}
+ \ccaption{Rotating the servomotor in steps of $20^\circ$}{Rotating
+ the servomotor in steps of $20^\circ$. Available at
+ \LocSERjuliabrief{servo-loop.mo}.}
+ \label{OpenModelica:servo-loop}
+ \lstinputlisting{\LocSEROpenModelicacode/servo-loop.mo}
+\end{OpenModelicacode}
+
+\begin{OpenModelicacode}
+ \ccaption{Rotating the servomotor to a degree specified by the
+ potentiometer} {Rotating the servomotor to a degree specified by
+ the potentiometer. Available at \LocSEROpenModelicabrief{servo\_pot.mo}.}
+ \label{OpenModelica:servo-pot}
+ \lstinputlisting{\LocSEROpenModelicacode/servo_pot.mo}
+\end{OpenModelicacode}
+
+%%%%%%%%%%%%%OpenModelica code ends
diff --git a/scilab-arduino/user-code/sw-env/.#env.tex b/scilab-arduino/user-code/sw-env/.#env.tex
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/.#env.tex
diff --git a/scilab-arduino/user-code/sw-env/auto/env.el b/scilab-arduino/user-code/sw-env/auto/env.el
new file mode 100644
index 0000000..e1b3982
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/auto/env.el
@@ -0,0 +1,34 @@
+(TeX-add-style-hook "env"
+ (lambda ()
+ (LaTeX-add-labels
+ "sec:env"
+ "scilab-installation"
+ "linux-cd"
+ "scilab-cd"
+ "scilab-browse"
+ "builder"
+ "loader"
+ "dev-mgr"
+ "com"
+ "linux-port"
+ "test-code"
+ "test-console"
+ "func"
+ "palette"
+ "untitled"
+ "sine-blk"
+ "plot-blk"
+ "clk-blk"
+ "sine-gen"
+ "sine-output"
+ "cscope-config"
+ "sim-setup"
+ "arduino-palette"
+ "blk-help")
+ (TeX-add-symbols
+ "LocENVfig"
+ "LocENVscicode"
+ "LocENVscibrief"
+ "LocENVardcode"
+ "LocENVardbrief")))
+
diff --git a/scilab-arduino/user-code/sw-env/auto/hardware.el b/scilab-arduino/user-code/sw-env/auto/hardware.el
new file mode 100644
index 0000000..1cb608b
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/auto/hardware.el
@@ -0,0 +1,17 @@
+(TeX-add-style-hook "hardware"
+ (lambda ()
+ (LaTeX-add-labels
+ "micro-arch"
+ "resolution"
+ "fig:OSHW-logo"
+ "micro-table"
+ "shield-table"
+ "shield"
+ "arduino-ide"
+ "arduino"
+ "device-manager"
+ "update"
+ "executable"
+ "run"
+ "ide")))
+
diff --git a/scilab-arduino/user-code/sw-env/auto/sw-env.el b/scilab-arduino/user-code/sw-env/auto/sw-env.el
new file mode 100644
index 0000000..ea9bc61
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/auto/sw-env.el
@@ -0,0 +1,52 @@
+(TeX-add-style-hook "sw-env"
+ (lambda ()
+ (LaTeX-add-labels
+ "sec:sw-env"
+ "arduino-ide"
+ "sec:ard-start"
+ "win-device-manager"
+ "win-dri-update"
+ "ard-lin-run"
+ "sec:Arduino-IDE"
+ "ard-ide"
+ "sec:testing-arduino"
+ "sec:sci-start"
+ "scilab-installation"
+ "linux-cd"
+ "scilab-cd"
+ "scilab-browse"
+ "builder"
+ "loader"
+ "dev-mgr"
+ "fn:port"
+ "com"
+ "linux-port"
+ "sec:testing-scilab-arduino"
+ "test-console"
+ "fn:firmware"
+ "func"
+ "sec:xcos-start"
+ "sine-blk"
+ "plot-blk"
+ "clk-blk"
+ "sine-gen"
+ "sine-output"
+ "cscope-config"
+ "sim-setup"
+ "arduino-palette"
+ "blk-help"
+ "sec:hw-arduino"
+ "ard:firmware"
+ "sec:test-firmware-scilab"
+ "sci:test-firmware")
+ (TeX-add-symbols
+ '("LocSWfirmbrief" 1)
+ '("LocSWchkbrief" 1)
+ '("LocSWardbrief" 1)
+ '("LocSWscibrief" 1)
+ "LocSWfig"
+ "LocSWscicode"
+ "LocSWardcode"
+ "LocSWchkcode"
+ "LocSWfirmcode")))
+
diff --git a/scilab-arduino/user-code/sw-env/figures/arduino-palette.png b/scilab-arduino/user-code/sw-env/figures/arduino-palette.png
new file mode 100644
index 0000000..46c833d
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/arduino-palette.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/atom-lunch.png b/scilab-arduino/user-code/sw-env/figures/atom-lunch.png
new file mode 100644
index 0000000..5c49515
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/atom-lunch.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/browse-directory.png b/scilab-arduino/user-code/sw-env/figures/browse-directory.png
new file mode 100644
index 0000000..b764cb9
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/browse-directory.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/builder.png b/scilab-arduino/user-code/sw-env/figures/builder.png
new file mode 100644
index 0000000..a5995e1
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/builder.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/change-directory.png b/scilab-arduino/user-code/sw-env/figures/change-directory.png
new file mode 100644
index 0000000..d581c17
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/change-directory.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/clock-blk.png b/scilab-arduino/user-code/sw-env/figures/clock-blk.png
new file mode 100644
index 0000000..f1f2c87
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/clock-blk.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/com-properties.png b/scilab-arduino/user-code/sw-env/figures/com-properties.png
new file mode 100644
index 0000000..ebd18bb
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/com-properties.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/com-set.png b/scilab-arduino/user-code/sw-env/figures/com-set.png
new file mode 100644
index 0000000..fc6d43f
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/com-set.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/cscope-config.png b/scilab-arduino/user-code/sw-env/figures/cscope-config.png
new file mode 100644
index 0000000..ad4ffcf
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/cscope-config.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/device-manager.png b/scilab-arduino/user-code/sw-env/figures/device-manager.png
new file mode 100644
index 0000000..b10d1cf
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/device-manager.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/julia-terminal.png b/scilab-arduino/user-code/sw-env/figures/julia-terminal.png
new file mode 100644
index 0000000..6da664e
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/julia-terminal.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/linux-cd.png b/scilab-arduino/user-code/sw-env/figures/linux-cd.png
new file mode 100644
index 0000000..12c1530
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/linux-cd.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/linux-port.png b/scilab-arduino/user-code/sw-env/figures/linux-port.png
new file mode 100644
index 0000000..853f7f0
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/linux-port.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/loader.png b/scilab-arduino/user-code/sw-env/figures/loader.png
new file mode 100644
index 0000000..f5afd05
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/loader.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/old-figures/arduino-palette.png b/scilab-arduino/user-code/sw-env/figures/old-figures/arduino-palette.png
new file mode 100644
index 0000000..6316994
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/old-figures/arduino-palette.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/old-figures/clock-blk.png b/scilab-arduino/user-code/sw-env/figures/old-figures/clock-blk.png
new file mode 100644
index 0000000..6c5827b
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/old-figures/clock-blk.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/old-figures/plot-blk.png b/scilab-arduino/user-code/sw-env/figures/old-figures/plot-blk.png
new file mode 100644
index 0000000..158462c
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/old-figures/plot-blk.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/old-figures/sine-gen.png b/scilab-arduino/user-code/sw-env/figures/old-figures/sine-gen.png
new file mode 100644
index 0000000..ed59a86
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/old-figures/sine-gen.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/old-figures/sine-output.png b/scilab-arduino/user-code/sw-env/figures/old-figures/sine-output.png
new file mode 100644
index 0000000..6933f37
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/old-figures/sine-output.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/palette-browser.png b/scilab-arduino/user-code/sw-env/figures/palette-browser.png
new file mode 100644
index 0000000..d713e10
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/palette-browser.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/plot-blk.png b/scilab-arduino/user-code/sw-env/figures/plot-blk.png
new file mode 100644
index 0000000..51f29ee
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/plot-blk.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/sim-setup.png b/scilab-arduino/user-code/sw-env/figures/sim-setup.png
new file mode 100644
index 0000000..9e1f28a
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/sim-setup.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/sine-blk.png b/scilab-arduino/user-code/sw-env/figures/sine-blk.png
new file mode 100644
index 0000000..acdc7fe
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/sine-blk.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/sine-gen.png b/scilab-arduino/user-code/sw-env/figures/sine-gen.png
new file mode 100644
index 0000000..b70d6fe
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/sine-gen.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/sine-output.png b/scilab-arduino/user-code/sw-env/figures/sine-output.png
new file mode 100644
index 0000000..9657e08
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/sine-output.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/table_functions.png b/scilab-arduino/user-code/sw-env/figures/table_functions.png
new file mode 100644
index 0000000..66cbfb5
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/table_functions.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/table_functions_crop.pdf b/scilab-arduino/user-code/sw-env/figures/table_functions_crop.pdf
new file mode 100644
index 0000000..aa89379
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/table_functions_crop.pdf
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/table_functions_crop.tiff b/scilab-arduino/user-code/sw-env/figures/table_functions_crop.tiff
new file mode 100644
index 0000000..2246c90
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/table_functions_crop.tiff
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/test-code.png b/scilab-arduino/user-code/sw-env/figures/test-code.png
new file mode 100644
index 0000000..a989279
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/test-code.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/test-console.png b/scilab-arduino/user-code/sw-env/figures/test-console.png
new file mode 100644
index 0000000..53269d2
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/test-console.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/untitled-xcos.png b/scilab-arduino/user-code/sw-env/figures/untitled-xcos.png
new file mode 100644
index 0000000..760352b
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/untitled-xcos.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/figures/xcos-help.png b/scilab-arduino/user-code/sw-env/figures/xcos-help.png
new file mode 100644
index 0000000..a322c2e
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/figures/xcos-help.png
Binary files differ
diff --git a/scilab-arduino/user-code/sw-env/sw-env.log b/scilab-arduino/user-code/sw-env/sw-env.log
new file mode 100644
index 0000000..61973db
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/sw-env.log
@@ -0,0 +1,26886 @@
+This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010) (format=pdflatex 2011.1.23) 18 NOV 2015 20:34
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**\input sw-env.tex
+(./sw-env.tex
+! Undefined control sequence.
+l.1 \chapter
+ {Software Environment}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.1 \chapter{S
+ oftware Environment}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 1--4
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.21 I
+ n this chapter, we shall briefly walk through the software
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.23 \arduino
+ \ board based experiments. We shall start with the \arduino\
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.23 ...eriments. We shall start with the \arduino
+ \
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 21--28
+[]
+ []
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.29 \item To run \arduino
+ \ stand alone, without waiting for any commands
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+! Undefined control sequence.
+l.32 ...ds sent by other software, such as \scilab
+ ,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+! Undefined control sequence.
+l.37 ...toolbox that can communicate with \arduino
+ \
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.40 \section
+ {Arduino IDE}\label{arduino-ide}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no : in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 40--48
+[]
+ []
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 49--49
+[]
+ []
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.50 \item To begin, we need an \arduino
+ \ board with a USB cable (A plug to
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.51 B plug) as shown in the \figref
+ {arduino}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.55 \subsection
+ {Downloading and installing on Windows}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no : in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 55--59
+[]
+ []
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 60--60
+[]
+ []
+
+Missing character: There is no V in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no , in font nullfont!
+! Undefined control sequence.
+l.62 \item Visit the URL, \\{\tt
+ http://www.arduino.cc/en/Main/Software} \\
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (22.25542pt too wide) in paragraph at lines 62--67
+\OT1/cmr/m/it/10 Win-
+ []
+
+
+Overfull \hbox (20.95544pt too wide) in paragraph at lines 62--67
+\OT1/cmr/m/it/10 dows
+ []
+
+
+Overfull \hbox (16.77211pt too wide) in paragraph at lines 62--67
+\OT1/cmr/m/it/10 ZIP
+ []
+
+
+Overfull \hbox (12.7777pt too wide) in paragraph at lines 62--67
+\OT1/cmr/m/it/10 file
+ []
+
+
+Overfull \hbox (12.39436pt too wide) in paragraph at lines 62--67
+\OT1/cmr/m/it/10 for
+ []
+
+
+Overfull \hbox (16.35547pt too wide) in paragraph at lines 62--67
+\OT1/cmr/m/it/10 non
+ []
+
+
+Overfull \hbox (13.79991pt too wide) in paragraph at lines 62--67
+\OT1/cmr/m/it/10 ad-
+ []
+
+
+Overfull \hbox (16.86658pt too wide) in paragraph at lines 62--67
+\OT1/cmr/m/it/10 min
+ []
+
+
+Overfull \hbox (12.26659pt too wide) in paragraph at lines 62--67
+\OT1/cmr/m/it/10 in-
+ []
+
+
+Overfull \hbox (18.14433pt too wide) in paragraph at lines 62--67
+\OT1/cmr/m/it/10 stall
+ []
+
+Missing character: There is no E in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no Z in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.75 is shown in \figref
+ {win-device-manager}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.77 ...iver Software'' option as shown in \figref
+ {win-dri-update}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.86 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.88 \includegraphics
+ [width=\linewidth]{\LocHWfig/hw-device-manager.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Missing number, treated as zero.
+<to be read again>
+ ]
+l.88 \includegraphics[width=\linewidth]
+ {\LocHWfig/hw-device-manager.jpg}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Illegal unit of measure (pt inserted).
+<to be read again>
+ ]
+l.88 \includegraphics[width=\linewidth]
+ {\LocHWfig/hw-device-manager.jpg}
+Dimensions can be in units of em, ex, in, pt, pc,
+cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
+I'll assume that you meant to say pt, for printer's points.
+To recover gracefully from this error, it's best to
+delete the erroneous units; e.g., type `2' to delete
+two letters. (See Chapter 27 of The TeXbook.)
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+l.88 ...ncludegraphics[width=\linewidth]{\LocHWfig
+ /hw-device-manager.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.89 \caption
+ {Windows device manager}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.91 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.93 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.95 \includegraphics
+ [width=\linewidth]{\LocHWfig/update-driver.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Missing number, treated as zero.
+<to be read again>
+ ]
+l.95 \includegraphics[width=\linewidth]
+ {\LocHWfig/update-driver.png}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Illegal unit of measure (pt inserted).
+<to be read again>
+ ]
+l.95 \includegraphics[width=\linewidth]
+ {\LocHWfig/update-driver.png}
+Dimensions can be in units of em, ex, in, pt, pc,
+cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
+I'll assume that you meant to say pt, for printer's points.
+To recover gracefully from this error, it's best to
+delete the erroneous units; e.g., type `2' to delete
+two letters. (See Chapter 27 of The TeXbook.)
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+l.95 ...ncludegraphics[width=\linewidth]{\LocHWfig
+ /update-driver.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.96 \caption
+ {Windows update driver option}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.98 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.101 \subsection
+ {Downloading and installing on GNU/Linux Ubuntu}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no : in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 101--108
+[]
+ []
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 109--109
+[]
+ []
+
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+! Undefined control sequence.
+l.112 ...Open the terminal emulator and type, {\tt
+ uname -m}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no 8 in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+! Undefined control sequence.
+l.117 from \\ {\tt
+ http://arduino.cc/en/Main/Software}. As mentioned
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.123 {\large
+ \textasciitilde}/Downloads directory, perform the following
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+LaTeX Font Info: Try loading font information for +cmr on input line 123.
+LaTeX Font Info: No file cmr.fd. on input line 123.
+
+LaTeX Font Warning: Font shape `/cmr/m/n' undefined
+(Font) using `/cmr/m/n' instead on input line 123.
+
+! Corrupted NFSS tables.
+wrong@fontshape ...message {Corrupted NFSS tables}
+ error@fontshape else let f...
+l.123 {\large \textasciitilde
+ }/Downloads directory, perform the following
+This error message was generated by an \errmessage
+command, so I can't give any explicit help.
+Pretend that you're Hercule Poirot: Examine all clues,
+and deduce the truth by order and method.
+
+
+LaTeX Font Warning: Font shape `/cmr/m/n' undefined
+(Font) using `OT1/cmr/m/n' instead on input line 123.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no : in font nullfont!
+
+! LaTeX Error: Environment quote undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.125 \begin{quote}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.126 {\tt
+ cd {\large\textasciitilde}/Downloads\\
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+l.126 {\tt cd {\large
+ \textasciitilde}/Downloads\\
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 109 ended by \end{quote}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.129 \end{quote}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (5.00002pt too wide) in paragraph at lines 121--130
+\/cmr/m/n/10 ~
+ []
+
+
+Overfull \hbox (5.00002pt too wide) in paragraph at lines 121--130
+\/cmr/m/n/10 ~
+ []
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no J in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+! Undefined control sequence.
+l.133 {\tt
+ sudo apt-get -y install openjdk-7-jre}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 7 in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.137 {\tt
+ ls -l /dev/ttyACM*}\\
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no * in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+! Undefined control sequence.
+l.139 is {\tt
+ ttyACM0}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no : in font nullfont!
+! Undefined control sequence.
+l.142 {\tt
+ sudo chmod a+rw /dev/ttyACM0}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no + in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no : in font nullfont!
+! Undefined control sequence.
+l.145 {\tt
+ cd {\large \textasciitilde}/Desktop\\
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+l.145 {\tt cd {\large
+ \textasciitilde}/Desktop\\
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+
+Overfull \hbox (5.00002pt too wide) in paragraph at lines 144--147
+\/cmr/m/n/10 ~
+ []
+
+Missing character: There is no G in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no : in font nullfont!
+! Undefined control sequence.
+l.148 command on the terminal: {\tt
+ chmod +x arduino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no + in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.163 ...o IDE. The dialog box is shown in \figref
+ {ard-lin-run} for reference.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.164 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.166 \includegraphics
+ [scale=0.5]{\LocHWfig/run.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+l.166 \includegraphics[scale=0.5]{\LocHWfig
+ /run.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.167 \caption
+ {Confirmation for executing Arduino script}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.169 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.172 \subsection
+ {Arduino Development Environment}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.174 ...elopment environment, as shown in \figref
+ {ard-ide},
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 172--180
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.181 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.183 \includegraphics
+ [width=\linewidth]{\LocHWfig/arduino-ide.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Missing number, treated as zero.
+<to be read again>
+ ]
+l.183 \includegraphics[width=\linewidth]
+ {\LocHWfig/arduino-ide.jpg}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Illegal unit of measure (pt inserted).
+<to be read again>
+ ]
+l.183 \includegraphics[width=\linewidth]
+ {\LocHWfig/arduino-ide.jpg}
+Dimensions can be in units of em, ex, in, pt, pc,
+cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
+I'll assume that you meant to say pt, for printer's points.
+To recover gracefully from this error, it's best to
+delete the erroneous units; e.g., type `2' to delete
+two letters. (See Chapter 27 of The TeXbook.)
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+l.183 ...cludegraphics[width=\linewidth]{\LocHWfig
+ /arduino-ide.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.184 \caption
+ {Arduino IDE}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.186 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 191--191
+[]
+ []
+
+Missing character: There is no V in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+! Undefined control sequence.
+l.200 ...n in the top right hand corner of \figref
+ {ard-ide}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+! Undefined control sequence.
+l.213 ... library to your sketch by inserting {\tt
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no # in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.238 \subsection
+ {Testing Arduino with a sample program}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 238--242
+[]
+ []
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 269--277
+[]
+ []
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no Q in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 278--283
+[]
+ []
+
+! Undefined control sequence.
+l.330 \section
+ {Scilab}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{scilab-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.333 engineering applications \cite{scilab-ref}
+ . It is released under GPL
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `scilab-ref' on page undefined on input line 333.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+! Undefined control sequence.
+l.340 capabilities and also a Matlab to \scilab
+ \ conversion tool. Scilab can
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no + in font nullfont!
+Missing character: There is no + in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no J in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{scilab-interop}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.342 ...on, Java and TCL/TK \cite{scilab-interop}
+ . It has a
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `scilab-interop' on page undefined on input line 342.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 330--344
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 330--344
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 330--344
+[]
+ []
+
+! Undefined control sequence.
+l.345 \subsection
+ {Downloading and installing \scilab}\label{scilab-installat...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+! Undefined control sequence.
+l.345 ...ection{Downloading and installing \scilab
+ }\label{scilab-installation}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+! Undefined control sequence.
+l.346 ... can be downloaded free of cost from {\tt
+ www.scilab.org}. It is
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no w in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 345--350
+[]
+ []
+
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+l.354 \scilab
+ \ requires internet connectivity during installation on
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.357 ...art menu or by double clicking on \scilab
+ \ icon
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 351--359
+[]
+ []
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.361 ...lt, downloading directly from the \scilab
+ \ website, {\tt
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+! Undefined control sequence.
+l.361 ... directly from the \scilab\ website, {\tt
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+! Undefined control sequence.
+l.367 \scilab
+ , open a terminal by pressing the Alt+Ctrl+T keys
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no + in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no + in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.368 together. Change the directory where \scilab
+ \ is extracted. Browse
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.369 till the {\tt
+ /bin} directory. Type the command {\tt ls} to see a few
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+l.369 ...tt /bin} directory. Type the command {\tt
+ ls} to see a few
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+! Undefined control sequence.
+l.370 \scilab
+ \ files. Then execute the command {\tt sudo ./scilab}. Note
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+l.370 ...ab\ files. Then execute the command {\tt
+ sudo ./scilab}. Note
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+l.371 that \scilab
+ \ needs to be launched with root permissions to be able to
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+! Undefined control sequence.
+l.372 communicate with \arduino
+ . This process is illustrated in
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.373 \figref
+ {linux-cd}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.374 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.376 \includegraphics
+ [scale=0.5]{\LocSWfig/linux-cd.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.376 \includegraphics[scale=0.5]{\LocSWfig
+ /linux-cd.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.377 \caption
+ {Linux terminal to launch Scilab}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.379 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 360--380
+[]
+ []
+
+! Undefined control sequence.
+l.381 \subsection
+ {Scilab Arduino toolbox}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+! Undefined control sequence.
+l.383 ...d-on functionalities are added to \scilab
+ \ using
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no J in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+! Undefined control sequence.
+l.385 \scilab
+ \ for Windows and Linux, we have different toolboxes types for
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.386 Windows and Linux. The \scilab
+ \ Arduino toolbox can be found inside
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.387 the {\tt
+ Origin/tools/windows} or {\tt Origin/tools/linux} directory,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+! Undefined control sequence.
+l.387 the {\tt Origin/tools/windows} or {\tt
+ Origin/tools/linux} directory,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.388 see \fnrefp
+ {fn:file-loc}. Use the one depending upon
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.389 ...erating system you are using. The \scilab
+ \ codes for various
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.390 ...throughout this book can be found in {\tt
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.391 Origin/user-code} directory. The {\tt
+ user-code} directory will have
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 381--393
+[]
+ []
+
+Missing character: There is no L in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 394--395
+[]
+ []
+
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+! Undefined control sequence.
+l.396 \item First launch \scilab
+ . On a Windows system, one may start/launch
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+! Undefined control sequence.
+l.397 \scilab
+ \ either through the Start menu or by double clicking on the
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+l.399 start \scilab
+ \ through a terminal with root permissions, as
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+<write> ...`scilab-installation' on page \thepage
+ \space undefined\on@line .
+l.400 ...ined in section \ref{scilab-installation}
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Reference `scilab-installation' on page undefined on input line
+ 400.
+
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (10.86105pt too wide) in paragraph at lines 396--401
+[]
+ []
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+! Undefined control sequence.
+l.401 \item After launching \scilab
+ , first we have to change the working
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no , in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.402 directory. To do so, click on the {\tt
+ File} menu and then click on
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.403 the {\tt
+ Change current directory} option as shown in
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.404 \figref
+ {scilab-cd}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.405 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.407 \includegraphics
+ [width=\linewidth]{\LocSWfig/change-directory.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Missing number, treated as zero.
+<to be read again>
+ ]
+l.407 \includegraphics[width=\linewidth]
+ {\LocSWfig/change-directory.png}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Illegal unit of measure (pt inserted).
+<to be read again>
+ ]
+l.407 \includegraphics[width=\linewidth]
+ {\LocSWfig/change-directory.png}
+Dimensions can be in units of em, ex, in, pt, pc,
+cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
+I'll assume that you meant to say pt, for printer's points.
+To recover gracefully from this error, it's best to
+delete the erroneous units; e.g., type `2' to delete
+two letters. (See Chapter 27 of The TeXbook.)
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.407 ...cludegraphics[width=\linewidth]{\LocSWfig
+ /change-directory.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.408 \caption
+ {Changing scilab directory}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 395 ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.410 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+! Undefined control sequence.
+l.412 {\tt
+ Origin/tools/windows} or {\tt Origin/tools/linux}, as the case
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+! Undefined control sequence.
+l.412 {\tt Origin/tools/windows} or {\tt
+ Origin/tools/linux}, as the case
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+! Undefined control sequence.
+l.413 may be, and click on, {\tt
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.414 open}, as shown in \figref
+ {scilab-browse}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.415 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.417 \includegraphics
+ [width=\hgfig]{\LocSWfig/browse-directory.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.417 \includegraphics[width=\hgfig
+ ]{\LocSWfig/browse-directory.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.417 \includegraphics[width=\hgfig]{\LocSWfig
+ /browse-directory.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.418 \caption
+ {Browsing toolbox directory}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 395 ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.420 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.421 \item After the previous step, the \scilab
+ \ working directory becomes
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.422 the toolbox folder. See the {\tt
+ file browser} panel on the
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.423 left hand side of the \scilab
+ \ console, see \figref{builder}. It
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.423 ...side of the \scilab\ console, see \figref
+ {builder}. It
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.425 check, look for the file {\tt
+ builder.sce}. If you see this file,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.427 ...type the following command on the \scilab
+ \ console: {\tt
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no : in font nullfont!
+! Undefined control sequence.
+l.427 ...ing command on the \scilab\ console: {\tt
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.429 {\tt
+ loader.sce}. This step has to be executed only the first
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.430 ...ut of this step is illustrated in \figref
+ {builder}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.431 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.433 \includegraphics
+ [width=\linewidth]{\LocSWfig/builder.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Missing number, treated as zero.
+<to be read again>
+ ]
+l.433 \includegraphics[width=\linewidth]
+ {\LocSWfig/builder.png}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Illegal unit of measure (pt inserted).
+<to be read again>
+ ]
+l.433 \includegraphics[width=\linewidth]
+ {\LocSWfig/builder.png}
+Dimensions can be in units of em, ex, in, pt, pc,
+cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
+I'll assume that you meant to say pt, for printer's points.
+To recover gracefully from this error, it's best to
+delete the erroneous units; e.g., type `2' to delete
+two letters. (See Chapter 27 of The TeXbook.)
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.433 ...cludegraphics[width=\linewidth]{\LocSWfig
+ /builder.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.434 \caption
+ {Output of builder.sce}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 395 ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.436 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no N in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+! Undefined control sequence.
+l.438 {\tt
+ exec loader.sce} -
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.442 ...ut of this command is as shown in \figref
+ {loader}. If you clear
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <7> on input line 444.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line 444.
+! Undefined control sequence.
+\@footnotetext ...tins {\reset@font \footnotesize
+ \interlinepenalty \interfo...
+l.446 ...ve to execute the loader.sce file again.}
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\@footnotetext ...}\color@begingroup \@makefntext
+ {\rule \z@ \footnotesep \i...
+l.446 ...ve to execute the loader.sce file again.}
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+<argument> Be careful not to execute the {\tt
+ clear} command. This will clea...
+l.446 ...ve to execute the loader.sce file again.}
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+Overfull \hbox (11.5278pt too wide) in paragraph at lines 446--446
+[][]\/cmr/m/n/10 Be
+ []
+
+
+Overfull \hbox (21.1389pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 care-
+ []
+
+
+Overfull \hbox (11.38893pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 ful
+ []
+
+
+Overfull \hbox (14.44449pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 not
+ []
+
+
+Overfull \hbox (8.88892pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 to
+ []
+
+
+Overfull \hbox (13.05557pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 ex-
+ []
+
+
+Overfull \hbox (7.77777pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 e-
+ []
+
+
+Overfull \hbox (18.33336pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 cute
+ []
+
+
+Overfull \hbox (13.88892pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 the
+ []
+
+
+Overfull \hbox (20.58336pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 clear
+ []
+
+
+Overfull \hbox (21.11115pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 com-
+ []
+
+
+Overfull \hbox (27.2223pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 mand.
+ []
+
+
+Overfull \hbox (19.50003pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 This
+ []
+
+
+Overfull \hbox (15.55559pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 will
+ []
+
+
+Overfull \hbox (20.58336pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 clear
+ []
+
+
+Overfull \hbox (13.88892pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 the
+ []
+
+
+Overfull \hbox (28.3334pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 loaded
+ []
+
+
+Overfull \hbox (20.27783pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 tool-
+ []
+
+
+Overfull \hbox (15.83339pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 box
+ []
+
+
+Overfull \hbox (16.11116pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 and
+ []
+
+
+Overfull \hbox (15.5556pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 you
+ []
+
+
+Overfull \hbox (15.55559pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 will
+ []
+
+
+Overfull \hbox (19.72226pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 have
+ []
+
+
+Overfull \hbox (8.88892pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 to
+ []
+
+
+Overfull \hbox (13.05557pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 ex-
+ []
+
+
+Overfull \hbox (7.77777pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 e-
+ []
+
+
+Overfull \hbox (18.33336pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 cute
+ []
+
+
+Overfull \hbox (13.88892pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 the
+ []
+
+
+Overfull \hbox (42.30562pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 loader.sce
+ []
+
+
+Overfull \hbox (12.7778pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 file
+ []
+
+
+Overfull \hbox (26.11119pt too wide) in paragraph at lines 446--446
+\/cmr/m/n/10 again.|
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.447 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.449 \includegraphics
+ [scale=0.5]{\LocSWfig/loader.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.449 \includegraphics[scale=0.5]{\LocSWfig
+ /loader.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.450 \caption
+ {Output of loader.sce}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 395 ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.452 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (4.48613pt too wide) in paragraph at lines 437--453
+[]
+ []
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.456 \subsection
+ {Identifying Arduino communication port number}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 456--457
+[]
+ []
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+l.458 Connect \arduino
+ \ board to your computer. On a Windows system, doing
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.461 number to the \arduino
+ \ board. If Arduino IDE is installed using the
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.462 procedure outlined in \secref
+ {arduino-ide}, required USB drivers for
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 458--467
+[]
+ []
+
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+! Undefined control sequence.
+l.473 ...will show you the COM number for \arduino
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 468--474
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.475 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.477 \includegraphics
+ [width=\linewidth]{\LocSWfig/device-manager.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Missing number, treated as zero.
+<to be read again>
+ ]
+l.477 \includegraphics[width=\linewidth]
+ {\LocSWfig/device-manager.png}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Illegal unit of measure (pt inserted).
+<to be read again>
+ ]
+l.477 \includegraphics[width=\linewidth]
+ {\LocSWfig/device-manager.png}
+Dimensions can be in units of em, ex, in, pt, pc,
+cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
+I'll assume that you meant to say pt, for printer's points.
+To recover gracefully from this error, it's best to
+delete the erroneous units; e.g., type `2' to delete
+two letters. (See Chapter 27 of The TeXbook.)
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.477 \includegraphics[width=\linewidth]{\LocSWfig
+ /device-manager.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.478 \caption
+ {Device Manager in windows}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.480 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.482 ...of the above exercise is shown in \figref
+ {dev-mgr}. In
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no 2 in font nullfont!
+! Undefined control sequence.
+\@footnotetext ...tins {\reset@font \footnotesize
+ \interlinepenalty \interfo...
+l.491 the book.}
+ . To change the port number, double click on the port
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\@footnotetext ...}\color@begingroup \@makefntext
+ {\rule \z@ \footnotesep \i...
+l.491 the book.}
+ . To change the port number, double click on the port
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+Overfull \hbox (7.50002pt too wide) in paragraph at lines 491--491
+[][][]\/cmr/m/n/10 It
+ []
+
+
+Overfull \hbox (6.72223pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 is
+ []
+
+
+Overfull \hbox (18.11115pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 pos-
+ []
+
+
+Overfull \hbox (10.05556pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 si-
+ []
+
+
+Overfull \hbox (12.7778pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 ble
+ []
+
+
+Overfull \hbox (8.88892pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 to
+ []
+
+
+Overfull \hbox (21.38892pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 leave
+ []
+
+
+Overfull \hbox (6.66669pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 it
+ []
+
+
+Overfull \hbox (8.88892pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 at
+ []
+
+
+Overfull \hbox (25.00005pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 what-
+ []
+
+
+Overfull \hbox (17.80557pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 ever
+ []
+
+
+Overfull \hbox (18.63895pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 port
+ []
+
+
+Overfull \hbox (22.50005pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 num-
+ []
+
+
+Overfull \hbox (14.19447pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 ber
+ []
+
+
+Overfull \hbox (15.00003pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 one
+ []
+
+
+Overfull \hbox (20.05559pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 gets.
+ []
+
+
+Overfull \hbox (7.50002pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 It
+ []
+
+
+Overfull \hbox (6.72223pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 is
+ []
+
+
+Overfull \hbox (16.72226pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 also
+ []
+
+
+Overfull \hbox (18.11115pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 pos-
+ []
+
+
+Overfull \hbox (10.05556pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 si-
+ []
+
+
+Overfull \hbox (12.7778pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 ble
+ []
+
+
+Overfull \hbox (8.88892pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 to
+ []
+
+
+Overfull \hbox (28.38893pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 choose
+ []
+
+
+Overfull \hbox (15.5556pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 any
+ []
+
+
+Overfull \hbox (22.50005pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 num-
+ []
+
+
+Overfull \hbox (14.19447pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 ber
+ []
+
+
+Overfull \hbox (13.61113pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 be-
+ []
+
+
+Overfull \hbox (25.00002pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 tween
+ []
+
+
+Overfull \hbox (5.00002pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 2
+ []
+
+
+Overfull \hbox (16.11116pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 and
+ []
+
+
+Overfull \hbox (12.77782pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 99.
+ []
+
+
+Overfull \hbox (9.16669pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 In
+ []
+
+
+Overfull \hbox (16.1667pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 this
+ []
+
+
+Overfull \hbox (20.61113pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 case,
+ []
+
+
+Overfull \hbox (13.88892pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 the
+ []
+
+
+Overfull \hbox (18.63895pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 port
+ []
+
+
+Overfull \hbox (22.50005pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 num-
+ []
+
+
+Overfull \hbox (14.19447pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 ber
+ []
+
+
+Overfull \hbox (28.38896pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 should
+ []
+
+
+Overfull \hbox (10.2778pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 be
+ []
+
+
+Overfull \hbox (35.27785pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 changed
+ []
+
+
+Overfull \hbox (12.77779pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 ac-
+ []
+
+
+Overfull \hbox (22.25003pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 cord-
+ []
+
+
+Overfull \hbox (21.38896pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 ingly
+ []
+
+
+Overfull \hbox (8.33336pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 in
+ []
+
+
+Overfull \hbox (13.88892pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 the
+ []
+
+
+Overfull \hbox (22.50005pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 code.
+ []
+
+
+Overfull \hbox (13.8889pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 We
+ []
+
+
+Overfull \hbox (15.55559pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 will
+ []
+
+
+Overfull \hbox (22.77785pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 point
+ []
+
+
+Overfull \hbox (16.1667pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 this
+ []
+
+
+Overfull \hbox (14.44449pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 out
+ []
+
+
+Overfull \hbox (37.80565pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 through-
+ []
+
+
+Overfull \hbox (14.44449pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 out
+ []
+
+
+Overfull \hbox (13.88892pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 the
+ []
+
+
+Overfull \hbox (24.16676pt too wide) in paragraph at lines 491--491
+\/cmr/m/n/10 book.|
+ []
+
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.494 \figref
+ {com}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 482--495
+[]
+ []
+
+
+Overfull \hbox (4.48613pt too wide) in paragraph at lines 482--495
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.496 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.498 \includegraphics
+ [scale=0.5]{\LocSWfig/com-properties.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.498 \includegraphics[scale=0.5]{\LocSWfig
+ /com-properties.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.499 \caption
+ {COM port properties window}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.501 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 503--510
+[]
+ []
+
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no + in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no + in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+! Undefined control sequence.
+l.513 ...e following command and press enter, {\tt
+ ls -l
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no * in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.515 ...utput of this command is shown in \figref
+ {linux-port}. It has
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 511--519
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.520 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.522 \includegraphics
+ [scale=0.5]{\LocSWfig/linux-port.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.522 \includegraphics[scale=0.5]{\LocSWfig
+ /linux-port.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.523 \caption
+ {Port number on Linux terminal}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.525 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.527 \subsection
+ {Testing Scilab-Arduino toolbox}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 527--530
+[]
+ []
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.531 ...tall Arduino IDE, as explained in \secref
+ {sec:ard-start}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.532 ...nto the Arduino IDE, the firmware \ardref
+ {ard:firmware}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.533 \bluecolor
+ {Is this the same as what is explained in
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.534 \secref
+ {sec:testing-arduino}? If so, why is it not referred here?}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no ? in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ? in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.535 \item Using the {\tt
+ Upload} option of the Arduino IDE, load this
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no U in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.537 \item Inside the {\tt
+ Origin/tools} directory, locate a file {\tt
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.537 ...igin/tools} directory, locate a file {\tt
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.545 \item In the \scilab
+ \ console, type {\tt editor} and press the enter
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.545 \item In the \scilab\ console, type {\tt
+ editor} and press the enter
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+! Undefined control sequence.
+l.547 ``Open". Browse to the directory {\tt
+ Origin/tools} and choose the
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.548 file {\tt
+ test\_firmware.sce}. It will open
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.549 \sciref
+ {sci:test-firmware}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.562 ``h=open\_serial(1,0,115200)". \bluecolor
+ {Show the original code of
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.564 ... code, on the menu bar, click on the {\tt
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no E in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.565 Execute}, option. Then choose {\tt
+ File with no echo}. The output
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.566 ...appear on the console as shown in \figref
+ {test-console}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.567 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.569 \includegraphics
+ [scale=0.5]{\LocSWfig/test-console.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.569 \includegraphics[scale=0.5]{\LocSWfig
+ /test-console.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.570 \caption
+ {Scilab test code output}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 530 ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.572 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.581 \bluecolor
+ {We have not said what we should do, in case this program
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ! in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.587 \figref
+ {func}. They are basically categorized into four categories:
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 585--591
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.592 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.594 \includegraphics
+ [width=\linewidth]{\LocSWfig/table_functions_crop.pdf}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Missing number, treated as zero.
+<to be read again>
+ ]
+l.594 \includegraphics[width=\linewidth]
+ {\LocSWfig/table_functions_crop.pdf}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Illegal unit of measure (pt inserted).
+<to be read again>
+ ]
+l.594 \includegraphics[width=\linewidth]
+ {\LocSWfig/table_functions_crop.pdf}
+Dimensions can be in units of em, ex, in, pt, pc,
+cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
+I'll assume that you meant to say pt, for printer's points.
+To recover gracefully from this error, it's best to
+delete the erroneous units; e.g., type `2' to delete
+two letters. (See Chapter 27 of The TeXbook.)
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.594 \includegraphics[width=\linewidth]{\LocSWfig
+ /table_functions_crop.pdf}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+! Missing $ inserted.
+<inserted text>
+ $
+l.594 ...aphics[width=\linewidth]{\LocSWfig/table_
+ functions_crop.pdf}
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+! Extra }, or forgotten $.
+l.594 ...idth]{\LocSWfig/table_functions_crop.pdf}
+
+I've deleted a group-closing symbol because it seems to be
+spurious, as in `$x}$'. But perhaps the } is legitimate and
+you forgot something else, as in `\hbox{$x}'. In such cases
+the way to recover is to insert both the forgotten and the
+deleted material, e.g., by typing `I$}'.
+
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.595 \caption
+ {Arduino toolbox functions used in this book}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.597 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Missing $ inserted.
+<inserted text>
+ $
+l.597 \end{figure}
+
+I've inserted something that you may have forgotten.
+(See the <inserted text> above.)
+With luck, this will get me unwedged. But if you
+really didn't forget anything, try typing `2' now; then
+my insertion and my current dilemma will both disappear.
+
+! Missing } inserted.
+<inserted text>
+ }
+l.597 \end{figure}
+
+I've inserted something that you may have forgotten.
+(See the <inserted text> above.)
+With luck, this will get me unwedged. But if you
+really didn't forget anything, try typing `2' now; then
+my insertion and my current dilemma will both disappear.
+
+
+Overfull \hbox (260.09985pt too wide) in paragraph at lines 594--598
+[]$[]\OML/cmm/m/it/10 unctions[]rop:pdf[][]$
+ []
+
+! Undefined control sequence.
+l.601 \section
+ {Xcos}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+! Undefined control sequence.
+l.603 Xcos is a graphical editor for \scilab
+ \ \cite{xcos-ref}. Most of the
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+\citation{xcos-ref}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.603 ...hical editor for \scilab\ \cite{xcos-ref}
+ . Most of the
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `xcos-ref' on page undefined on input line 603.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+! Undefined control sequence.
+l.604 ...ipulations that can be done using \scilab
+ \ scripts,
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+! Undefined control sequence.
+l.607 supports {\tt
+ if else}, {\tt for} and {\tt while} looping which form
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+! Undefined control sequence.
+l.607 supports {\tt if else}, {\tt
+ for} and {\tt while} looping which form
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+l.607 supports {\tt if else}, {\tt for} and {\tt
+ while} looping which form
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+! Undefined control sequence.
+l.610 read from and write to \scilab
+ \ workspace through Xcos. Along with
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.611 ...lso has numerical indicators. \bluecolor
+ {what is this?}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ? in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 601--612
+[]
+ []
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 601--612
+[]
+ []
+
+! Undefined control sequence.
+l.613 \subsection
+ {Downloading, installing and testing}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+! Undefined control sequence.
+l.614 Xcos comes pre-installed with \scilab
+ . Hence a separate installation
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no . in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+! Undefined control sequence.
+l.616 ...provides a graphical interface to \scilab
+ .
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 613--617
+[]
+ []
+
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+! Undefined control sequence.
+l.618 Xcos can be launched from \scilab
+ \ by clicking on the Xcos icon
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.619 available on the \scilab
+ \ menu bar. It can also be launched by simply
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+l.620 typing the command {\tt
+ xcos} in the \scilab\ console. When Xcos is
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.620 typing the command {\tt xcos} in the \scilab
+ \ console. When Xcos is
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.622 \figref
+ {sine-blk}, where we have selected a sine block. At the time
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 618--625
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.626 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.628 \includegraphics
+ [width=\hgfig]{\LocSWfig/sine-blk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.628 \includegraphics[width=\hgfig
+ ]{\LocSWfig/sine-blk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.628 \includegraphics[width=\hgfig]{\LocSWfig
+ /sine-blk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.629 \caption
+ {Sine generator in palette browser}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.631 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+! Undefined control sequence.
+l.651 category {\tt
+ Sources}. Similarly, blocks which take signals/values
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+! Undefined control sequence.
+l.652 ...giving any output are categorized as {\tt
+ Sinks}. This makes
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 648--655
+[]
+ []
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 656--661
+[]
+ []
+
+! Undefined control sequence.
+l.662 \subsection
+ {Use case}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no U in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.664 ... wave source. It can be found in the {\tt
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.665 Sources} category as shown in \figref
+ {sine-blk}. Drag and drop this
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 662--667
+[]
+ []
+
+Missing character: There is no N in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.669 found in the {\tt
+ Sinks} category as shown in \figref{plot-blk}. The
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.669 ... {\tt Sinks} category as shown in \figref
+ {plot-blk}. The
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 668--677
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.678 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.680 \includegraphics
+ [width=\hgfig]{\LocSWfig/plot-blk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.680 \includegraphics[width=\hgfig
+ ]{\LocSWfig/plot-blk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.680 \includegraphics[width=\hgfig]{\LocSWfig
+ /plot-blk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.681 \caption
+ {CSCOPE block in xcos}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.683 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.688 found in the {\tt
+ Sources} category. This is illustrated in figure
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+<write> ...: Reference `clk-blk' on page \thepage
+ \space undefined\on@line .
+l.689 \ref{clk-blk}
+ . The name of this block is CLOCK\_c. Drag and drop this
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Reference `clk-blk' on page undefined on input line 689.
+
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 685--691
+[]
+ []
+
+
+Overfull \hbox (10.86105pt too wide) in paragraph at lines 685--691
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.692 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.694 \includegraphics
+ [width=\hgfig]{\LocSWfig/clock-blk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.694 \includegraphics[width=\hgfig
+ ]{\LocSWfig/clock-blk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.694 \includegraphics[width=\hgfig]{\LocSWfig
+ /clock-blk.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.695 \caption
+ {CLOCK\_c block in xcos}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.697 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.710 shown in the \figref
+ {sine-gen}. Save this file with name {\tt
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.710 ...sine-gen}. Save this file with name {\tt
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 699--712
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.713 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.715 \includegraphics
+ [width=\smfig]{\LocSWfig/sine-gen.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.715 \includegraphics[width=\smfig
+ ]{\LocSWfig/sine-gen.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.715 \includegraphics[width=\smfig]{\LocSWfig
+ /sine-gen.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.716 \caption
+ {Sine generator in Xcos}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.718 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no L in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.720 ... code. On the menu bar, click on the {\tt
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.721 Simulation} menu and choose {\tt
+ Start}. You will get a graphic
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.722 ...h a running sine wave as shown in \figref
+ {sine-output}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 720--723
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.724 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.726 \includegraphics
+ [width=\lgfig]{\LocSWfig/sine-output.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.726 \includegraphics[width=\lgfig
+ ]{\LocSWfig/sine-output.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.726 \includegraphics[width=\lgfig]{\LocSWfig
+ /sine-output.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.727 \caption
+ {Sine generator Xcos output}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.729 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.732 ...would like a stationary plot. \bluecolor
+ {Do we
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ? in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+<write> ...rence `cscope-config' on page \thepage
+ \space undefined\on@line .
+l.735 \ref{cscope-config}
+ . Note the value of the {\tt Refresh period}. It is
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Reference `cscope-config' on page undefined on input line 735.
+
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.735 ...scope-config}. Note the value of the {\tt
+ Refresh period}. It is
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 731--737
+[]
+ []
+
+
+Overfull \hbox (10.86105pt too wide) in paragraph at lines 731--737
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.738 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.740 \includegraphics
+ [width=\lgfig]{\LocSWfig/cscope-config.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.740 \includegraphics[width=\lgfig
+ ]{\LocSWfig/cscope-config.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.740 \includegraphics[width=\lgfig]{\LocSWfig
+ /cscope-config.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.741 \caption
+ {CSCOPE configuration window}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.743 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no N in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.745 Next, on the menu bar, click on the {\tt
+ simulation} menu and choose
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.746 {\tt
+ Setup}. The {\tt Set parameter} window will open. The first
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.746 {\tt Setup}. The {\tt
+ Set parameter} window will open. The first
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+! Undefined control sequence.
+l.747 parameter is {\tt
+ Final integration time}. It decides for how long the
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.748 ...ll run. Change it to be equal to the {\tt
+ Refresh period}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.750 \figref
+ {sim-setup}. Now start the simulation and you will get a static
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 745--754
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.755 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.757 \includegraphics
+ [width=\lgfig]{\LocSWfig/sim-setup.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.757 \includegraphics[width=\lgfig
+ ]{\LocSWfig/sim-setup.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.757 \includegraphics[width=\lgfig]{\LocSWfig
+ /sim-setup.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.758 \caption
+ {Simulation setup window}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.760 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.765 ...ing of the block as a function in \scilab
+ \ script and then call it
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.767 {\bluecolor
+ {what is this?~}} Xcos code can be used as a subsystem.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ? in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 762--773
+[]
+ []
+
+! Undefined control sequence.
+l.774 \subsection
+ {Xcos-Arduino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.775 The \scilab
+ \ Arduino toolbox not only provides functions to be used in
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.776 \scilab
+ \ scripts but also provides with new Arduino-specific blocks. As
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.777 shown in \figref
+ {arduino-palette} new arduino blocks are now available
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no ` in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no " in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.785 in \figref
+ {blk-help}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 774--786
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.787 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.789 \includegraphics
+ [width=\linewidth]{\LocSWfig/arduino-palette.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Missing number, treated as zero.
+<to be read again>
+ ]
+l.789 \includegraphics[width=\linewidth]
+ {\LocSWfig/arduino-palette.png}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Illegal unit of measure (pt inserted).
+<to be read again>
+ ]
+l.789 \includegraphics[width=\linewidth]
+ {\LocSWfig/arduino-palette.png}
+Dimensions can be in units of em, ex, in, pt, pc,
+cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
+I'll assume that you meant to say pt, for printer's points.
+To recover gracefully from this error, it's best to
+delete the erroneous units; e.g., type `2' to delete
+two letters. (See Chapter 27 of The TeXbook.)
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.789 \includegraphics[width=\linewidth]{\LocSWfig
+ /arduino-palette.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.790 \caption
+ {Palette browser showing Arduino blocks}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.792 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.794 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.796 \includegraphics
+ [width=\linewidth]{\LocSWfig/xcos-help.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Missing number, treated as zero.
+<to be read again>
+ ]
+l.796 \includegraphics[width=\linewidth]
+ {\LocSWfig/xcos-help.png}
+A number should have been here; I inserted `0'.
+(If you can't figure out why I needed to see a number,
+look up `weird error' in the index to The TeXbook.)
+
+! Illegal unit of measure (pt inserted).
+<to be read again>
+ ]
+l.796 \includegraphics[width=\linewidth]
+ {\LocSWfig/xcos-help.png}
+Dimensions can be in units of em, ex, in, pt, pc,
+cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
+I'll assume that you meant to say pt, for printer's points.
+To recover gracefully from this error, it's best to
+delete the erroneous units; e.g., type `2' to delete
+two letters. (See Chapter 27 of The TeXbook.)
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfig ->\Origin
+ /user-code/sw-env/figures
+l.796 \includegraphics[width=\linewidth]{\LocSWfig
+ /xcos-help.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.797 \caption
+ {Xcos block help}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.799 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.801 \section
+ {Arduino Code}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.802 \lstset
+ {style=mystyle}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+<argument> ... {ard}{\protect \addvspace {\codclr
+ }}
+l.804 ...ontents{ard}{\protect\addvspace{\codclr}}
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 801--805
+[]
+ []
+
+
+! LaTeX Error: Environment ardcode undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.806 \begin{ardcode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.807 \acaption
+ {First 10 lines of the Arduino firmware}{First 10 lines of
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+\LocSWfirmbrief #1->{\tt
+ \seqsplit { Origin/tools/arduino-firmware/#1}}, see...
+l.809 \LocSWfirmbrief{arduino-firmware.ino}
+ .}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\LocSWfirmbrief #1->{\tt \seqsplit
+ { Origin/tools/arduino-firmware/#1}}, see...
+l.809 \LocSWfirmbrief{arduino-firmware.ino}
+ .}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+\LocSWfirmbrief ...ino-firmware/#1}}, see \fnrefp
+ {fn:file-loc}
+l.809 \LocSWfirmbrief{arduino-firmware.ino}
+ .}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.811 \lstinputlisting
+ [firstline=1,lastline=10]
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocSWfirmcode ->\Origin
+ /tools/arduino-firmware
+l.812 {\LocSWfirmcode
+ /arduino-firmware.ino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{ardcode}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.813 \end{ardcode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 807--814
+[]
+ []
+
+! Undefined control sequence.
+l.815 \section
+ {Scilab Code}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.816 \lstset
+ {style=mystyle}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+<argument> ... {cod}{\protect \addvspace {\codclr
+ }}
+l.818 ...ontents{cod}{\protect\addvspace{\codclr}}
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 815--819
+[]
+ []
+
+
+! LaTeX Error: Environment scicode undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.820 \begin{scicode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.821 \ccaption
+ {A code to check whether the firmware is properly installed
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+\LocSWchkbrief #1->{\tt
+ \seqsplit { Origin/tools/#1}}, see \fnrefp {fn:file-...
+l.824 \LocSWchkbrief{test\_firmware.sce}
+ .}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\LocSWchkbrief #1->{\tt \seqsplit
+ { Origin/tools/#1}}, see \fnrefp {fn:file-...
+l.824 \LocSWchkbrief{test\_firmware.sce}
+ .}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+\LocSWchkbrief ... Origin/tools/#1}}, see \fnrefp
+ {fn:file-loc}
+l.824 \LocSWchkbrief{test\_firmware.sce}
+ .}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.826 \lstinputlisting
+ {\LocSWchkcode/test_firmware.sce}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\LocSWchkcode ->\Origin
+ /tools
+l.826 \lstinputlisting{\LocSWchkcode
+ /test_firmware.sce}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+! Missing $ inserted.
+<inserted text>
+ $
+l.826 \lstinputlisting{\LocSWchkcode/test_
+ firmware.sce}
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+! Extra }, or forgotten $.
+l.826 ...tlisting{\LocSWchkcode/test_firmware.sce}
+
+I've deleted a group-closing symbol because it seems to be
+spurious, as in `$x}$'. But perhaps the } is legitimate and
+you forgot something else, as in `\hbox{$x}'. In such cases
+the way to recover is to insert both the forgotten and the
+deleted material, e.g., by typing `I$}'.
+
+
+! LaTeX Error: \begin{document} ended by \end{scicode}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.827 \end{scicode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Missing $ inserted.
+<inserted text>
+ $
+l.827 \end{scicode}
+
+I've inserted something that you may have forgotten.
+(See the <inserted text> above.)
+With luck, this will get me unwedged. But if you
+really didn't forget anything, try typing `2' now; then
+my insertion and my current dilemma will both disappear.
+
+! Missing } inserted.
+<inserted text>
+ }
+l.827 \end{scicode}
+
+I've inserted something that you may have forgotten.
+(See the <inserted text> above.)
+With luck, this will get me unwedged. But if you
+really didn't forget anything, try typing `2' now; then
+my insertion and my current dilemma will both disappear.
+
+)
+! Emergency stop.
+<*> \input sw-env.tex
+
+*** (job aborted, no legal \end found)
+
+
+Here is how much of TeX's memory you used:
+ 54 strings out of 493747
+ 585 string characters out of 3143546
+ 72070 words of memory out of 3000000
+ 3443 multiletter control sequences out of 15000+200000
+ 4294 words of font info for 16 fonts, out of 3000000 for 9000
+ 714 hyphenation exceptions out of 8191
+ 24i,5n,21p,205b,151s stack positions out of 5000i,500n,10000p,200000b,50000s
+! ==> Fatal error occurred, no output PDF file produced!
diff --git a/scilab-arduino/user-code/sw-env/sw-env.tex b/scilab-arduino/user-code/sw-env/sw-env.tex
new file mode 100644
index 0000000..a9f3151
--- /dev/null
+++ b/scilab-arduino/user-code/sw-env/sw-env.tex
@@ -0,0 +1,1406 @@
+\chapter{Communcation between Software and Arduino}
+\thispagestyle{empty}
+\label{sec:sw-env}
+
+\newcommand{\LocSWfig}{\Origin/user-code/sw-env/figures}
+\newcommand{\LocSWscicode}{\Origin/user-code/sw-env/scilab}
+\newcommand{\LocSWscibrief}[1]{{\texttt
+ Origin/user-code/sw-env/scilab/#1}, see \fnrefp{fn:file-loc}}
+\newcommand{\LocSWardcode}{\Origin/user-code/sw-env/arduino}
+\newcommand{\LocSWardbrief}[1]{{\tt \seqsplit{
+ Origin/user-code/sw-env/arduino/#1}}, see \fnrefp{fn:file-loc}}
+
+\newcommand{\LocSWchkcode}{\Origin/tools}
+\newcommand{\LocSWchkbrief}[1]{{\tt \seqsplit{
+ Origin/tools/#1}}, see \fnrefp{fn:file-loc}}
+\newcommand{\LocSWfirmcode}{\Origin/tools/arduino-firmware}
+\newcommand{\LocSWfirmbrief}[1]{{\tt \seqsplit{
+ Origin/tools/arduino-firmware/#1}}, see \fnrefp{fn:file-loc}}
+
+\newcommand{\LocFIMpycode}{\Origin/user-code/led/python} %added for python
+\newcommand{\LocFIMpybrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/led/python/#1}}, see \fnrefp{fn:file-loc}} % added for python
+
+
+\newcommand{\LocFIMjuliacode}{\Origin/user-code/led/julia} %added for julia
+\newcommand{\LocFIMjuliabrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/led/julia/#1}}, see \fnrefp{fn:file-loc}} % added for julia
+
+%%%%%%OpenModelica Starts
+\newcommand{\LocFIMOpenModelicacode}{\Origin/user-code/led/OpenModelica} %added for OpenModelica
+\newcommand{\LocFIMOpenModelicabrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/led/OpenModelica/#1}}, see \fnrefp{fn:file-loc}} % added for OpenModelica
+
+%%%%%OpenModelica Ends
+
+
+In this chapter, we shall briefly walk through the software
+environment that needs to be set up before we could start with the
+\arduino\ board based experiments. We shall start with the \arduino\
+compatible Integrated Development Environment (IDE), termed as Arduino
+IDE, that would be used to load the firmware on to the
+microcontroller. The firmware to be loaded could be developed to serve
+different purposes as per the requirement. For example,
+\begin{itemize}
+ \item To run \arduino\ stand alone, without waiting for any commands
+ from other software or hardware, for the specified time or until
+ power off
+ \item To decode the commands sent by other software, such as \scilab,
+ through serial port, and execute the given instructions
+ %\item Combination of the above two
+\end{itemize}
+Next, we shall discuss Scilab and Xcos, which are open source software
+tools, and a related toolbox that can communicate with \arduino\
+over a serial port using RS232 protocol.
+
+\section{Arduino IDE}\label{arduino-ide}
+\label{sec:ard-start}
+Arduino development environment is compatible with popular desktop
+operating systems. In this section, we will learn to set up this tool
+for the computers running Microsoft Windows or Linux. Later, we shall
+explore the important menu options in the Arduino IDE and run a sample
+program. Following two steps have to be followed whatever operating
+system is used:
+
+\begin{enumerate}
+ \item To begin, we need an \arduino\ board with a USB cable (A plug to
+ B plug) as shown in the \figref{arduino}.
+ \item Connect it to a computer and power it up.
+\end{enumerate}
+
+\subsection{Downloading and installing on Windows}
+First carry out the steps numbered 1 and 2 given above.
+Starting from download, we shall go through the steps to set up
+Arduino IDE on Windows OS:
+
+\begin{enumerate}
+ \setcounter{enumi}2
+ \item Visit the URL, \\{\tt https://www.arduino.cc/en/software} \\
+ locate on the right side of the page the link \emph{Windows ZIP file} and click it.
+ This may redirect you to download/donate page. Read the instructions and proceed with the
+ download.
+ \item Extract the downloaded ZIP file to Desktop. Do not alter any
+ file or directory structure.
+ \item Click on the Windows Start Menu, and open up the ``Control
+ Panel''.
+ \item While in the Control Panel, navigate to ``System and Security'',
+ click on ``System'' and then choose the ``Device Manager''.
+ \item Look for ``Other devices'' in the ``Device Manager'' list,
+ expand and locate ``Unknown device''. This may be similar to what
+ is shown in \figref{win-device-manager}.
+ \item Right click on the ``Unknown device'' and select the ``Update
+ Driver Software'' option as shown in \figref{win-dri-update}.
+ \item Next, choose the ``Browse my computer for Driver software''
+ option.
+ \item Navigate to newly extracted Arduino folder on the Desktop and
+ select ``drivers'' folder.
+ \item Windows will now finish the driver installation. The Arduino IDE
+ is ready for use.
+\end{enumerate}
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\linewidth]{\LocHWfig/hw-device-manager.jpg}
+ \caption{Windows device manager}
+ \label{win-device-manager}
+\end{figure}
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\linewidth]{\LocHWfig/update-driver.png}
+ \caption{Windows update driver option}
+ \label{win-dri-update}
+\end{figure}
+
+
+\subsection{Downloading and installing on GNU/Linux Ubuntu}
+We will now explain the installation of Arduino software on the
+GNU/Linux operating system. We shall perform the installation on the 64
+bit Ubuntu 14.04 LTS (Trusty Tahr) operating system. These
+instructions will work for other GNU distributions too, with little or
+no modification. First carry out the steps numbered 1 and 2 given
+above. Then carry out the following:
+
+\begin{enumerate}
+ \setcounter{enumi}2
+ \item Find out your operating system support for 64 bit
+ instructions. Open the terminal emulator and type, {\tt uname -m}
+ \item If it returns ``x86\_64'', then your computer has 64 bit
+ operating system. There is no visible performance difference in 32
+ and 64 bit Arduino versions.
+ \item Download the suitable Arduino Software version (32 or 64 bits)
+ from \\ {\tt https://www.arduino.cc/en/software}. As mentioned
+ earlier, we
+ will perform experiments with a 64 bit installation.
+
+ \item At the time of writing this book, we worked with version 1.05.
+ Assuming that you have downloaded tar file in~
+ {\large \textasciitilde}/Downloads directory, perform the following
+ steps on the terminal:
+ \begin{quote}
+ {\tt cd {\large\textasciitilde}/Downloads\\
+ tar -zxvf arduino-1.0.5-linux64.tgz\\
+ sudo mv arduino-1.0.5 /opt}
+ \end{quote}
+
+ \item In the same terminal session, install the required Java Runtime
+ Environment with a command like,
+ {\tt sudo apt-get -y install openjdk-7-jre}
+
+ \item Execute the
+ following command on the terminal to list the serial port number.\\
+ {\tt ls /dev/ttyACM*}\\
+ Note down the serial device filename. Suppose that it
+ is {\tt ttyACM0}.
+ \item To make USB port available to all users, set the read write
+ permission to the listed port:
+ {\tt sudo chmod a+rw /dev/ttyACM0}
+
+ \item Create a shortcut on the desktop:\\
+ {\tt cd {\large \textasciitilde}/Desktop\\
+ ln -s /opt/arduino-1.0.5/arduino}
+ \item Give executable permission to this file through the following
+ command on the terminal: {\tt chmod +x arduino}
+ % Ubuntu opens executable text files with an editor instead of
+ % executing them. To be able execute a file, open the ``Files''
+ % program from the launcher, go to menu ``Edit'', ``Preferences'', tab
+ % ``Behavior'' and set ``Executable Text Files'' to ``Ask each time'',
+ % as shown in \figref{ard-lin-executable}.
+
+\end{enumerate}
+% \begin{figure}
+% \centering
+% \includegraphics[scale=0.5]{\LocHWfig/executable.png}
+% \caption{Executable permission to Arduino IDE}
+% \label{ard-lin-executable}
+% \end{figure}
+Then double click the Arduino shortcut on the Desktop and, click ``Run''
+in the dialog window to start the Arduino IDE. The dialog box is shown in \figref{ard-lin-run} for reference.
+\begin{figure}
+ \centering
+ \includegraphics[scale=0.5]{\LocHWfig/run.png}
+ \caption{Confirmation for executing Arduino script}
+ \label{ard-lin-run}
+\end{figure}
+The Arduino IDE is now ready for use.
+
+\subsection{Arduino Development Environment}
+\label{sec:Arduino-IDE}
+The Arduino development environment, as shown in \figref{ard-ide},
+consists of
+a text editor for writing code, a message area, a text console, a
+toolbar with buttons for common functions, and a series of menus. It
+connects to the Arduino hardware to upload programs and communicate
+with them.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\linewidth]{\LocHWfig/arduino-ide.jpg}
+ \caption{Arduino IDE}
+ \label{ard-ide}
+\end{figure}
+Software written using Arduino are called sketches. These sketches are
+written in the text editor. Sketches are saved with the file extension
+``.ino''. The frequently used icons shown in the toolbar, below the menu bar, are explained next. The names of these icons can be viewed by hovering the mouse pointer over each of them.
+
+\begin{enumerate}
+ \item Verify: Checks your code for errors
+ \item Upload: Compiles your code and uploads it to the Arduino I/O
+ board
+ \item New: Creates a new sketch
+ \item Open: Presents a menu of all the sketches in your
+ sketchbook - clicking one will open it within the current window
+ \item Save: Saves your sketch
+ \item Serial Monitor: Opens the serial port window - the location of
+ this is shown in the top right hand corner of \figref{ard-ide}
+\end{enumerate}
+Note that these appear from left to right in the editor window. Next, we shall go through the additional useful options under menu.
+\begin{enumerate}
+ \item File
+ \begin{enumerate}
+ \item Examples: Examples that come at the time of installation
+ \item Page Setup: Configures the page parameters for printer
+ \item Preferences: Customizes font, language and other parameters for
+ the IDE
+ \end{enumerate}
+ \item Sketch
+ \begin{enumerate}
+ \item Include Library: Adds a library to your sketch by inserting {\tt
+ \#include} statements at the start of your code
+ \end{enumerate}
+ \item Tools
+ \begin{enumerate}
+ \item Auto Format: Indents code so that opening and closing curly
+ braces line up
+ \item Archive Sketch: Archives a copy of the current sketch in .zip
+ format. The archive is placed in the same directory as the sketch.
+ \item Board: Selects the board that you're using
+ \item Port: This menu contains all the serial devices (real or
+ virtual) on your machine. It should automatically refresh every time
+ you open the top-level tools menu.
+ \item Programmer: This can be used to select a hardware programmer when programming a board or chip and not using the onboard USB-serial
+ connection. Normally you won't need this, but if you're burning a
+ bootloader to a new microcontroller, you will use this.
+ \item Burn Bootloader: The items in this menu allow you to burn a
+ bootloader onto the microcontroller on an Arduino board. This is not
+ required for normal use of an Arduino board but is useful if you
+ purchase a new ATmega microcontroller (which normally comes without a
+ bootloader). Ensure that you've selected the correct board from the
+ Boards menu before burning the bootloader.
+ \end{enumerate}
+\end{enumerate}
+
+\subsection{Testing Arduino with a sample program}
+\label{sec:testing-arduino}
+Now, as we have a basic understanding of Arduino IDE, let us try an
+example program.
+\begin{enumerate}
+ \item Open the Arduino IDE by clicking the shortcut ``arduino'' from
+ Desktop in Ubuntu. In MS Windows browse to extracted Arduino folder
+ on Desktop and double click on ``arduino.exe''.
+ \item In the Arduino IDE, to know the path of your sketch files,
+ navigate to File, then Preferences and then locate the ``Sketchbook
+ location'' text box at the top. You may change the path of your
+ storage location. In this book we will keep it unchanged. The path
+ will be different for Windows and Ubuntu.
+ \item To load a sample program, navigate and click on sketch ``File'',
+ then Examples, then 01.Basics, and then Blink.
+ \item A new IDE instance will open with Blink LED code. You may close
+ the previous IDE window now.
+ \item Click ``verify'' to compile. The ``status bar'' below text editor
+ shall show ``Done compiling'' on success.
+ \item Connect Arduino UNO board to PC. You may connect the board
+ before writing the sketch too.
+ \item Now, navigate to ``Tools'', then Port and select the available
+ port. If port option is greyed out (or disabled) then reinsert the
+ USB cable to PC.
+ \item Now select the upload button to compile and send the firmware to
+ the Arduino Uno board.
+ \item If the upload is successful, you will notice the onboard orange LED
+ next to the Arduino logo will start blinking.
+ \item It is safe to detach USB cable at any moment.
+\end{enumerate}
+
+Arduino programming syntax is different from other languages. In an
+embedded set up, a program is expected to run forever. To facilitate
+this, Arduino programming structure has two main functions: setup():
+Used to initialize variables, pin modes, libraries etc. The setup
+function will run only once after each power up or board reset.
+loop(): Code inside this function runs forever. An Arduino program
+must have setup() and loop() functions. We will give several examples
+in this book to explain this usage.
+
+An inbuilt offline help is available within the IDE. You may access
+explanation on IDE by navigating to ``Help'' and then
+Environment. Access Arduino language reference at ``Help'' and then
+Reference. Access FAQs and troubleshooting tricks at ``Help'' and then
+Troubleshooting.
+
+% \subsection{Arduino firmware to work with scilab toolbox}
+% \label{sec:firmware}
+% A firmware is basically a program that continuously runs inside a
+% microcontroller. It is a collection of routines corresponding to the
+% required functionalities. It is typically written in Assembly and C
+% programming language. It is compiled and converted into
+% binary(hexadecimal values with addresses) for the target
+% microcontroller. The binary file(also called hex file) is then
+% uploaded to the microcontroller’s internal ROM. The firmware that has to
+% be used to work with scilab toolbox is at \ardref{ard:firmware}. It
+% is an Arduino IDE compatible file and can be opened in an Arduino
+% IDE. Let us see a brief explanation of this firmware.
+
+% The firmware used for Arduino Uno in this book has the following tasks
+% to perform:
+% \begin{enumerate}
+% \item Reading instructions from a computer(running Scilab) over serial
+% interface and decoding them.
+% \item Performing the task mentioned in the instruction.
+% \item Optionally sending data back to the computer over an serial
+% interface.
+% \end{enumerate}
+% Let us see a simple example of reading values from the LDR that is
+% on the shield.
+
+% The firmware waits for a particular character (command) to be sent
+% from the computer. The character “Aâ€, in quoted form, as shown here,
+% is reserved for analog read
+% routine. So if Scilab wants analog values from the microcontroller, it
+% sends the character “A†to Arduino Uno. On receiving “Aâ€, the Arduino
+% Uno
+% jumps to the routine of Analog read. Here it again waits for the
+% computer to now send the pin number from where it is supposed to read
+% the LDR value. This pin number is in ASCII text. Arduino Uno first
+% checks if the ASCII lies between a valid range. If yes, it takes its
+% ASCII value as a valid pin number. The value 48 is subtracted from it
+% to reveal the character and thus the pin number. This pin number is
+% then sent to the analogRead() function. The analogRead() function is
+% an inbuilt Arduino function imported from the header file. The
+% analogRead() function then actually reads from the pin and returns the
+% analog value. This value is then sent back to the
+% computer(Scilab). The correct firmware must be loaded inside Arduino
+% Uno to be able to successfully carry out any of the experiment
+% explained throughout this book. It is strongly recommended to confirm
+% this before proceeding.
+
+\section{Scilab}
+\label{sec:sci-start}
+Scilab is a free and open source computing software for science and
+engineering applications \cite{scilab-ref}. It is released under GPL
+compatible CeCILL licence. It uses the state of the art linear
+algebra package LAPACK, just as in Matlab. Scilab has hundreds of
+inbuilt functions which cater to a variety of areas such as signal
+processing, control system design, statistics, optimization and many
+more. It has 2D and 3D visualisation capabilities for generating
+excellent plots. It provides Matlab binary files reading and writing
+capabilities and also a Matlab to \scilab\ conversion tool. Scilab can
+also interact with other major programming languages such as Fortran,
+C, C++, Python, Java and TCL/TK \cite{scilab-interop}. It has a
+graphical editor called Xcos, which is similar to Simulink of Matlab.
+
+\subsection{Downloading and installing \scilab}\label{scilab-installation}
+Scilab can be downloaded free of cost from {\tt https://www.scilab.org/}. It is
+available for all popular operating systems, including Windows, Linux
+and Mac OS X systems. This book uses Scilab-5.5.2 for demonstrating
+the experiments, both on Windows and Linux.
+
+For Windows system, the downloaded file is an executable (.exe) file.
+It has to be double clicked to start the installation. All the default
+parameters of installation are acceptable. It has to be noted that
+\scilab\ requires internet connectivity during installation on
+Windows. There is an option in the beginning of the installation to
+continue offline but it is not recommended. Scilab can be launched
+either from the Start menu or by double clicking on \scilab\ icon
+created on the Desktop (if any).
+
+Package managers of Linux do not have the latest versions of Scilab.
+As a result, downloading directly from the \scilab\ website, {\tt
+ https://www.scilab.org/}, is recommended, as there are differences in
+Scilab from version to version. We expect such problems to be overcome
+in the future. The file downloaded will be in a tar.gz format. It has
+to be extracted before use. It is a portable version and needs no
+installation. Scilab can be launched and used right away. To launch
+\scilab, open a terminal by pressing the Alt+Ctrl+T keys
+together. Change the directory where \scilab\ is extracted. Browse
+till the {\tt /bin} directory. Type the command {\tt ls} to see a few
+\scilab\ files. Then execute the command {\tt sudo ./scilab}. Note
+that \scilab\ needs to be launched with root permissions to be able to
+communicate with \arduino. This process is illustrated in
+\figref{linux-cd}.
+\begin{figure}
+ \centering
+ \includegraphics[scale=0.5]{\LocSWfig/linux-cd.png}
+ \caption{Linux terminal to launch Scilab}
+ \label{linux-cd}
+\end{figure}
+
+\subsection{Scilab Arduino toolbox}
+Scilab, by default, does not have the capability to connect to
+Arduino. All such add-on functionalities are added to \scilab\ using
+toolboxes. Just like we have different installation binaries of
+\scilab\ for Windows and Linux, we have different toolboxes types for
+Windows and Linux. The \scilab\ Arduino toolbox can be found inside
+the {\tt Origin/tools/windows} or {\tt Origin/tools/linux} directory,
+see \fnrefp{fn:file-loc}. Use the one depending upon
+which operating system you are using. The \scilab\ codes for various
+experiments mentioned throughout this book can be found in {\tt
+ Origin/user-code} directory. The {\tt user-code} directory will have
+many sub-directories as per the experiments.
+
+Let us now see how to load the Scilab Arduino toolbox.
+\begin{enumerate}
+ \item First launch \scilab. On a Windows system, one may start/launch
+ \scilab\ either through the Start menu or by double clicking on the
+ shorcut icon created on the Desktop. On a Linux system, one has to
+ start \scilab\ through a terminal with root permissions, as
+ explained in section \ref{scilab-installation}.
+ \item After launching \scilab, first we have to change the working
+ directory. To do so, click on the {\tt File} menu and then click on
+ the {\tt Change current directory} option as shown in
+ \figref{scilab-cd}.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\linewidth]{\LocSWfig/change-directory.png}
+ \caption{Changing scilab directory}
+ \label{scilab-cd}
+ \end{figure}
+ \item Then, one has to browse to the toolbox folder
+ {\tt Origin/tools/windows} or {\tt Origin/tools/linux}, as the case
+ may be, and click on, {\tt
+ open}, as shown in \figref{scilab-browse}.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\hgfig]{\LocSWfig/browse-directory.png}
+ \caption{Browsing toolbox directory}
+ \label{scilab-browse}
+ \end{figure}
+ \item After the previous step, the \scilab\ working directory becomes
+ the toolbox folder. See the {\tt file browser} panel on the
+ left hand side of the \scilab\ console, see \figref{builder}. It
+ will list out the contents of your current working directory. For a
+ check, look for the file {\tt builder.sce}. If you see this file,
+ then you are in the right directory.
+ \item Next, type the following command on the \scilab\ console: {\tt
+ exec builder.sce} - this will build the toolbox and create a file
+ {\tt loader.sce}. This step has to be executed only the first
+ time. Output of this step is illustrated in \figref{builder}.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\linewidth]{\LocSWfig/builder.png}
+ \caption{Output of builder.sce}
+ \label{builder}
+ \end{figure}
+ \item Next, type the command,
+ {\tt exec loader.sce} -
+ this will load the toolbox. This means all the new functions
+ corresponding to the toolbox are all loaded in the workspace. It
+ will also make available new Xcos blocks, if any. The
+ output of this command is as shown in \figref{loader}. If you clear
+ the work space for any reason, you will have to execute this command
+ once again\footnote{Be careful
+ not to execute the {\tt clear} command. This will clear the loaded
+ toolbox and you will have to execute the loader.sce file again.}
+ \begin{figure}
+ \centering
+ \includegraphics[scale=0.5]{\LocSWfig/loader.png}
+ \caption{Output of loader.sce}
+ \label{loader}
+ \end{figure}
+\end{enumerate}
+The toolbox is now loaded and available for use.
+
+\subsection{Identifying Arduino communication port number}
+
+Connect \arduino\ board to your computer. On a Windows system, doing
+so for the first time will initiate Windows device identification
+routine. It may take a while before it finishes assigning a COM port
+number to the \arduino\ board. If Arduino IDE is installed using the
+procedure outlined in \secref{arduino-ide}, required USB drivers for
+Arduino get installed automatically. Hence if you have installed the
+Arduino IDE, it should not ask for drivers after you connect it. As
+usually Linux systems come with required drivers, the device is
+automatically detected by the OS on connection.
+
+Now let us see how to identify the COM port number. For a Windows
+system, open the Device Manager. To do so, right click on ``My
+Computer'' and choose Properties. The Properties window that will open
+will have Device Manager in the list on the left hand side. In the
+Device Manager window, look for ``Ports (COM and LPT)''. Double click on
+it. It will show you the COM number for \arduino.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\linewidth]{\LocSWfig/device-manager.png}
+ \caption{Device Manager in windows}
+ \label{dev-mgr}
+\end{figure}
+
+The result of the above exercise is shown in \figref{dev-mgr}. In
+this case, the system has detected Arduino with port number 3, which
+appears as COM3. In this book, we have taken the port for
+communication as 2 and written code consistent with this assumption.
+As a result, we will now change it to
+COM2\footnote{\label{fn:port}It is possible to leave it at whatever
+ port number one gets. It is also possible to choose any number
+ between 2 and 99. In this case, the port number should be
+ changed accordingly in the code. We will point this out throughout
+ the book.}. To change the port number, double click on the port
+number. Its properties window will appear. Click on the ``Port
+Settings'' tab and then click on ``Advanced'' button as shown in
+\figref{com}.
+
+\begin{figure}
+ \centering
+ \includegraphics[scale=0.5]{\LocSWfig/com-properties.png}
+ \caption{COM port properties window}
+ \label{com}
+\end{figure}
+
+Click on the drop down menu for COM port numbers. Choose the port
+number COM2. On clicking on ``OK'', Windows may warn you that the port
+number is already in use. But given that you do not have any other USB
+device connected you may force change it. Click on ``OK'' to close
+all of the device manager windows. Now, we are set to go ahead with
+port number 2. The stress on using port number 2 is just to be
+consistent throughout the book. It is mainly for a beginner.
+
+Now, let us see how to identify the port number on a Linux
+system. Open a terminal by pressing Alt+Ctrl+T keys together. Then
+type the following command and press enter, {\tt ls
+ /dev/ttyACM*} -
+the output of this command is shown in \figref{linux-port}. It has
+detected the Arduino with port number ``ttyACM0''. The last character
+in this string, namely 0, is the port number. You may get 0 or a
+number such as 1 or 2 in your case, for the port number.
+
+\begin{figure}
+ \centering
+ \includegraphics[scale=0.5]{\LocSWfig/linux-port.png}
+ \caption{Port number on Linux terminal}
+ \label{linux-port}
+\end{figure}
+
+\subsection{Testing Scilab-Arduino toolbox}
+\label{sec:testing-scilab-arduino}
+Now let us test the functioning of the toolbox.
+\begin{enumerate}
+ \item Install Arduino IDE, as explained in \secref{sec:ard-start} and
+ launch it.
+ \item Read into the Arduino IDE, the firmware \ardref{ard:firmware}.
+ \item Using the {\tt Upload} option of the Arduino IDE, load this
+ firmware on to the Arduino Uno board.
+ \item Inside the {\tt Origin/tools} directory, locate a file {\tt
+ test\_firmware.sce}. This file will be used to test whether the
+ firmware is properly installed. This is an important step, as the
+ connection between the computer and Arduino breaks down sometimes.
+ The Scilab toolbox is unable to identify this difficulty - it has to
+ be externally done. If this difficulty is not identified and
+ rectified, one will waste a lot of time and effort trying to debug
+ the error. This test has to be done in case of difficulties.
+ \item In the \scilab\ console, type {\tt editor} and press the enter
+ key. This will launch the editor. Click on ``File'' menu and choose
+ ``Open''. Browse to the directory {\tt Origin/tools} and choose the
+ file {\tt test\_firmware.sce}. It will open
+ \sciref{sci:test-firmware}.
+ %The \scilab\ editor with this file open is as shown in \figref{test-code}.
+ % \begin{figure}
+ % \centering
+ % \includegraphics[scale=0.5]{\LocSWfig/test-code.png}
+ % \caption{Scilab code to test toolbox and firmware}
+ % \label{test-code}
+ % \end{figure}
+
+ \item If you are using a Windows system and have set your port number
+ as COM2, you need not make any changes to the file. Linux users,
+ however, will mostly identify the port number as ``ttyACM0''. Hence,
+ they need to change the following line number
+ \lstinputlisting[firstline=2,lastline=2]
+ {\LocSWchkcode/test_firmware.sce}
+ to
+ \begin{lstlisting}[style=nonumbers]
+ h=open_serial(1,0,115200)
+\end{lstlisting}
+
+ \item To execute this code, on the menu bar, click on the {\tt
+ Execute}, option. Then choose {\tt File with no echo}. The output
+ will appear on the console as shown in \figref{test-console}.
+ \begin{figure}
+ \centering
+ \includegraphics[scale=0.5]{\LocSWfig/test-console.png}
+ \caption{Scilab test code output}
+ \label{test-console}
+ \end{figure}
+ As shown in the figure, we see the response of this code as ``ans = '' and
+ ``ok'' three times. The
+ code basically gives some input to Arduino three times and the
+ program inside it returns ``ok'' three times. This code thus confirms
+ the working of the Scilab-Arduino toolbox. The code also confirms
+ that the firmware inside the Arduino is correct. It is alright if
+ one or two of the attempts out of three give a blank response. But
+ all the three responses certainly should not be
+ blank\footnote{\label{fn:firmware}If this step is unsuccessful,
+ one should check the connections and re-install the firmware}.
+\end{enumerate}
+
+Now let us take a look at the various functions facilitated by the
+toolbox. The functions provided in the toolbox are as shown in
+\figref{func}. They are basically categorized into four categories:
+configuration, digital, analog and motors. These functions will be
+explained in detail in the subsequent chapters as and when they are
+used.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\linewidth]{\LocSWfig/table_functions_crop.pdf}
+ \caption{Arduino toolbox functions used in this book}
+ \label{func}
+\end{figure}
+
+
+
+\section{Xcos}
+\label{sec:xcos-start}
+Xcos is a graphical editor for \scilab\ \cite{xcos-ref}. Most of the
+mathematical manipulations that can be done using \scilab\ scripts,
+can be done using Xcos also. The major advantage of Xcos is the
+intuitive interface and easy connectivity across blocks. Xcos even
+supports {\tt if else}, {\tt for} and {\tt while} looping which form
+an integral part of any programming language. It is possible to code
+the entire algorithm using Xcos blocks alone. It is also possible to
+read from and write to \scilab\ workspace through Xcos.
+
+\subsection{Downloading, installing and testing}
+Xcos comes pre-installed with \scilab. Hence a separate installation
+of Xcos is not required. Let us explore the functionalities Xcos has
+to offer. Xcos basically provides a graphical interface to \scilab.
+
+Xcos can be launched from \scilab\ by clicking on the Xcos icon
+available on the \scilab\ menu bar. It can also be launched by simply
+typing the command {\tt xcos} in the \scilab\ console. When Xcos is
+launched, it will open a palette browser. We have shown this in
+\figref{sine-blk}, where we have selected a sine block. At the time
+of launch, Xcos will also open an empty canvas, called untitled
+Xcos window.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\hgfig]{\LocSWfig/sine-blk.png}
+ \caption{Sine generator in palette browser}
+ \label{sine-blk}
+\end{figure}
+
+% \begin{figure}
+% \centering
+% \includegraphics[scale=0.5]{\LocSWfig/palette-browser.png}
+% \caption{Palette Browser}
+% \label{palette}
+% \end{figure}
+
+
+% \begin{figure}
+% \centering
+% \includegraphics[scale=0.5]{\LocSWfig/untitled-xcos.png}
+% \caption{Untitled Xcos window}
+% \label{untitled}
+% \end{figure}
+
+Palette browser shows all of the available blocks that can be used. It
+has been nicely categorized as per the functionality. For example,
+blocks which generate signals/values without any input, fall under the
+category {\tt Sources}. Similarly, blocks which take signals/values
+without giving any output are categorized as {\tt Sinks}. This makes
+finding a particular block very easy, specially when one does not know
+the name of a block.
+
+The untitled window is the one where one creates the Xcos
+code/diagram. The relevant blocks have to be dragged and dropped from
+the palette browser to the untitled window. The blocks are then
+interconnected and configured as per the simulation, which we will
+demonstrate next.
+
+\subsection{Use case}
+Let us build a simple Xcos simulation to plot a sine wave. This
+simulation requires a sine wave source. It can be found in the {\tt
+ Sources} category as shown in \figref{sine-blk}. Drag and drop this
+block in the untitled Xcos window.
+
+Next, we need a block to plot the sine wave. A plotting block can be
+found in the {\tt Sinks} category as shown in \figref{plot-blk}. The
+name of this block is CSCOPE. Drag and drop this block in the untitled
+Xcos window. On the left hand side, this block has an input port for
+data. It is black in colour, which may not be obvious in a black and
+white print out. The output from the sine block has to be connected
+to this port. At its top side, the CSCOPE block has another input
+port, called an event port. This is red in colour. This port is used
+to synchronise it with event generating devices.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\hgfig]{\LocSWfig/plot-blk.png}
+ \caption{CSCOPE block in xcos}
+ \label{plot-blk}
+\end{figure}
+
+As the CSCOPE block has an
+input event port, we need a source which generates events. Hence, the
+next block that we need is an event generator block and it can be
+found in the {\tt Sources} category. This is illustrated in figure
+\ref{clk-blk}. The name of this block is CLOCK\_c. Drag and drop this
+block in the untitled Xcos window.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\hgfig]{\LocSWfig/clock-blk.png}
+ \caption{CLOCK\_c block in xcos}
+ \label{clk-blk}
+\end{figure}
+
+The next step is to interconnect the blocks together. A black color
+port can only be connected to other black color port. A black color
+port cannot be connected to a red color port and vice versa. That is,
+a data port cannot be connected to an event port. Linking
+two blocks is bit crucial and may need a few attempts before one gets
+comfortable. To link two blocks, first click and hold the left mouse
+button over the output port of the source block. Without releasing the
+mouse button, touch the mouse pointer to the input port of the sink
+block. If a connection is possible there, the port will turn
+``green''. At this point, release the mouse button and the blocks should
+get connected. Follow this procedure and complete the connection as
+shown in the \figref{sine-gen}. Save this file with name {\tt
+ sine-generator}.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocSWfig/sine-gen.png}
+ \caption{Sine generator in Xcos}
+ \label{sine-gen}
+\end{figure}
+
+Let us simulate this Xcos code. On the menu bar, click on the {\tt
+ Simulation} menu and choose {\tt Start}. You will get a graphic
+window with a running sine wave as shown in \figref{sine-output}.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocSWfig/sine-output.png}
+ \caption{Sine generator Xcos output}
+ \label{sine-output}
+\end{figure}
+
+This is because we are running the simulation using the default
+configuration. We would like a stationary plot. If the simulation is
+still running, go to the Simulation menu and choose Stop. Double
+click on the CSCOPE block. Its properties window will appear as shown
+in \ref{cscope-config}. Note the value of the {\tt Refresh period}. It
+is by default 30. Click on Ok.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocSWfig/cscope-config.png}
+ \caption{CSCOPE configuration window}
+ \label{cscope-config}
+\end{figure}
+
+Next, on the menu bar, click on the {\tt Simulation} menu and choose
+ {\tt Setup}. The {\tt Set Parameters} window will open. The first
+parameter is {\tt Final integration time}. It decides for how long the
+simulation will run. Change it to be equal to the {\tt Refresh period}
+of the CSCOPE block. That is, change it to 30 as shown in
+\figref{sim-setup}. Now start the simulation and you will get a static
+plot. Other paramenters of blocks can also be changed. For example,
+one may want to change the input amplitude/frequency or change the
+plot scales etc. All these are left to the reader to explore.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocSWfig/sim-setup.png}
+ \caption{Simulation setup window}
+ \label{sim-setup}
+\end{figure}
+
+Although we have demonstrated a very basic level of Xcos simulation,
+this idea can be used for complex processes as well. Using Xcos, it
+is possible to have user-defined blocks. The user can code the
+working of the block as a function in \scilab\ script and then call it
+from Xcos. It is also possible to create subsystems.
+One can even read from and write to C binaries. Xcos comes with
+several pre-defined libraries and hence, it is possible to carry out
+other kinds of simulation, such as electrical circuit simulation and
+basic thermo-hydraulic simulation, for example. A detailed
+explanation and demonstration is beyond the scope for this book.
+
+\subsection{Xcos-Arduino}
+The \scilab\ Arduino toolbox not only provides functions to be used in
+\scilab\ scripts but also provides with new Arduino-specific blocks. As
+shown in \figref{arduino-palette} new Arduino blocks are now available
+for use. Similar to the categorization of the functions, the Xcos
+blocks are also categorized as configuration, digital, analog and
+motors. Again, it is possible to conduct the experiments only using
+Xcos. Xcos codes for every experiment are provided througout the
+book. The Arduino blocks can be easily connected to Xcos native
+blocks. A detailed block help for every block can be sought by right
+clicking on the block and choosing ``Block help''. This is illustrated
+in \figref{blk-help}.
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocSWfig/arduino-palette.png}
+ \caption{Palette browser showing Arduino blocks}
+ \label{arduino-palette}
+\end{figure}
+
+\begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocSWfig/xcos-help.png}
+ \caption{Xcos block help}
+ \label{blk-help}
+\end{figure}
+
+%%%%%python description starts
+\section{Python}
+\label{sec:python-start}
+Python is a general-purpose, high-level, remarkably powerful dynamic programming language
+that is used in a wide variety of application domains. Its high-level built in data structures,
+combined with dynamic typing and dynamic binding, make it very attractive for Rapid Application Development,
+as well as for use as a scripting or glue language to connect existing components together.
+Python's simple, easy to learn syntax emphasizes readability and therefore reduces the cost of program maintenance.
+Python supports modules and packages, which encourages program modularity and code reuse.
+The Python interpreter and the extensive standard library are available in source or binary form without
+charge for all major platforms, and can be freely distributed \cite{python-ref}.
+
+
+\subsection{Downloading and installing Python}\label{python-installation}
+Python can be downloaded free of cost from {\tt https://www.python.org/}. It is
+available for all popular operating systems, including Windows, Linux
+and Mac OS X systems. This book uses Python 3.5 for demonstrating
+the experiments, both on Windows and Linux.
+
+For Windows system, the downloaded file is an executable (.exe) file. One can download
+this executable file (32-bit or 64-bit as per your system) from Python's webpage i.e.,
+{\tt https://www.python.org/downloads/windows/}.
+It has to be double clicked to start the installation. All the default parameters of installation
+are acceptable. Once Python has completed the downloading and installation process, we can verify whether
+Python is installed correctly. For this, we need to open Windows PowerShell using the Start menu.
+Once PowerShell is open, enter {\tt Python -{}-version} to confirm that Python has installed on your machine.
+
+Apart from Python, we need to install Python Serial Port Extension.
+For this, one can download the
+Windows pyserial package from the PyPI website, i.e., {\tt https://pypi.python.org/pypi/pyserial/3.4} and
+install it by double-clicking on the downloaded file.
+
+On Linux, we can install Python from the terminal. Open a terminal by pressing the Alt+Ctrl+T keys together. Then,
+execute the command {\tt sudo apt-get install python3.5}. Next, we will install Python Serial Port Extension by
+executing {\tt pip3 install pyserial}.
+
+% \begin{enumerate}
+% \item On Ubuntu, Python can be installed from the command line by typing in the
+% following commands:
+
+% \$ sudo apt-get install python3.5 \\
+% This will install python 3.5 as this set of tools are compatible with python3. It also
+% works all other versions of python3.
+% \$ pip3 install python-serial \\
+% This will install serial package required for communicating with Arduino Uno.
+% \item 1. On Windows,
+
+
+% Download Windows python compiler Self Extracting Archive (.exe) (32-bit or 64-bit as per your system) from https://www.python.org/downloads/windows/
+
+% Download Windows pyserial package .exe from https://pypi.python.org/pypi/pyserial/3.4.
+% After downloading run the .exe file and follow the instructions.
+
+% Now that we have Python installed, open the terminal by typing 'Ctrl+Alt+T'.
+% Enter the command 'python'. This opens the Python REPL (Read Eval Print Loop).
+% Python files have .py extension and .py files can be executed by typing "python3 filename.py"
+% on the python terminal. Please visit the link https://github.com/manasdas17/Python3-Arduino for
+% the library.
+
+% \end{enumerate}
+%%%%%python description ends
+
+%%%%%%Julia descrition starts
+
+\section{Julia}
+\label{sec:julia-start}
+Julia is a high-level, high-performance dynamic programming language for
+technical computing, with syntax that is familiar to users of other technical
+computing environments. It provides a sophisticated compiler, distributed
+parallel execution, numerical accuracy, and an extensive mathematical function
+library. This is a set of tools that provide functionality in Julia, to program the
+\arduino.
+
+\subsection{Downloading and installing Julia}\label{julia-installation}
+\begin{enumerate}
+\item On Ubuntu, Julia can be installed from the command line by typing in the
+following commands:
+
+\$ sudo add-apt-repository ppa:staticfloat/juliareleases \\
+\$ sudo add-apt-repository ppa:staticfloat/julia-deps \\
+\$ sudo apt-get update \\
+\$ sudo apt-get install julia \\
+\item 1. On Windows,
+
+
+Download Windows Self Extracting Archive (.exe) (32-bit or 64-bit as per your system) from http://julialang.org/downloads/
+
+\begin{enumerate}
+ \item Run the .exe file and follow the instructions. Note the location of the extracted files and folders
+ \item Download 'Git Bash' from https://git-scm.com/download/win
+ \item Open Git Bash, in the prompt type:
+ git config --global url.https://github.com/.insteadOf git://github.com/
+
+ \item Download the Editor for Julia, 'Atom' from https://atom.io/
+ \item Run AtomSetup.exe and follow the instructions to install Atom on windows
+ \item Open Atom>File>Settings>Install
+ In the search engine, search for the package 'uber-juno'
+ Click on 'Install'
+\end{enumerate}
+
+Possible errors:
+
+\begin{enumerate}
+
+ \item Juno could not be found
+ Solution: Open Atom>File>Settings>Packages>julia-client:Settings>Julia path
+ Change the path to $\backslash$....$\backslash$Julia-0.4.5$\backslash$bin$\backslash$julia.exe
+
+ \item Atoms.jl error\\
+ Solution: Open Julia terminal\\
+ in the prompt, type:\\
+ julia>Pkg.status()\\
+ julia>Pkg.build()\\
+ 8. Go to https://github.com/cshekhard/SerialPorts.jl
+ Click on 'Clone or Download' and copy the link
+
+ 9. Open Julia terminal and in the prompt, type:
+ julia>Pkg.clone("paste link")
+
+ \item PyCall error
+ This error may occur if the Python installed on your system is the 32 bit version, whereas the Julia that you just installed is the 64 bit version.
+ Sol: In Julia terminal, type:
+ julia> ENV["PYTHON"]="";Pkg.build ("PyCall")
+ Let the packages download and install.
+\end{enumerate}
+
+Julia should work fine now.
+
+
+\item Other platform specific instructions can be found at \\
+http://www.julialang.org/downloads/platform.html
+
+\item You can also clone the source repository and compile/build it to get the
+latest development version of julia. However this may prove to be unstable.
+https://github.com/JuliaLang/julia/tree/master
+
+\end {enumerate}
+%This process is illustrated in
+%\figref{linux-cd}.
+%\begin{figure}
+%\centering
+%\includegraphics[scale=0.5]{\LocSWfig/linux-cd.png}
+%\caption{Linux terminal to launch Scilab}
+%\label{linux-cd}
+%\end{figure}
+
+\subsection{Downloading and installing Juno IDE}\label{juno-ide-installation}
+
+Juno is a powerful IDE for the Julia language, hosted as a package on the Atom IDE. Installing it also installs some common Julia packages such as PyCall and Plots.The package is hosted at \\
+https://github.com/JunoLab/uber-juno/blob/master/setup.md
+
+Download, install and open Atom. If you have it already, make sure it's up to date (version 1.7+).
+In Atom, go to Settings and go to the "Install" panel.
+Type uber-juno into the search box and hit enter. Click the install button on the package of the same name.
+Atom will then set up Juno for you, installing the required Atom and Julia packages.
+
+Now that you have Julia installed,open the terminal by typing 'Ctrl+Alt+T'.
+Enter the command 'julia'. This opens the Julia REPL (Read Eval Print Loop)
+as shown in
+\figref{julia-terminal}.
+\begin{figure}
+ \centering
+ \includegraphics[scale=0.5]{\LocSWfig/julia-terminal.png}
+ \caption{Linux terminal to launch Julia}
+ \label{julia-terminal}
+\end{figure}
+
+Julia filenames have the extension '.jl' . There are several ways to run a julia file:
+
+\begin{enumerate}
+ \item By clicking the Run button in the above environment. This runs the file as a whole and prints any output on the console. Pressing 'Ctrl$+$Enter' evaluates and runs only the line on which the cursor is present.
+ \item In the julia REPL: Typing 'include("filename.jl")'' at the julia prompt runs the file. Note that this works only if the file is in the present working directory. Otherwise the entire path to the file should be mentioned in the include command. Alternatively, you can change the present directory to the one in which the file is available by typing ';'.
+ \item In the terminal: Navigate to the directory with the file and type command 'julia filename.jl'
+\end{enumerate}
+
+
+After setting up the JUNO IDE as a plugin in the Atom editor, launching Atom will result in something like this:
+
+\figref{atom-lunch}.
+\begin{figure}
+ \centering
+ \includegraphics[scale=0.2]{\LocSWfig/atom-lunch.png}
+ \caption{Linux Atom Text Editor}
+ \label{atom-lunch}
+\end{figure}
+
+\subsection{Julia Arduino toolbox}
+Registered packages (those which are listed in the 'packages' section on the julia site) can be added by the command 'Pkg.add()' command, for e.g.
+
+julia> Pkg.add("Pyplot").
+
+All julia packages are GitHub repositories which can be cloned via the appropriate protocol. Unregistered packages which cannot be added as above can be added using Pkg.clone() command and the git clone url. For example,
+
+julia> Pkg.clone("https://github.com/cshekhard/MyPackage.jl.git")
+
+Care should be taken to use the appropriate protocol - git:// or https:// (if you are behind a firewall).
+
+This tool makes use of a slightly modified version of the package 'SerialPorts' originally developed by Steve Kelly (sjkelly) - https://github.com/sjkelly/SerialPorts.jl.git
+
+Let us now see how to load the Julia Arduino toolbox.
+
+
+To install:
+\begin {itemize}
+\item julia> Pkg.clone ("https://github.com/cshekhard/SerialPorts.jl.git")
+
+Make sure the package is installed by checking Pkg.status() again.
+After a package is installed, it is imported into the current julia session with the keyword 'using'
+
+\item julia> using SerialPorts
+The toolbox is now loaded and available for use.
+
+\end{itemize}
+
+All the codes or .jl files must be saved in a folder that contains the file 'ArduinoTools.jl'
+This is because when we use include("ArduinoTools.jl"), the function 'include' searches for 'ArduinoTools.jl' only in that directory where our program file is saved.
+
+
+
+
+\subsection{Using the serial port package}
+
+The generic functions available with this package are:
+\begin{enumerate}
+ \item write() - To write data into serial port. Returns the number of bytes written.
+ It has three methods:
+ \begin{enumerate}
+ \item write(ser::SerialPort,data::UInt8) :
+ To write a single Integer byte (0 to 255).
+ \item write(ser::SerialPort,data::ASCIIString) :
+ To write an ASCIIString into the serial port.
+ \item write(ser::SerialPort,data::UTF8String) :
+ To write a Unicode String into the serial port. Available only in the
+ modified package.
+ \end{enumerate}
+
+ \item read(ser::SerialPort,n::Integer) - To read n bytes of data from the serial
+ port. Returns the data read as a String.
+
+ \item readavailable(ser::SerialPort) - To read all available bytes from the serial
+ port. Returns the data read as a String.
+
+ \item nb\_available(ser::SerialPort) - Returns the number of bytes waiting to be read
+ in the input buffer.
+
+ \item open(ser::SerialPort) and close(ser::SerialPort) - To open and close a
+ pre-initialized serial port.
+
+\end{enumerate}
+
+All the aforementioned functions have identical analogues defined in the ArduinoTools module: Write(), Read(), ReadAvailable(), nbAvailable(), openSerial() and closeSerial(). Hence, importing only the ArduinoTools module suffices for using any function. Using this basic set of functions, the user can define other functions to operate upon the Arduino.
+
+
+%%%%%%%%OpenModelica description starts
+
+
+\section{OpenModelica}
+\label{sec:OpenModelica-start}
+OpenModelica is a free and open source environment based on the Modelica modeling language for simulating, optimizing and analyzing complex
+dynamic systems.OpenModelica is a powerful tool that can be used to design and
+simulate complete control systems.The toolbox 'OpenModelica-Arduino'
+enables the interfacing of Arduino with OpenModelica by calling a set of c functions
+from OpenModelica.
+
+
+
+
+\subsection{Downloading and installing OpenModelica}\label{OpenModelica-installation}
+
+On Ubuntu, OpenModelica can be installed from the command line by typing in the
+following commands:
+
+\$ for deb in deb deb-src; do echo "$deb http://build.openmodelica.org/apt $'lsb\_release -cs'$ stable$"; done | sudo tee /etc/apt/sources.list.d/openmodelica.list \\
+\$ wget -q http://build.openmodelica.org/apt/openmodelica.asc -O- | sudo apt-key add - \\
+\$ apt-key fingerprint
+\$ sudo apt-get update \\
+\$ sudo apt-get install openmodelica \\
+\$ sudo apt install omlib-.* \\
+On Windows,
+download Windows Self Extracting Archive (.exe) (32-bit or 64-bit as per your system) from https://openmodelica.org/download/download-windows. Run the .exe file and follow the instructions to complete the
+installation.
+
+%This process is illustrated in
+%\figref{linux-cd}.
+%\begin{figure}
+%\centering
+%\includegraphics[scale=0.5]{\LocSWfig/linux-cd.png}
+%\caption{Linux terminal to launch Scilab}
+%\label{linux-cd}
+%\end{figure}
+
+\subsection{Executing OpenModelica}\label{OpenModelica-code-execution}
+OpenModelica filenames have the extension '.mo' . There are several ways to run an OpenModelica file.
+But in our case, we will execute the code by OMEdit.
+
+\begin{itemize}
+ \item On Ubuntu systems by pressing 'Ctrl$+$Alt$+$T', a new terminal will come up.
+ \item Then type 'OMEdit' to start OMEdit connection editor. On Widows, OMEdit can be started by clicking on 'OMEdit Connection Editor' icon.
+ \item Now from File -> Load Model/Libray File(s) browse to the folder having files having .mo extensions and open it on the OMEdit Editor.
+ \item But as OMEdit is a graphical editor so at the first instance, the texts on the code won't be visible on it.
+ \item To see the codes, click on the 'Text View' icon.
+\end{itemize}
+
+
+
+\subsection{OpenModelica Arduino toolbox}
+
+\begin{itemize}
+ \item To install and run the OpenModelica Arduino toolbox, browse to
+ File -> Open Model and browse to Arduino.mo in the OpenModelica-Arduino-Windows/Linux library and load it.
+ \item Click on the '$+$' on left side of Arduino on OMEdit
+ \item Then click on '$+$' on the left side of SerialCommunication
+ \item Now, click on '$+$' on the left side next to Examples icon. Then you will come to see all
+ the experiments available on this toolbox. You can perform any experiment by clicking on the experiment
+ name and then execute the 'Simulate' button.
+ \item But don't forget to load the arduino\_firmware used for scilab-arduino to the Arduino board.
+\end{itemize}
+
+
+
+%%%%%%%%OpenModelica description ends
+
+% \begin{enumerate}
+
+% \item THE connectBoard FUNCTION
+% connectBoard(baudrate::Int64)
+
+% \begin{enumerate}
+% \item Function that opens the first serial port among the names returned by the
+% list\_serialports() function, with the specified baud rate.
+% \item Works fine as long as there is no other active serial port in use.
+% \item If there are multiple active serial ports, use the openSerial() function as
+% follows: openSerial(" <portname> ",<baudrate>)
+% \item Usage: connectBoard(115200)
+% \end{enumerate}
+
+% \item THE pinMode FUNCTION
+
+% pinMode(file\_des::SerialPorts.SerialPort, pin\_no::Int64, mode::ASCIIString)
+
+
+% A function to set the mode of a digital pin as INPUT or OUTPUT \\
+% Parameters:
+% \begin{enumerate}
+% \item file\_des: file descriptor (SerialPort object)
+% \item pin\_no: pin number
+% \item mode: "INPUT" or "OUTPUT"
+% Similar to the pinMode function in Arduino.
+% Usage example : pinMode(ser,9,"OUTPUT")
+
+% \end{enumerate}
+
+
+
+% \item THE digiWrite FUNCTION
+
+
+% digiWrite(file\_des::SerialPorts.SerialPort , pin\_no::Int64 , val::Int64)
+% Function to send a digital signal (High(1) or Low(0)) to a connected Arduino
+% board.
+% Parameters:
+
+% \begin{enumerate}
+
+% \item file\_des: file descriptor (SerialPort object)
+% \item pin\_no: pin number
+% \item val: Digital value to be sent to pin, 0 (for LOW/0V) or 1 (for HIGH/5V)
+% \end{enumerate}
+
+% \item THE digiRead FUNCTION
+
+
+
+% digiRead(file\_des::SerialPorts.SerialPort, pin\_no::Int64)
+
+% Function to read the digital value on a pin. Returns 0 or 1 (Integer)\\
+% Parameters:
+% \begin{enumerate}
+% \item file\_des: file descriptor (SerialPort object)
+% \item pin\_no: pin number
+% similar to digitlRead function in Arduino.
+% Usage example: digiRead(ser,9)
+% \end{enumerate}
+
+% \item THE analogWrite FUNCTION
+
+
+% analogWrite(file\_des::SerialPorts.SerialPort, pin\_no::Int64, val::Int64)
+
+% - Function to send an analog signal to a connected Arduino board.\\
+% - Parameters:
+% \begin{enumerate}
+% \item file\_des: SerialPort object
+% \item pin\_no: pin number (3,5,6,9,10 or 11 only in case of Arduino UNO)
+% \item val: The value between 0-255 sent to the pin which will then be scaled to
+% 0V-5V.
+% \end{enumerate}
+
+% \item THE analogRead FUNCTION:
+
+
+% analogRead(file\_des::SerialPorts.SerialPort , pin\_no::Int64)
+
+% - Function to read analog signal from a pin on Arduino board. Returns a value
+% between 0-1023.\\
+% - Parameters:
+% \begin{enumerate}
+% \item file\_des: SerialPort object
+% \item pin\_no: pin number
+
+% \end{enumerate}
+
+
+% \item THE DCMotorSetup FUNCTION
+
+% DCMotorSetup(file\_des::SerialPorts.SerialPort, driver\_type::Int64,
+% motor\_no::Int64, pin1::Int64, pin2::Int64)
+
+% - Function to initialize and setup a DC motor.\\
+% - Parameters:
+
+% \begin{enumerate}
+
+% \item file\_des: SerialPort object
+% \item driver\_type: 1 for adafruit
+% 2 for L298
+% 3 for L293
+% \item motor\_no: A number for identifying the motor – 1,2,3 or 4.
+
+% \end{enumerate}
+
+% \item THE DCMotorRun FUNCTION
+
+% DCMotorRun(file\_des::SerialPorts.SerialPort, motor\_no::Int64, speed::Int64)
+
+% - Function to run the motor at a desired speed, clockwise or anticlockwise.\\
+% - Parameters:
+
+% \begin{enumerate}
+
+
+% \item file\_des: SerialPort object
+% \item motor\_no: The ID number given to the motor in the setup function
+% \item speed: Ranging from -255 to 255, change in sign will reverse the direction
+% \end{enumerate}
+
+% \item THE DCMotorRelease FUNCTION
+% DCMotorRelease(file\_des::SerialPorts.SerialPort, motor\_no::Int64)
+
+% - Function to release a DC motor from the Arduino board i.e revoke the
+% parameters from the setup function \\
+% - Parameters:
+% \begin{enumerate}
+
+
+
+% \item file\_des: SerialPort object
+% \item motor\_no: ID number of the motor from setup.
+
+% \end{enumerate}
+
+
+% \item THE ServoAttach FUNCTION
+
+% ServoAttach(file\_des::SerialPorts.SerialPort, servo\_no::Int64)
+
+% - Function to attach and initialize a servomotor \\
+% - Parameters:
+
+% \begin{enumerate}
+
+% \item file\_des: SerialPort object
+% \item servo\_no: 1 (for servo attached to pin 9) and 2 (for servo attached to
+% pin 10)
+% \end{enumerate}
+
+% \item THE ServoMove FUNCTION
+
+% - Function to move the rotating part of motor to a specific angular position\\
+% - Parameters:
+
+% \begin{enumerate}
+
+% \item file\_des: SerialPort object
+% \item servo\_no: 1 (pin 9) or 2 (pin 10)
+% \item val: angular position from 0 – 180 (in degrees)
+% \end{enumerate}
+
+% \item THE ServoDetach FUNCTION
+
+% ServoDetach(file\_des::SerialPorts.SerialPort, servo\_no::Int64)
+
+% - Function to detach the servomotor from arduino board \\
+% - Parameters:
+% \begin{enumerate}
+
+% \item file\_des: Serialport object
+% \item servo\_no: 1 or 2
+% \end{enumerate}
+
+
+
+% \end{enumerate}
+
+
+
+\section{Code}
+\lstset{style=mystyle}
+\label{sec:hw-arduino}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+For each of the tools (Arduino, Scilab, Python, Julia, and OpenModelica), we will provide with a code to check
+whether the corresponding firmware has been properly installed.
+
+\subsection{Arduino Code}
+\begin{ardcode}
+ \acaption{First 10 lines of the Arduino firmware}{First 10 lines of
+ the Arduino firmware. Available at
+ \LocSWfirmbrief{arduino-firmware.ino}.}
+ \label{ard:firmware}
+ \lstinputlisting[firstline=1,lastline=10]
+ {\LocSWfirmcode/arduino-firmware.ino}
+\end{ardcode}
+
+\subsection{Scilab Code}
+\lstset{style=mystyle}
+\label{sec:test-firmware-scilab}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+ \ccaption{A code to check whether the firmware is properly installed
+ or not}{A code to check whether the firmware is properly installed
+ or not. Available at
+ \LocSWchkbrief{test\_firmware.sce}.}
+ \label{sci:test-firmware}
+ \lstinputlisting{\LocSWchkcode/test_firmware.sce}
+\end{scicode}
+
+%python code
+\subsection{Python Code}
+\lstset{style=mystyle}
+\label{sec:test-firmware-python}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{pycode}
+ \ccaption{A code to check whether the firmware is properly installed
+ or not}{A code to check whether the firmware is properly installed
+ or not. Available at
+ \LocFIMpybrief{led-blue.py}.}
+ \label{py:test-firmware}
+ \lstinputlisting{\LocFIMpycode/led-blue.py}
+\end{pycode}
+
+%%%%%%%%%end python code
+
+%%%%%begin julia code
+
+\subsection{Julia Code}
+\lstset{style=mystyle}
+\label{sec:test-firmware-julia}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{juliacode}
+ \ccaption{A code to check whether the firmware is properly installed
+ or not}{A code to check whether the firmware is properly installed
+ or not. Available at
+ \LocFIMjuliabrief{test\_firmware.jl}.}
+ \label{julia:test-firmware}
+ \lstinputlisting{\LocFIMjuliacode/test_firmware.jl}
+\end{juliacode}
+
+%%%%%end julia
+
+%%%%%begin OpenModelica code
+
+\subsection{OpenModelica Code}
+\lstset{style=mystyle}
+\label{sec:test-firmware-OpenModelica}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{OpenModelicacode}
+ \ccaption{A code to check whether the firmware is properly installed
+ or not}{A code to check whether the firmware is properly installed
+ or not. Available at
+ \LocFIMOpenModelicabrief{test\_firmware.mo}.}
+ \label{OpenModelica:test-firmware}
+ \lstinputlisting{\LocFIMOpenModelicacode/test_firmware.mo}
+\end{OpenModelicacode}
+
+%%%%%end OpenModelicamo
diff --git a/scilab-arduino/user-code/thermistor-old/arduino/therm-buzzer/therm-buzzer.ino b/scilab-arduino/user-code/thermistor-old/arduino/therm-buzzer/therm-buzzer.ino
new file mode 100644
index 0000000..831b670
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/arduino/therm-buzzer/therm-buzzer.ino
@@ -0,0 +1,28 @@
+int value;
+int i;
+
+void setup()
+{
+ pinMode(3,OUTPUT);
+ Serial.begin(115200);
+
+ for(i=1;i<100;i++)
+ {
+ value=analogRead(A4); //read value from thermistor
+ Serial.println(value); //display
+
+ if(value>550)
+ {
+ digitalWrite(3,HIGH); // Turn ON buzzer
+ }
+ else
+ {
+ digitalWrite(3,LOW); // Turn OFF buzzer
+ }
+ delay(500);
+ }
+}
+
+void loop()
+{
+}
diff --git a/scilab-arduino/user-code/thermistor-old/arduino/therm-read/therm-read.ino b/scilab-arduino/user-code/thermistor-old/arduino/therm-read/therm-read.ino
new file mode 100644
index 0000000..44405c1
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/arduino/therm-read/therm-read.ino
@@ -0,0 +1,18 @@
+int value;
+int i;
+
+void setup()
+{
+ Serial.begin(115200);
+ for(i=1;i<=40;i++)
+ {
+ value=analogRead(A4); //read value from thermistor
+ Serial.println(value); //display
+ delay(500);
+ }
+
+}
+
+void loop()
+{
+}
diff --git a/scilab-arduino/user-code/thermistor-old/figures/BUZZER Diagram.jpg b/scilab-arduino/user-code/thermistor-old/figures/BUZZER Diagram.jpg
new file mode 100644
index 0000000..22650ca
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/figures/BUZZER Diagram.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor-old/figures/NTC-bead.jpg b/scilab-arduino/user-code/thermistor-old/figures/NTC-bead.jpg
new file mode 100644
index 0000000..c7c8b1a
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/figures/NTC-bead.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor-old/figures/THERMISTOR-Diagram.jpg b/scilab-arduino/user-code/thermistor-old/figures/THERMISTOR-Diagram.jpg
new file mode 100644
index 0000000..83cdace
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/figures/THERMISTOR-Diagram.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor-old/figures/therm-buzzer-xcos.png b/scilab-arduino/user-code/thermistor-old/figures/therm-buzzer-xcos.png
new file mode 100644
index 0000000..ac24a74
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/figures/therm-buzzer-xcos.png
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor-old/figures/therm-buzzer.png b/scilab-arduino/user-code/thermistor-old/figures/therm-buzzer.png
new file mode 100644
index 0000000..9cec909
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/figures/therm-buzzer.png
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor-old/figures/therm-read-xcos.png b/scilab-arduino/user-code/thermistor-old/figures/therm-read-xcos.png
new file mode 100644
index 0000000..b0f931c
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/figures/therm-read-xcos.png
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor-old/figures/therm-read.png b/scilab-arduino/user-code/thermistor-old/figures/therm-read.png
new file mode 100644
index 0000000..5ebdb26
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/figures/therm-read.png
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor-old/figures/therm-sym.png b/scilab-arduino/user-code/thermistor-old/figures/therm-sym.png
new file mode 100644
index 0000000..0be21aa
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/figures/therm-sym.png
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor-old/scilab/therm-buzzer-xcos.zcos b/scilab-arduino/user-code/thermistor-old/scilab/therm-buzzer-xcos.zcos
new file mode 100644
index 0000000..2b8d5b3
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/scilab/therm-buzzer-xcos.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor-old/scilab/therm-buzzer.sce b/scilab-arduino/user-code/thermistor-old/scilab/therm-buzzer.sce
new file mode 100644
index 0000000..31fac70
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/scilab/therm-buzzer.sce
@@ -0,0 +1,13 @@
+ok=open_serial(1,2,115200); // port 2, baudrate 115200
+if ok~=0 then error('Unable to open serial port, please check'); end
+for i=1:500 //Run for 500 iterations
+ p=cmd_analog_in(1,4) // read analog pin 4 (thermistor)
+ disp(p);
+ if(p>550) // Setting Threshold value of 550
+ cmd_digital_out(1,3,1) // Turn ON BUZZER
+ else
+ cmd_digital_out(1,3,0) // Turn OFF BUZZER
+ end
+ sleep(500);
+end
+close_serial(1)
diff --git a/scilab-arduino/user-code/thermistor-old/scilab/therm-read-xcos.zcos b/scilab-arduino/user-code/thermistor-old/scilab/therm-read-xcos.zcos
new file mode 100644
index 0000000..c853ae8
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/scilab/therm-read-xcos.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor-old/scilab/therm-read.sce b/scilab-arduino/user-code/thermistor-old/scilab/therm-read.sce
new file mode 100644
index 0000000..9b124d3
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/scilab/therm-read.sce
@@ -0,0 +1,9 @@
+
+ok=open_serial(1,2,115200); // Port 2 with baudrate 115200
+if ok~=0 then error('Unable to open serial port. Please check') end
+for i=1:20 // Run for 20 iterations
+ p=cmd_analog_in(1,4); // read analog pin 4 (thermistor)
+ disp(p);
+ sleep(500) // Delay of 500 milliseconds
+end
+c = close_serial(1) // close serial connection
diff --git a/scilab-arduino/user-code/thermistor-old/thermistor.tex b/scilab-arduino/user-code/thermistor-old/thermistor.tex
new file mode 100644
index 0000000..432971b
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor-old/thermistor.tex
@@ -0,0 +1,226 @@
+\chapter {Interfacing a Thermistor}
+\thispagestyle{empty}
+\label{thermistor}
+
+\newcommand{\LocTHERMfig}{\Origin/user-code/thermistor/figures}
+\newcommand{\LocTHERMscicode}{\Origin/user-code/thermistor/scilab}
+\newcommand{\LocTHERMscibrief}{Origin/user-code/thermistor/scilab}
+\newcommand{\LocTHERMardcode}{\Origin/user-code/thermistor/arduino}
+\newcommand{\LocTHERMardbrief}{Origin/user-code/thermistor/arduino}
+
+A thermistor is basically a temperature dependent/sensitive resistor. It falls under the category of semiconductor sensors. Depending on the temperature in the vicinity of the thermistor, its resistance changes. Thermistors are available in two types, NTC and PTC. NTC stands for Negative Temperature Coefficient and PTC means Positive Temperature Coefficient. In NTC thermistors the resistance decreases with increase in temperature and vice versa. Whereas, for PTC the resistance increases with an increase in temperature and vice versa. The temperature ranges over $-55^{\circ}$celsius to $+125^{\circ}$celsius
+
+Thermistors are available in shapes of bead, rod, flakes and discs. Due to their compact size and low cost, they have a wide application where rough temperature sensing is required. They however suffer from noise and need noise compensation. In this chapter we shall interface a thermistor with the \arduino\ board.
+
+\section{Preliminaries}
+A typical thermistor and its symbolic repersentation are shown in \ref{fig:therm} and \ref{fig:thermsym} respectively. The thermistor is available on the shield provided with the kit. It is a bead type thermistor. The thermistor is connected to the analog pin 4 of the \arduino\ board.
+
+The connections for this experiment are shown in \ref{fig:therm-conn}. However, the user doesn't need to connect any wire or component explicitly.
+
+
+\begin{figure}
+\centering
+\subfloat[Pictorial representation of a thermistor]{
+\includegraphics[width=\smfig]{\LocTHERMfig/NTC-bead.jpg}
+\label{fig:therm}} \hfill
+\subfloat[Symbolic representation of a thermistor]{
+\includegraphics[width=\smfig]{\LocTHERMfig/therm-sym.png}
+\label{fig:thermsym}}
+\caption{Thermistor}
+\end{figure}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocTHERMfig/THERMISTOR-Diagram.jpg}
+\caption{Thermistor connection diagram}
+\label{fig:therm-conn}
+\end{figure}
+
+\section{Reading thermistor from Arduino IDE}
+In this section we will learn how to read values from the thermistor connected at pin 4 of the \arduino\ board. We shall also see how to drive a buzzer depending upon the thermistor values.
+
+\begin{enumerate}
+\item A simple code to read the values from thermistor is given in \ardref{ard:therm-read}. The arduino IDE based command for the analog read functionality is given by.
+\lstinputlisting[firstline=9,lastline=9] {\LocTHERMardcode/therm-read/therm-read.ino}
+where {\tt A4} represents the analog pin 4 to be read. The read value is stored in variable {\tt value} and is displayed using \lstinputlisting[firstline=10,lastline=10] {\LocTHERMardcode/therm-read/therm-read.ino}
+The command on next line
+
+\lstinputlisting[firstline=11,lastline=11] {\LocTHERMardcode/therm-read/therm-read.ino}
+ is used to put a delay of 500 milliseconds. This is to avoid very fast display of the read values. The entire reading and display operation is carried out 40 times.
+
+The values can be observed over the serial monitor. The numbers displayed range from 0 to 1023. The thermistor used has a resistance of 10k at room temperature. It is connected in a voltage divider form using another fixed 10k resistor. A voltage of 5 volts is applied accross the series combination of the thermistor and the fixed 10k resistor. Voltage accross the fixed resistor is sensed and is given to the ADC. Hence at room temperature, both the resistors offer 10k resistance resulting in dividing the 5V equally. Therefore, at room temperature you may get the output of ADC around 500. If a heating or cooling source is available, one can observe the increase or desrease in the ADC output. Although the thermistor is of NTC type, the ADC output increases with increase in temperature. This is because the voltage accross the fixed resistor is sensed.
+
+\item In this experiment, we will turn On and Off the buzzer depending on the temperature sensed by the thermistor. The program for this is available at \ardref{ard:therm-buzzer}. We shall use the ADC output to carry this out. The buzzer is connected on pin 3 which is a digital output pin. The ADC output value is displayed on the serial monitor. At the same time it is compared with value 550. Temperature of the thermistor is raised using body temperature by just holding it for a while. As soon as the ADC output exceeds 550, the buzzer is given a digital high signal, turning it On. A delay of half a second is introduced before the next value is read. This loop is executed 100 times.
+\end{enumerate}
+
+\begin{exercise}
+Carry out the following exercise:
+\begin{enumerate}
+\item Put the thermistor in the vicinity of an Ice bowl. Take care not to wet the shield while doing so. Note down the ADC output value for 0$^{\circ}$celsius.
+\end{enumerate}
+\end{exercise}
+
+\section {Reading thermistor from scilab scripts}
+In this section we will explain a few scilab scripts to read values from thermistor. The {\tt cmd\_analog\_in} command will be used to read from thermistor connected to an analog input pin. The experiments will be carried out using scilab.
+
+\begin{enumerate}
+\item \sciref{sci:therm-read} is used to read values from thermistor. First the serial port is opened using the command {\tt open\_serial} and passing the correct port number to it. The command {\tt cmd\_analog\_in} is used to read from the analog pin. The pin number is passed to this command as an argument. The read value is stored in some variable. The value is then displayed on the scilab console. A sleep of 500 millisecond is executed using the {\tt sleep} command and then the reading process is repeated 20 times by putting it in a {\tt for} loop. After the loop is finished the serial port is closed using the {\tt close\_serial} command.
+
+
+\item In this experiment we will use scilab script to turn on and off a buzzer using the thermistor values. The changes in the thermistor resistance is sensed as a voltage change between 0 to 5V. The ADC maps the thermistor voltage readings in to values ranging from 0 to 1023. This means 0 for 0 volts and 1023 for 5 volts. At room temperature the thermistor offers 10K resistance. The circuit arrangement makes the output voltage half of 5 volts i.e. around 2.5 volts. Hence the output is around 500. In this experiment we compare the ADC ouput value with 550 and as soon as the value exceeds 550 the buzzer is turned on. See \sciref{sci:therm-buzzer} for the complete code. We use {\tt if} loop to achieve this functionality. Command {\tt cmd\_digital\_out} is used to turn on and off the buzzer. Correct port number on which the buzzer is connected is passed to this command as an argument. The entire process is repeated 500 times.
+
+
+\begin{exercise}
+Carry out the exercise below:
+Convert the ADC output readings to degree celsius. There are two ways to do so.
+\begin{enumerate}
+\item In the first method,
+\begin{align}
+\frac{1}{T}=A+B*ln(R)+C*(ln(R))^3
+\label{therm-abc}
+\end{align}
+equation \ref{therm-abc} can be used if the value of A, B, C and R are known. The temperature T is in kelvin and thermistor resistance R is in ohms. The values of A, B and C can be found out by measuring thermistor resistance against three known values of temperatures. Once a set of three values of T and R are known it will result in three equations with three uknowns. The values of A, B, C can be found out by solving the three equations simultaneously. Once the values of A, B, C are known, the same equation can be used to directly convert resistance to kelvin. It can be then converted to celsius. This method is preffered when the temperature coefficient of thermistor is not known or is known very approximately. This method is bit cumbersome but can give accurate temperature conversion.
+
+\item In the second method,
+\begin{align}
+\frac{1}{T}=\frac{1}{T_0}+\frac{1}{\beta}*ln\left(\frac{R}{R_0}\right)
+\label{therm-beta}
+\end{align}
+equation \ref{therm-beta} can be used if the value of $\beta$ i.e. the Tempreature Coefficient of Resistance of the thermistor used is known. $R$ is the resistance of thermistor at temperature $T$ in kelvin. $R_0$ is the resistance of thermistor at room temperature $T_0$ in kelvin.
+\end{enumerate}
+\end{exercise}
+
+\end{enumerate}
+
+
+\section{Reading thermistor from Xcos}
+In this section we will carry out the same experiments discussed in the previous sections but through Xcos. One should go through \secref{sec:xcos-start} before continuing.
+
+\begin{enumerate}
+\item The xcos diagram for performing the simple thermistor read operation is as shown in \figref{fig:therm-read}. The location of the xcos file is mentioned in the caption of the figure.
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-read-xcos.png}
+ \caption[Xcos diagram to read thermistor values]{Xcos diagram to read thermistor values.
+ This is what one sees when
+ {\tt \LocTHERMscibrief/therm-read-xcos.zcos} is invoked.}
+ \label{fig:therm-read}
+ \end{figure}
+The parameters of the blocks can be changed by right clicking on the block and choosing {\tt Block Parameters}. One can also double click on the block. The values for each block is tabulated in \tabref{tab:therm-read}. All other parameters are to
+ be left unchanged.
+
+\begin{table}
+ \centering
+ \caption{Xcos parameters to read thermistor}
+ \label{tab:therm-read}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & {\tt your port number} \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 100 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ ANALOG\_READ\_SB & Analog Pin & 4 \\
+ & Arduino card number & 1 \\ \hline
+ CSCOPE & Ymin & 200 \\
+ & Ymax & 600 \\
+ & Refresh period & 100 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation Time & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-read.png}
+ \caption[Output of Xcos diagram to read thermistor values]{Output of Xcos diagram to read thermistor values.
+ This is what one sees when
+ {\tt \LocTHERMscibrief/therm-read-xcos.zcos} is executed.}
+ \label{fig:therm-read-output}
+ \end{figure}
+The thermistor readings can be varied by bringing a heating or cooling source in the vicinity of it. The graph as shown in \figref{fig:therm-read-output} will show the variations in the ADC output that is displayed.
+
+\item In the second experiment, we will switch On and Off a buzzer depending on the thermistor readings (ADC output). The xcos diagram for this experiment is as shown in \figref{fig:therm-buzzer}.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-buzzer-xcos.png}
+% \includegraphics[width=\smfig]{\LocLDRfig/ldr-led-xcos.PNG}
+ \caption[Xcos diagram to read the value of thermistor, which is used to turn the buzzer on or off] {Xcos diagram to read the value of the thermistor, which is used to turn the buzzer on or off. This is what one sees when {\tt \LocTHERMscibrief/therm-buzzer-xcos.zcos} is invoked.}
+ \label{fig:therm-buzzer}
+ \end{figure}
+The parameters of the blocks can be changed by right clicking on the block and choosing {\tt Block Parameters}. One can also double click on the block. The values for each block is tabulated in \tabref{tab:therm-read}. All other parameters are to
+ be left unchanged.
+
+\begin{table}
+ \centering
+ \caption{Xcos parameters to read thermistor and switch the buzzer}
+ \label{tab:ldr-led}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & {\tt your port number} \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 100 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ ANALOG\_READ\_SB & Analog pin & 4 \\
+ & Arduino card number & 1 \\ \hline
+ CMSCOPE & Ymin & 0 300 \\
+ & Ymax & 1 600 \\
+ & Refresh period & 100 100 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation time & 0 \\ \hline
+ SWITCH2\_m & Datatype & 1 \\
+ & threshold & 550 \\
+ & pass first input if field & 0 \\
+ & use zero crossing & 1 \\ \hline
+ DIGITAL\_WRITE\_SB & Digital pin & 3 \\
+ & Arduino card number & 1 \\ \hline
+ \end{tabular}
+ \end{table}
+The graph as shown in \figref{fig:therm-buzzer-output} will show the variations in the ADC output that is displayed and the corresponding switching of buzzer whenever the limits are crossed.
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-buzzer.png}
+ \caption[Output of Xcos diagram to switch buzzer through thermistor values]{Output of Xcos diagram to switch buzzer through thermistor values. This is what one sees when {\tt \LocTHERMscibrief/therm-buzzer-xcos.zcos} is executed.}
+ \label{fig:therm-buzzer-output}
+ \end{figure}
+\end{enumerate}
+
+\section{Arduino Code}
+\label{sec:therm-arduino-code}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+\acaption{Read and display the thermistor values}
+{Read and display the thermistor values. Available at
+ \LocTHERMardbrief/therm-read/therm-read.ino}
+\label{ard:therm-read}
+\lstinputlisting{\LocTHERMardcode/therm-read/therm-read.ino}
+\end{ardcode}
+
+\begin{ardcode}
+\acaption{Turning the buzzer on and off using thermistor values}
+{Turning the buzzer on and off using the thermistor values read by ADC. Available at
+ \LocTHERMardbrief/therm-buzzer/therm-buzzer.ino.}
+\label{ard:therm-buzzer}
+\lstinputlisting{\LocTHERMardcode/therm-buzzer/therm-buzzer.ino}
+\end{ardcode}
+
+
+\section{Scilab Code}
+\label{sec:therm-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+\ccaption{Read and display the thermistor values}
+{Read and display the thermistor values. Available at
+ \LocTHERMscibrief/therm-read.sce}
+\label{sci:therm-read}
+\lstinputlisting{\LocTHERMscicode/therm-read.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Turning the buzzer on and off using thermistor values}
+{Turning the buzzer on and off using the thermistor values read by ADC. Available at
+ \LocTHERMscibrief/therm-buzzer.sce.}
+\label{sci:therm-buzzer}
+\lstinputlisting{\LocTHERMscicode/therm-buzzer.sce}
+\end{scicode}
diff --git a/scilab-arduino/user-code/thermistor/OpenModelica/therm-buzzer.mo b/scilab-arduino/user-code/thermistor/OpenModelica/therm-buzzer.mo
new file mode 100644
index 0000000..c752fc3
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/OpenModelica/therm-buzzer.mo
@@ -0,0 +1,33 @@
+model therm_buzzer "Sound buzzer depending on thermistor readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer digital_out(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ for i in 1:500 loop
+ analog_in := sComm.cmd_analog_in(1, 4) "read analog pin 4";
+ if analog_in > 500 then
+ digital_out := sComm.cmd_digital_out(1, 3, 1) "Turn ON Buzzer";
+ else
+ digital_out := sComm.cmd_digital_out(1, 3, 0) "Turn OFF Buzzer";
+ end if;
+ sComm.delay(200);
+ end for;
+ end if;
+ end when;
+ //Run for 500 iterations
+ //Setting Threshold value of 500
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.02));
+end therm_buzzer; \ No newline at end of file
diff --git a/scilab-arduino/user-code/thermistor/OpenModelica/therm-read.mo b/scilab-arduino/user-code/thermistor/OpenModelica/therm-read.mo
new file mode 100644
index 0000000..0cc0492
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/OpenModelica/therm-read.mo
@@ -0,0 +1,27 @@
+model therm_read "Thermistor Readings"
+ extends Modelica.Icons.Example;
+ import sComm = Arduino.SerialCommunication.Functions;
+ import strm = Modelica.Utilities.Streams;
+ Integer ok(fixed = false);
+ Integer analog_in(fixed = false);
+ Integer c_ok(fixed = false);
+algorithm
+ when initial() then
+ ok := sComm.open_serial(1, 0, 115200) "At port 0 with baudrate of 115200";
+ sComm.delay(2000);
+ if ok <> 0 then
+ strm.print("Unable to open serial port, please check");
+ else
+ for i in 1:20 loop
+ analog_in := sComm.cmd_analog_in(1, 4) "read analog pin 5 (ldr)";
+ strm.print("Thermistor Readings " + " : " + String(analog_in));
+ sComm.delay(500);
+ end for;
+ end if;
+ end when;
+ when terminal() then
+ c_ok := sComm.close_serial(1) "To close the connection safely";
+ end when;
+ //Run for 20 iterations
+ annotation(experiment(StartTime = 0, StopTime = 10, Tolerance = 1e-6, Interval = 0.5));
+end therm_read; \ No newline at end of file
diff --git a/scilab-arduino/user-code/thermistor/arduino/therm-buzzer/therm-buzzer.ino b/scilab-arduino/user-code/thermistor/arduino/therm-buzzer/therm-buzzer.ino
new file mode 100644
index 0000000..831b670
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/arduino/therm-buzzer/therm-buzzer.ino
@@ -0,0 +1,28 @@
+int value;
+int i;
+
+void setup()
+{
+ pinMode(3,OUTPUT);
+ Serial.begin(115200);
+
+ for(i=1;i<100;i++)
+ {
+ value=analogRead(A4); //read value from thermistor
+ Serial.println(value); //display
+
+ if(value>550)
+ {
+ digitalWrite(3,HIGH); // Turn ON buzzer
+ }
+ else
+ {
+ digitalWrite(3,LOW); // Turn OFF buzzer
+ }
+ delay(500);
+ }
+}
+
+void loop()
+{
+}
diff --git a/scilab-arduino/user-code/thermistor/arduino/therm-read/therm-read.ino b/scilab-arduino/user-code/thermistor/arduino/therm-read/therm-read.ino
new file mode 100644
index 0000000..44405c1
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/arduino/therm-read/therm-read.ino
@@ -0,0 +1,18 @@
+int value;
+int i;
+
+void setup()
+{
+ Serial.begin(115200);
+ for(i=1;i<=40;i++)
+ {
+ value=analogRead(A4); //read value from thermistor
+ Serial.println(value); //display
+ delay(500);
+ }
+
+}
+
+void loop()
+{
+}
diff --git a/scilab-arduino/user-code/thermistor/auto/thermistor.el b/scilab-arduino/user-code/thermistor/auto/thermistor.el
new file mode 100644
index 0000000..5910b4a
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/auto/thermistor.el
@@ -0,0 +1,28 @@
+(TeX-add-style-hook "thermistor"
+ (lambda ()
+ (LaTeX-add-labels
+ "fig:therm"
+ "fig:thermsym"
+ "fig:therm-conn"
+ "fig:buzzer-conn"
+ "therm-abc"
+ "therm-beta"
+ "fig:therm-read"
+ "tab:therm-read"
+ "fig:therm-read-output"
+ "fig:therm-buzzer"
+ "tab:ldr-led"
+ "fig:therm-buzzer-output"
+ "sec:therm-arduino-code"
+ "ard:therm-read"
+ "ard:therm-buzzer"
+ "sec:therm-scilab-code"
+ "sci:therm-read"
+ "sci:therm-buzzer")
+ (TeX-add-symbols
+ '("LocTHERMardbrief" 1)
+ '("LocTHERMscibrief" 1)
+ "LocTHERMfig"
+ "LocTHERMscicode"
+ "LocTHERMardcode")))
+
diff --git a/scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram-crop.pdf b/scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram-crop.pdf
new file mode 100644
index 0000000..863d96a
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram-crop.pdf
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram-crop.tiff b/scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram-crop.tiff
new file mode 100644
index 0000000..cc908b7
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram-crop.tiff
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram.jpg b/scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram.jpg
new file mode 100644
index 0000000..4e7a6d4
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/BUZZER-Diagram.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/NTC-bead.jpg b/scilab-arduino/user-code/thermistor/figures/NTC-bead.jpg
new file mode 100644
index 0000000..c7c8b1a
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/NTC-bead.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram-crop.pdf b/scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram-crop.pdf
new file mode 100644
index 0000000..b050e85
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram-crop.pdf
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram-crop.tiff b/scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram-crop.tiff
new file mode 100644
index 0000000..8e317b7
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram-crop.tiff
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram.jpg b/scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram.jpg
new file mode 100644
index 0000000..12d6448
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/THERMISTOR-Diagram.jpg
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/therm-buzzer-xcos.png b/scilab-arduino/user-code/thermistor/figures/therm-buzzer-xcos.png
new file mode 100644
index 0000000..ac24a74
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/therm-buzzer-xcos.png
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/therm-buzzer.png b/scilab-arduino/user-code/thermistor/figures/therm-buzzer.png
new file mode 100644
index 0000000..9cec909
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/therm-buzzer.png
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/therm-read-xcos.png b/scilab-arduino/user-code/thermistor/figures/therm-read-xcos.png
new file mode 100644
index 0000000..b0f931c
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/therm-read-xcos.png
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/therm-read.png b/scilab-arduino/user-code/thermistor/figures/therm-read.png
new file mode 100644
index 0000000..5ebdb26
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/therm-read.png
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/figures/therm-sym.png b/scilab-arduino/user-code/thermistor/figures/therm-sym.png
new file mode 100644
index 0000000..0be21aa
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/figures/therm-sym.png
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/julia/therm-buzzer.jl b/scilab-arduino/user-code/thermistor/julia/therm-buzzer.jl
new file mode 100644
index 0000000..4381698
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/julia/therm-buzzer.jl
@@ -0,0 +1,15 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+pinMode(ser,3,"OUTPUT")
+for i = 1:50
+ p = analogRead(ser,4)
+ println(p)
+ if p > 550
+ digiWrite(ser,3,1)
+ else
+ digiWrite(ser,3,0)
+ end
+end
+close(ser)
diff --git a/scilab-arduino/user-code/thermistor/julia/therm-read.jl b/scilab-arduino/user-code/thermistor/julia/therm-read.jl
new file mode 100644
index 0000000..19c95ff
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/julia/therm-read.jl
@@ -0,0 +1,11 @@
+using SerialPorts
+using ArduinoTools
+
+ser = connectBoard(115200)
+
+for i = 1:20
+ p = analogRead(ser,4)
+ println(p)
+ sleep(0.5)
+end
+close(ser)
diff --git a/scilab-arduino/user-code/thermistor/python/therm-buzzer.py b/scilab-arduino/user-code/thermistor/python/therm-buzzer.py
new file mode 100644
index 0000000..faa430a
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/python/therm-buzzer.py
@@ -0,0 +1,46 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class THERM_BUZZER:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.therm=4
+ self.buzzer=3
+
+ for i in range(20):
+ val=self.obj_arduino.cmd_analog_in(1,self.therm)
+ print (val)
+
+ if (int(val) > 550):
+ self.obj_arduino.cmd_digital_out(1,self.buzzer,1)
+
+
+ else:
+ self.obj_arduino.cmd_digital_out(1,self.buzzer,0)
+ sleep(2)
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pot=THERM_BUZZER(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/thermistor/python/therm-read.py b/scilab-arduino/user-code/thermistor/python/therm-read.py
new file mode 100644
index 0000000..8d8da20
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/python/therm-read.py
@@ -0,0 +1,40 @@
+import os
+import sys
+cwd=os.getcwd()
+(setpath,Examples)=os.path.split(cwd)
+#print setpath
+sys.path.append(setpath)
+
+from Arduino.Arduino import Arduino
+from time import sleep
+
+class THERM_BUZZER:
+ def __init__(self,baudrate):
+ self.baudrate=baudrate
+ self.setup()
+ self.run()
+ self.exit()
+
+ def setup(self):
+ self.obj_arduino=Arduino()
+ self.port=self.obj_arduino.locateport()
+ self.obj_arduino.open_serial(1,self.port,self.baudrate)
+
+ def run(self):
+ self.therm=4
+
+
+ for i in range(20):
+ val=self.obj_arduino.cmd_analog_in(1,self.therm)
+ print (val)
+ sleep(0.5)
+
+
+ def exit(self):
+ self.obj_arduino.close_serial()
+
+def main():
+ obj_pot=THERM_BUZZER(115200)
+
+if __name__=='__main__':
+ main()
diff --git a/scilab-arduino/user-code/thermistor/scilab/therm-buzzer-xcos.zcos b/scilab-arduino/user-code/thermistor/scilab/therm-buzzer-xcos.zcos
new file mode 100644
index 0000000..2b8d5b3
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/scilab/therm-buzzer-xcos.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/scilab/therm-buzzer.sce b/scilab-arduino/user-code/thermistor/scilab/therm-buzzer.sce
new file mode 100644
index 0000000..31fac70
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/scilab/therm-buzzer.sce
@@ -0,0 +1,13 @@
+ok=open_serial(1,2,115200); // port 2, baudrate 115200
+if ok~=0 then error('Unable to open serial port, please check'); end
+for i=1:500 //Run for 500 iterations
+ p=cmd_analog_in(1,4) // read analog pin 4 (thermistor)
+ disp(p);
+ if(p>550) // Setting Threshold value of 550
+ cmd_digital_out(1,3,1) // Turn ON BUZZER
+ else
+ cmd_digital_out(1,3,0) // Turn OFF BUZZER
+ end
+ sleep(500);
+end
+close_serial(1)
diff --git a/scilab-arduino/user-code/thermistor/scilab/therm-read-xcos.zcos b/scilab-arduino/user-code/thermistor/scilab/therm-read-xcos.zcos
new file mode 100644
index 0000000..c853ae8
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/scilab/therm-read-xcos.zcos
Binary files differ
diff --git a/scilab-arduino/user-code/thermistor/scilab/therm-read.sce b/scilab-arduino/user-code/thermistor/scilab/therm-read.sce
new file mode 100644
index 0000000..9b124d3
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/scilab/therm-read.sce
@@ -0,0 +1,9 @@
+
+ok=open_serial(1,2,115200); // Port 2 with baudrate 115200
+if ok~=0 then error('Unable to open serial port. Please check') end
+for i=1:20 // Run for 20 iterations
+ p=cmd_analog_in(1,4); // read analog pin 4 (thermistor)
+ disp(p);
+ sleep(500) // Delay of 500 milliseconds
+end
+c = close_serial(1) // close serial connection
diff --git a/scilab-arduino/user-code/thermistor/thermistor-old.tex b/scilab-arduino/user-code/thermistor/thermistor-old.tex
new file mode 100644
index 0000000..ebeb024
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/thermistor-old.tex
@@ -0,0 +1,234 @@
+\chapter {Interfacing a Thermistor}
+\thispagestyle{empty}
+\label{thermistor}
+
+\newcommand{\LocTHERMfig}{\Origin/user-code/thermistor/figures}
+\newcommand{\LocTHERMscicode}{\Origin/user-code/thermistor/scilab}
+\newcommand{\LocTHERMscibrief}{Origin/user-code/thermistor/scilab}
+\newcommand{\LocTHERMardcode}{\Origin/user-code/thermistor/arduino}
+\newcommand{\LocTHERMardbrief}{Origin/user-code/thermistor/arduino}
+
+A thermistor is basically a temperature dependent/sensitive resistor. It falls under the category of semiconductor sensors. Depending on the temperature in the vicinity of the thermistor, its resistance changes. Thermistors are available in two types, NTC and PTC. NTC stands for Negative Temperature Coefficient and PTC means Positive Temperature Coefficient. In NTC thermistors the resistance decreases with increase in temperature and vice versa. Whereas, for PTC the resistance increases with an increase in temperature and vice versa. The temperature ranges over $-55^{\circ}$celsius to $+125^{\circ}$celsius
+
+Thermistors are available in shapes of bead, rod, flakes and discs. Due to their compact size and low cost, they have a wide application where rough temperature sensing is required. They however suffer from noise and need noise compensation. In this chapter we shall interface a thermistor with the \arduino\ board.
+
+\section{Preliminaries}
+A typical thermistor and its symbolic repersentation are shown in \ref{fig:therm} and \ref{fig:thermsym} respectively. The thermistor is available on the shield provided with the kit. It is a bead type thermistor having a resistance of 10k at room temperature. A voltage divider network if formed using thermistor and another fixed 10k resistor. A voltage of 5 volts is applied accross the series combination of the thermistor and the fixed 10k resistor. Voltage accross the fixed resistor is sensed and is given to the ADC via pin 4. Hence at room temperature, both the resistors offer 10k resistance resulting in dividing the 5V equally. A buzzer is also connected on pin 3 which is a digital output pin.
+
+The connections for this experiment are shown in \ref{fig:therm-conn} and \ref{fig:buzzer-conn}. However, the user doesn't need to connect any wire or component explicitly.
+
+
+\begin{figure}
+\centering
+\subfloat[Pictorial representation of a thermistor\cite{therm-wiki}]{
+\includegraphics[width=\smfig]{\LocTHERMfig/NTC-bead.jpg}
+\label{fig:therm}} \hfill
+\subfloat[Symbolic representation of a thermistor]{
+\includegraphics[width=\smfig]{\LocTHERMfig/therm-sym.png}
+\label{fig:thermsym}}
+\caption{Thermistor}
+\end{figure}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocTHERMfig/THERMISTOR-Diagram.jpg}
+\caption{Thermistor connection diagram}
+\label{fig:therm-conn}
+\end{figure}
+
+
+\begin{figure}
+\centering
+\includegraphics[width=\smfig]{\LocTHERMfig/BUZZER-Diagram.jpg}
+\caption{Buzzer connection diagram}
+\label{fig:buzzer-conn}
+\end{figure}
+
+\section{Reading thermistor from Arduino IDE}
+In this section we will learn how to read values from the thermistor connected at pin 4 of the \arduino\ board. We shall also see how to drive a buzzer depending upon the thermistor values.
+
+\begin{enumerate}
+\item A simple code to read the values from thermistor is given in \ardref{ard:therm-read}. The arduino IDE based command for the analog read functionality is given by.
+\lstinputlisting[firstline=9,lastline=9] {\LocTHERMardcode/therm-read/therm-read.ino}
+where {\tt A4} represents the analog pin 4 to be read. The read value is stored in variable {\tt value} and is displayed using \lstinputlisting[firstline=10,lastline=10] {\LocTHERMardcode/therm-read/therm-read.ino}
+The command on next line
+
+\lstinputlisting[firstline=11,lastline=11] {\LocTHERMardcode/therm-read/therm-read.ino}
+ is used to put a delay of 500 milliseconds. This is to avoid very fast display of the read values. The entire reading and display operation is carried out 40 times.
+
+The values can be observed over the serial monitor. The numbers displayed range from 0 to 1023. At room temperature you may get the output of ADC around 500. If a heating or cooling source is available, one can observe the increase or desrease in the ADC output. Although the thermistor is of NTC type, the ADC output increases with increase in temperature. This is because the voltage accross the fixed resistor is sensed.
+
+\item In this experiment, we will turn On and Off the buzzer depending on the temperature sensed by the thermistor. The program for this is available at \ardref{ard:therm-buzzer}. We shall use the ADC output to carry this out. The buzzer is connected on pin 3 which is a digital output pin. The ADC output value is displayed on the serial monitor. At the same time it is compared with value 550. Temperature of the thermistor can be raised by just holding it for a while. Doing so will transfer heat from the person holding the thermistor, thereby raising the temperature of the thermistor. As soon as the ADC output exceeds 550, the buzzer is given a digital high signal, turning it On. A delay of half a second is introduced before the next value is read. This loop is executed 100 times.
+\end{enumerate}
+
+\begin{exercise}
+Carry out the following exercise:
+\begin{enumerate}
+\item Put the thermistor in the vicinity of an Ice bowl. Take care not to wet the shield while doing so. Note down the ADC output value for 0$^{\circ}$celsius.
+\end{enumerate}
+\end{exercise}
+
+\section {Reading thermistor from scilab scripts}
+In this section we will explain a few scilab scripts to read values from thermistor. The {\tt cmd\_analog\_in} command will be used to read from thermistor connected to an analog input pin. The experiments will be carried out using scilab.
+
+\begin{enumerate}
+\item \sciref{sci:therm-read} is used to read values from thermistor. First the serial port is opened using the command {\tt open\_serial} and passing the correct port number to it. The command {\tt cmd\_analog\_in} is used to read from the analog pin. The pin number is passed to this command as an argument. The read value is stored in some variable. The value is then displayed on the scilab console. A sleep of 500 millisecond is executed using the {\tt sleep} command and then the reading process is repeated 20 times by putting it in a {\tt for} loop. After the loop is finished the serial port is closed using the {\tt close\_serial} command.
+
+
+\item In this experiment we will use scilab script to turn on and off a buzzer using the thermistor values. The changes in the thermistor resistance is sensed as a voltage change between 0 to 5V. The ADC maps the thermistor voltage readings in to values ranging from 0 to 1023. This means 0 for 0 volts and 1023 for 5 volts. In this experiment we compare the ADC ouput value with 550 and as soon as the value exceeds 550 the buzzer is turned on. See \sciref{sci:therm-buzzer} for the complete code. We use {\tt if} loop to achieve this functionality. Command {\tt cmd\_digital\_out} is used to turn on and off the buzzer. Correct port number on which the buzzer is connected is passed to this command as an argument. The entire process is repeated 500 times.
+
+
+\begin{exercise}
+Carry out the exercise below:
+Convert the ADC output readings to degree celsius. There are two ways to do so.
+\begin{enumerate}
+\item In the first method,
+\begin{align}
+\frac{1}{T}=A+B*ln(R)+C*(ln(R))^3
+\label{therm-abc}
+\end{align}
+equation \ref{therm-abc} can be used if the value of A, B, C and R are known. The temperature T is in kelvin and thermistor resistance R is in ohms. The values of A, B and C can be found out by measuring thermistor resistance against three known values of temperatures. The values of temperature must be within the operating range and should typically include the room temperature. Once a set of three values of T and R are known it will result in three equations with three uknowns. The values of A, B, C can be found out by solving the three equations simultaneously. Once the values of A, B, C are known, the same equation can be used to directly convert resistance to kelvin. It can be then converted to celsius. This method is preffered when the temperature coefficient of thermistor is not known or is known very approximately. This method is bit cumbersome but can give accurate temperature conversion.
+
+\item In the second method,
+\begin{align}
+\frac{1}{T}=\frac{1}{T_0}+\frac{1}{\beta}*ln\left(\frac{R}{R_0}\right)
+\label{therm-beta}
+\end{align}
+equation \ref{therm-beta} can be used if the value of $\beta$ i.e. the Tempreature Coefficient of Resistance of the thermistor used is known. The value of $\beta$ can be found in the datasheet of the thermistor used. $R$ is the resistance of thermistor at temperature $T$ in kelvin. $R_0$ is the resistance of thermistor at room temperature $T_0$ in kelvin.
+\end{enumerate}
+\end{exercise}
+
+\end{enumerate}
+
+
+\section{Reading thermistor from Xcos}
+In this section we will carry out the same experiments discussed in the previous sections but through Xcos. One should go through \secref{sec:xcos-start} before continuing.
+
+\begin{enumerate}
+\item The xcos diagram for performing the simple thermistor read operation is as shown in \figref{fig:therm-read}. The location of the xcos file is mentioned in the caption of the figure.
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-read-xcos.png}
+ \caption[Xcos diagram to read thermistor values]{Xcos diagram to read thermistor values.
+ This is what one sees when
+ {\tt \LocTHERMscibrief/therm-read-xcos.zcos} is invoked.}
+ \label{fig:therm-read}
+ \end{figure}
+The parameters of the blocks can be changed by right clicking on the block and choosing {\tt Block Parameters}. One can also double click on the block. The values for each block is tabulated in \tabref{tab:therm-read}. All other parameters are to
+ be left unchanged.
+
+\begin{table}
+ \centering
+ \caption{Xcos parameters to read thermistor}
+ \label{tab:therm-read}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & {\tt your port number} \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 100 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ ANALOG\_READ\_SB & Analog Pin & 4 \\
+ & Arduino card number & 1 \\ \hline
+ CSCOPE & Ymin & 200 \\
+ & Ymax & 600 \\
+ & Refresh period & 100 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation Time & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-read.png}
+ \caption[Output of Xcos diagram to read thermistor values]{Output of Xcos diagram to read thermistor values.
+ This is what one sees when
+ {\tt \LocTHERMscibrief/therm-read-xcos.zcos} is executed.}
+ \label{fig:therm-read-output}
+ \end{figure}
+The thermistor readings can be varied by bringing a heating or cooling source in the vicinity of it. The graph as shown in \figref{fig:therm-read-output} will show the variations in the ADC output that is displayed.
+
+\item In the second experiment, we will switch On and Off a buzzer depending on the thermistor readings (ADC output). The xcos diagram for this experiment is as shown in \figref{fig:therm-buzzer}.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-buzzer-xcos.png}
+% \includegraphics[width=\smfig]{\LocLDRfig/ldr-led-xcos.PNG}
+ \caption[Xcos diagram to read the value of thermistor, which is used to turn the buzzer on or off] {Xcos diagram to read the value of the thermistor, which is used to turn the buzzer on or off. This is what one sees when {\tt \LocTHERMscibrief/therm-buzzer-xcos.zcos} is invoked.}
+ \label{fig:therm-buzzer}
+ \end{figure}
+The parameters of the blocks can be changed by right clicking on the block and choosing {\tt Block Parameters}. One can also double click on the block. The values for each block is tabulated in \tabref{tab:therm-read}. All other parameters are to
+ be left unchanged.
+
+\begin{table}
+ \centering
+ \caption{Xcos parameters to read thermistor and switch the buzzer}
+ \label{tab:ldr-led}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & {\tt your port number} \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 100 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ ANALOG\_READ\_SB & Analog pin & 4 \\
+ & Arduino card number & 1 \\ \hline
+ CMSCOPE & Ymin & 0 300 \\
+ & Ymax & 1 600 \\
+ & Refresh period & 100 100 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation time & 0 \\ \hline
+ SWITCH2\_m & Datatype & 1 \\
+ & threshold & 550 \\
+ & pass first input if field & 0 \\
+ & use zero crossing & 1 \\ \hline
+ DIGITAL\_WRITE\_SB & Digital pin & 3 \\
+ & Arduino card number & 1 \\ \hline
+ \end{tabular}
+ \end{table}
+The graph as shown in \figref{fig:therm-buzzer-output} will show the variations in the ADC output that is displayed and the corresponding switching of buzzer whenever the limits are crossed.
+\begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-buzzer.png}
+ \caption[Output of Xcos diagram to switch buzzer through thermistor values]{Output of Xcos diagram to switch buzzer through thermistor values. This is what one sees when {\tt \LocTHERMscibrief/therm-buzzer-xcos.zcos} is executed.}
+ \label{fig:therm-buzzer-output}
+ \end{figure}
+\end{enumerate}
+
+\section{Arduino Code}
+\label{sec:therm-arduino-code}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+\acaption{Read and display the thermistor values}
+{Read and display the thermistor values. Available at
+ \LocTHERMardbrief/therm-read/therm-read.ino}
+\label{ard:therm-read}
+\lstinputlisting{\LocTHERMardcode/therm-read/therm-read.ino}
+\end{ardcode}
+
+\begin{ardcode}
+\acaption{Turning the buzzer on and off using thermistor values}
+{Turning the buzzer on and off using the thermistor values read by ADC. Available at
+ \LocTHERMardbrief/therm-buzzer/therm-buzzer.ino.}
+\label{ard:therm-buzzer}
+\lstinputlisting{\LocTHERMardcode/therm-buzzer/therm-buzzer.ino}
+\end{ardcode}
+
+
+\section{Scilab Code}
+\label{sec:therm-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+\ccaption{Read and display the thermistor values}
+{Read and display the thermistor values. Available at
+ \LocTHERMscibrief/therm-read.sce}
+\label{sci:therm-read}
+\lstinputlisting{\LocTHERMscicode/therm-read.sce}
+\end{scicode}
+
+\begin{scicode}
+\ccaption{Turning the buzzer on and off using thermistor values}
+{Turning the buzzer on and off using the thermistor values read by ADC. Available at
+ \LocTHERMscibrief/therm-buzzer.sce.}
+\label{sci:therm-buzzer}
+\lstinputlisting{\LocTHERMscicode/therm-buzzer.sce}
+\end{scicode}
diff --git a/scilab-arduino/user-code/thermistor/thermistor.log b/scilab-arduino/user-code/thermistor/thermistor.log
new file mode 100644
index 0000000..3f6a525
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/thermistor.log
@@ -0,0 +1,11886 @@
+This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010) (format=pdflatex 2011.1.23) 17 NOV 2015 22:40
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**\input thermistor.tex
+(./thermistor.tex
+! Undefined control sequence.
+l.1 \chapter
+ {Interfacing a Thermistor}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.1 \chapter {I
+ nterfacing a Thermistor}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 1--4
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.11 A
+ thermistor, usually made of semiconductors or metallic oxides, is a t...
+
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <7> on input line 11.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <5> on input line 11.
+Missing character: There is no C in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 11--12
+[]
+ []
+
+
+Overfull \hbox (22.37506pt too wide) in paragraph at lines 11--12
+\OMS/cmsy/m/n/10 ^^@\OT1/cmr/m/n/10 55[]$
+ []
+
+
+Overfull \hbox (27.37508pt too wide) in paragraph at lines 11--12
+\OT1/cmr/m/n/10 +125[]$
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.13 T
+ hermistors are available in a variety of shapes such as beads, rods, f...
+
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.13 ...l interface a thermistor with the \arduino
+ \ board.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 13--14
+[]
+ []
+
+! Undefined control sequence.
+l.15 \section
+ {Preliminaries}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.15 \section{P
+ reliminaries}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+<write> ...Reference `fig:therm' on page \thepage
+ \space undefined\on@line .
+l.16 ...epersentation are shown in \ref{fig:therm}
+ and \ref{fig:thermsym} re...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Reference `fig:therm' on page undefined on input line 16.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+<write> ...erence `fig:thermsym' on page \thepage
+ \space undefined\on@line .
+l.16 ... in \ref{fig:therm} and \ref{fig:thermsym}
+ respectively. The thermis...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Reference `fig:thermsym' on page undefined on input line 16.
+
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 15--17
+[]
+ []
+
+
+Overfull \hbox (10.86105pt too wide) in paragraph at lines 15--17
+[]
+ []
+
+
+Overfull \hbox (10.86105pt too wide) in paragraph at lines 15--17
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.18 T
+ he connections for this experiment are shown in \ref{fig:therm-conn} a...
+
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+<write> ...ence `fig:therm-conn' on page \thepage
+ \space undefined\on@line .
+l.18 ...periment are shown in \ref{fig:therm-conn}
+ and \ref{fig:buzzer-conn}...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Reference `fig:therm-conn' on page undefined on input line 18.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+<write> ...nce `fig:buzzer-conn' on page \thepage
+ \space undefined\on@line .
+l.18 ...{fig:therm-conn} and \ref{fig:buzzer-conn}
+ . However, the user doesn'...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Reference `fig:buzzer-conn' on page undefined on input line 18.
+
+
+Missing character: There is no . in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ' in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 18--19
+[]
+ []
+
+
+Overfull \hbox (10.86105pt too wide) in paragraph at lines 18--19
+[]
+ []
+
+
+Overfull \hbox (10.86105pt too wide) in paragraph at lines 18--19
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.21 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.23 \subfloat
+ [Pictorial representation of a thermistor\cite{therm-wiki}]{
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.23 \subfloat[
+ Pictorial representation of a thermistor\cite{therm-wiki}]{
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no [ in font nullfont!
+\citation{therm-wiki}
+! Undefined control sequence.
+<write> ...: Citation `\@citeb ' on page \thepage
+ \space undefined\on@line .
+l.23 ...sentation of a thermistor\cite{therm-wiki}
+ ]{
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Citation `therm-wiki' on page undefined on input line 23.
+
+Missing character: There is no ] in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+l.24 \includegraphics
+ [width=\smfig]{\LocTHERMfig/NTC-bead.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.24 \includegraphics[width=\smfig
+ ]{\LocTHERMfig/NTC-bead.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMfig ->\Origin
+ /user-code/thermistor/figures
+l.24 \includegraphics[width=\smfig]{\LocTHERMfig
+ /NTC-bead.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+! Undefined control sequence.
+l.26 \subfloat
+ [Symbolic representation of a thermistor]{
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+l.27 \includegraphics
+ [width=\tnfig]{\LocTHERMfig/therm-sym.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.27 \includegraphics[width=\tnfig
+ ]{\LocTHERMfig/therm-sym.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMfig ->\Origin
+ /user-code/thermistor/figures
+l.27 \includegraphics[width=\tnfig]{\LocTHERMfig
+ /therm-sym.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.29 \caption
+ {Pictorial and symbolic representation of a thermistor}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.30 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (5.43053pt too wide) in paragraph at lines 23--31
+[]
+ []
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.33 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.35 \subfloat
+ [Thermistor connection diagram]{
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.35 \subfloat[
+ Thermistor connection diagram]{
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+l.36 \includegraphics
+ [width=\lgfig,angle=-90]
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.36 \includegraphics[width=\lgfig
+ ,angle=-90]
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 9 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMfig ->\Origin
+ /user-code/thermistor/figures
+l.37 {\LocTHERMfig
+ /THERMISTOR-Diagram.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+! Undefined control sequence.
+l.39 \subfloat
+ [Buzzer connection diagram]{
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+l.40 \includegraphics
+ [width=\lgfig,angle=-90]
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.40 \includegraphics[width=\lgfig
+ ,angle=-90]
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no , in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no 9 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMfig ->\Origin
+ /user-code/thermistor/figures
+l.41 {\LocTHERMfig
+ /BUZZER-Diagram.jpg}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no Z in font nullfont!
+Missing character: There is no Z in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.43 \caption
+ {Thermistor and buzzer connection diagrams}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.44 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.46 \section
+ {Reading thermistor from Arduino IDE}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.46 \section{R
+ eading thermistor from Arduino IDE}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.47 ...rmistor connected at pin 4 of the \arduino
+ \ board. We shall also see...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 46--48
+[]
+ []
+
+
+! LaTeX Error: Missing \begin{document}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.49 \begin{enumerate}
+
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 49--49
+[]
+ []
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.50 ...values from thermistor is given in \ardref
+ {ard:therm-read}. The ardu...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.51 \lstinputlisting
+ [firstline=9,lastline=9] {\LocTHERMardcode/therm-read/...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 9 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 9 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMardcode ->\Origin
+ /user-code/thermistor/arduino
+l.51 ...firstline=9,lastline=9] {\LocTHERMardcode
+ /therm-read/therm-read.ino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.52 where {\tt
+ A4} represents the analog pin 4 to be read. The read value i...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.52 ... The read value is stored in variable {\tt
+ value} and is displayed u...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+! Undefined control sequence.
+l.52 ...e} and is displayed using \lstinputlisting
+ [firstline=10,lastline=10]...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMardcode ->\Origin
+ /user-code/thermistor/arduino
+l.52 ...rstline=10,lastline=10] {\LocTHERMardcode
+ /therm-read/therm-read.ino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.55 \lstinputlisting
+ [firstline=11,lastline=11] {\LocTHERMardcode/therm-rea...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no = in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMardcode ->\Origin
+ /user-code/thermistor/arduino
+l.55 ...rstline=11,lastline=11] {\LocTHERMardcode
+ /therm-read/therm-read.ino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+! Undefined control sequence.
+l.60 ...e program for this is available at \ardref
+ {ard:therm-buzzer}. We sha...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no j in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment exercise undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.63 \begin{exercise}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no : in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 64--65
+[]
+ []
+
+Missing character: There is no P in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (4.59723pt too wide) in paragraph at lines 66--67
+[]$
+ []
+
+
+! LaTeX Error: \begin{document} ended by \end{exercise}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.68 \end{exercise}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.70 \section
+ {Reading thermistor from scilab scripts}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.71 ...s to read values from thermistor. The {\tt
+ cmd\_analog\_in} command ...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 70--72
+[]
+ []
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 73--73
+[]
+ []
+
+! Undefined control sequence.
+<recently read> \sciref
+
+l.74 \item \sciref
+ {sci:therm-read} is used to read values from thermistor. F...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no F in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+l.74 ...rial port is opened using the command {\tt
+ open\_serial} and passing...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+l.74 ...orrect port number to it. The command {\tt
+ cmd\_analog\_in} is used ...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.74 ...500 millisecond is executed using the {\tt
+ sleep} command and then t...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+! Undefined control sequence.
+l.74 ... repeated 20 times by putting it in a {\tt
+ for} loop. After the loop...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.74 ...d the serial port is closed using the {\tt
+ close\_serial} command.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.77 ... 550 the buzzer is turned on. See \sciref
+ {sci:therm-buzzer} for the...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.77 ...buzzer} for the complete code. We use {\tt
+ if} loop to achieve this ...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+! Undefined control sequence.
+l.77 ...o achieve this functionality. Command {\tt
+ cmd\_digital\_out} is use...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment exercise undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.80 \begin{exercise}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no C in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+
+! LaTeX Error: Environment align undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.85 \begin{align}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no 1 in font nullfont!
+! Missing $ inserted.
+<inserted text>
+ $
+l.86 \frac{1}{T}
+ =A+B*ln(R)+C*(ln(R))^3
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+! Extra }, or forgotten $.
+\frac #1#2->{\begingroup #1\endgroup \over #2}
+
+l.86 \frac{1}{T}
+ =A+B*ln(R)+C*(ln(R))^3
+I've deleted a group-closing symbol because it seems to be
+spurious, as in `$x}$'. But perhaps the } is legitimate and
+you forgot something else, as in `\hbox{$x}'. In such cases
+the way to recover is to insert both the forgotten and the
+deleted material, e.g., by typing `I$}'.
+
+
+! LaTeX Error: \begin{enumerate} on input line 83 ended by \end{align}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.88 \end{align}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Missing $ inserted.
+<inserted text>
+ $
+l.88 \end{align}
+
+I've inserted something that you may have forgotten.
+(See the <inserted text> above.)
+With luck, this will get me unwedged. But if you
+really didn't forget anything, try typing `2' now; then
+my insertion and my current dilemma will both disappear.
+
+! Missing } inserted.
+<inserted text>
+ }
+l.88 \end{align}
+
+I've inserted something that you may have forgotten.
+(See the <inserted text> above.)
+With luck, this will get me unwedged. But if you
+really didn't forget anything, try typing `2' now; then
+my insertion and my current dilemma will both disappear.
+
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+<write> ...Reference `therm-abc' on page \thepage
+ \space undefined\on@line .
+l.89 equation \ref{therm-abc}
+ can be used if the value of A, B, C and R are ...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Reference `therm-abc' on page undefined on input line 89.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (103.23242pt too wide) in paragraph at lines 84--90
+[]$
+ []
+
+
+Overfull \hbox (10.86105pt too wide) in paragraph at lines 84--90
+[]
+ []
+
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no , in font nullfont!
+
+! LaTeX Error: Environment align undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.92 \begin{align}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no 1 in font nullfont!
+! Missing $ inserted.
+<inserted text>
+ $
+l.93 \frac{1}{T}
+ =\frac{1}{T_0}+\frac{1}{\beta}*ln\left(\frac{R}{R_0}\right)
+I've inserted a begin-math/end-math symbol since I think
+you left one out. Proceed, with fingers crossed.
+
+! Extra }, or forgotten $.
+\frac #1#2->{\begingroup #1\endgroup \over #2}
+
+l.93 \frac{1}{T}
+ =\frac{1}{T_0}+\frac{1}{\beta}*ln\left(\frac{R}{R_0}\right)
+I've deleted a group-closing symbol because it seems to be
+spurious, as in `$x}$'. But perhaps the } is legitimate and
+you forgot something else, as in `\hbox{$x}'. In such cases
+the way to recover is to insert both the forgotten and the
+deleted material, e.g., by typing `I$}'.
+
+
+! LaTeX Error: \begin{enumerate} on input line 83 ended by \end{align}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.95 \end{align}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Missing $ inserted.
+<inserted text>
+ $
+l.95 \end{align}
+
+I've inserted something that you may have forgotten.
+(See the <inserted text> above.)
+With luck, this will get me unwedged. But if you
+really didn't forget anything, try typing `2' now; then
+my insertion and my current dilemma will both disappear.
+
+! Missing } inserted.
+<inserted text>
+ }
+l.95 \end{align}
+
+I've inserted something that you may have forgotten.
+(See the <inserted text> above.)
+With luck, this will get me unwedged. But if you
+really didn't forget anything, try typing `2' now; then
+my insertion and my current dilemma will both disappear.
+
+Missing character: There is no e in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+<write> ...eference `therm-beta' on page \thepage
+ \space undefined\on@line .
+l.96 equation \ref{therm-beta}
+ can be used if the value of $\beta$ i.e. the ...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+LaTeX Warning: Reference `therm-beta' on page undefined on input line 96.
+
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (69.7813pt too wide) in paragraph at lines 91--97
+[]$
+ []
+
+
+Overfull \hbox (10.86105pt too wide) in paragraph at lines 91--97
+[]
+ []
+
+
+Overfull \hbox (6.18402pt too wide) in paragraph at lines 91--97
+\OML/cmm/m/it/10 ^^L$
+ []
+
+
+Overfull \hbox (6.18402pt too wide) in paragraph at lines 91--97
+\OML/cmm/m/it/10 ^^L$
+ []
+
+
+Overfull \hbox (7.67015pt too wide) in paragraph at lines 91--97
+\OML/cmm/m/it/10 R$
+ []
+
+
+Overfull \hbox (7.23265pt too wide) in paragraph at lines 91--97
+\OML/cmm/m/it/10 T$
+ []
+
+
+Overfull \hbox (12.07903pt too wide) in paragraph at lines 91--97
+\OML/cmm/m/it/10 R[]$
+ []
+
+
+Overfull \hbox (10.32988pt too wide) in paragraph at lines 91--97
+\OML/cmm/m/it/10 T[]$
+ []
+
+
+! LaTeX Error: \begin{enumerate} on input line 73 ended by \end{exercise}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.98 \end{exercise}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.103 \section
+ {Reading thermistor from Xcos}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+! Undefined control sequence.
+l.104 ...rough Xcos. One should go through \secref
+ {sec:xcos-start} before co...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no . in font nullfont!
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 103--105
+[]
+ []
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 106--106
+[]
+ []
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.107 ...tor read operation is as shown in \figref
+ {fig:therm-read}. The loca...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.108 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.110 \includegraphics
+ [width=\smfig]{\LocTHERMfig/therm-read-xcos.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.110 \includegraphics[width=\smfig
+ ]{\LocTHERMfig/therm-read-xcos.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMfig ->\Origin
+ /user-code/thermistor/figures
+l.110 ...ncludegraphics[width=\smfig]{\LocTHERMfig
+ /therm-read-xcos.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.111 \caption
+ [Xcos diagram to read thermistor values]{Xcos diagram to r...
+
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ] in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.113 {\tt
+ \LocTHERMscibrief/therm-read-xcos.zcos} is invoked.}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 106 ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.115 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+! Undefined control sequence.
+l.116 ...t clicking on the block and choosing {\tt
+ Block Parameters}. One ca...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no B in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.116 ...es for each block is tabulated in \tabref
+ {tab:therm-read}. All oth...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment table undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.119 \begin{table}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.121 \caption
+ {Xcos parameters to read thermistor}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+! Undefined control sequence.
+l.126 & Serial com port number & {\tt
+ your port number} \\ \hline
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no 0 in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 106 ended by \end{table}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.137 \end{table}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.138 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.140 \includegraphics
+ [width=\smfig]{\LocTHERMfig/therm-read.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.140 \includegraphics[width=\smfig
+ ]{\LocTHERMfig/therm-read.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMfig ->\Origin
+ /user-code/thermistor/figures
+l.140 ...ncludegraphics[width=\smfig]{\LocTHERMfig
+ /therm-read.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.141 \caption
+ [Output of Xcos diagram to read thermistor values]{Output ...
+
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ] in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.143 {\tt
+ \LocTHERMscibrief/therm-read-xcos.zcos} is executed.}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 106 ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.145 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.146 ...nity of it. The graph as shown in \figref
+ {fig:therm-read-output} wi...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.148 ...or this experiment is as shown in \figref
+ {fig:therm-buzzer}.
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.149 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.151 \includegraphics
+ [width=\smfig]{\LocTHERMfig/therm-buzzer-xcos.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.151 \includegraphics[width=\smfig
+ ]{\LocTHERMfig/therm-buzzer-xcos.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMfig ->\Origin
+ /user-code/thermistor/figures
+l.151 ...ncludegraphics[width=\smfig]{\LocTHERMfig
+ /therm-buzzer-xcos.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.153 \caption
+ [Xcos diagram to read the value of thermistor, which is us...
+
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no ] in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no , in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.153 ... or off. This is what one sees when {\tt
+ \LocTHERMscibrief/therm-b...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 106 ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.155 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+! Undefined control sequence.
+l.156 ...t clicking on the block and choosing {\tt
+ Block Parameters}. One ca...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no B in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.156 ...es for each block is tabulated in \tabref
+ {tab:therm-read}. All oth...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment table undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.159 \begin{table}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.161 \caption
+ {Xcos parameters to read thermistor and switch the buzzer}
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no k in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no V in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no U in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+! Undefined control sequence.
+l.166 & Serial com port number & {\tt
+ your port number} \\ \hline
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no y in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no q in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no ( in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ) in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no N in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 4 in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no M in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no Y in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 6 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no K in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no P in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no H in font nullfont!
+Missing character: There is no 2 in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 5 in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no 0 in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no 1 in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no G in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no L in font nullfont!
+Missing character: There is no W in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no I in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no E in font nullfont!
+Missing character: There is no S in font nullfont!
+Missing character: There is no B in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no 3 in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no 1 in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 106 ended by \end{table}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.183 \end{table}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.184 The graph as shown in \figref
+ {fig:therm-buzzer-output} will show the v...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no : in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: Environment figure undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.185 \begin{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.187 \includegraphics
+ [width=\smfig]{\LocTHERMfig/therm-buzzer.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no = in font nullfont!
+! Undefined control sequence.
+l.187 \includegraphics[width=\smfig
+ ]{\LocTHERMfig/therm-buzzer.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no ] in font nullfont!
+! Undefined control sequence.
+\LocTHERMfig ->\Origin
+ /user-code/thermistor/figures
+l.187 ...ncludegraphics[width=\smfig]{\LocTHERMfig
+ /therm-buzzer.png}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+
+! LaTeX Error: \caption outside float.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.188 \caption
+ [Output of Xcos diagram to switch buzzer through thermisto...
+
+You're in trouble here. Try typing <return> to proceed.
+If that doesn't work, type X <return> to quit.
+
+Missing character: There is no [ in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no ] in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no X in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no w in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no n in font nullfont!
+! Undefined control sequence.
+l.188 ...r values. This is what one sees when {\tt
+ \LocTHERMscibrief/therm-b...
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no x in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+
+! LaTeX Error: \begin{enumerate} on input line 106 ended by \end{figure}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.190 \end{figure}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.193 \section
+ {Arduino Code}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no A in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+<argument> ... {ard}{\protect \addvspace {\codclr
+ }}
+l.195 ...ontents{ard}{\protect\addvspace{\codclr}}
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 193--196
+[]
+ []
+
+
+! LaTeX Error: Environment ardcode undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.197 \begin{ardcode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.198 \acaption
+ {Read and display the thermistor values}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+! Undefined control sequence.
+l.202 \lstinputlisting
+ {\LocTHERMardcode/therm-read/therm-read.ino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\LocTHERMardcode ->\Origin
+ /user-code/thermistor/arduino
+l.202 \lstinputlisting{\LocTHERMardcode
+ /therm-read/therm-read.ino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{ardcode}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.203 \end{ardcode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 198--204
+[]
+ []
+
+
+! LaTeX Error: Environment ardcode undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.205 \begin{ardcode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.206 \acaption
+ {Turning the buzzer on and off using thermistor values}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.210 \lstinputlisting
+ {\LocTHERMardcode/therm-buzzer/therm-buzzer.ino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\LocTHERMardcode ->\Origin
+ /user-code/thermistor/arduino
+l.210 \lstinputlisting{\LocTHERMardcode
+ /therm-buzzer/therm-buzzer.ino}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no o in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{ardcode}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.211 \end{ardcode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 206--212
+[]
+ []
+
+! Undefined control sequence.
+l.214 \section
+ {Scilab Code}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no S in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+<argument> ... {cod}{\protect \addvspace {\codclr
+ }}
+l.216 ...ontents{cod}{\protect\addvspace{\codclr}}
+
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 214--217
+[]
+ []
+
+
+! LaTeX Error: Environment scicode undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.218 \begin{scicode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.219 \ccaption
+ {Read and display the thermistor values}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no R in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no p in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+! Undefined control sequence.
+l.223 \lstinputlisting
+ {\LocTHERMscicode/therm-read.sce}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\LocTHERMscicode ->\Origin
+ /user-code/thermistor/scilab
+l.223 \lstinputlisting{\LocTHERMscicode
+ /therm-read.sce}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{scicode}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.224 \end{scicode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+
+Overfull \hbox (20.0pt too wide) in paragraph at lines 219--225
+[]
+ []
+
+
+! LaTeX Error: Environment scicode undefined.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.226 \begin{scicode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+! Undefined control sequence.
+l.227 \ccaption
+ {Turning the buzzer on and off using thermistor values}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no T in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no T in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no f in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no y in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no D in font nullfont!
+Missing character: There is no C in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no A in font nullfont!
+Missing character: There is no v in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no O in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no g in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no n in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no . in font nullfont!
+! Undefined control sequence.
+l.231 \lstinputlisting
+ {\LocTHERMscicode/therm-buzzer.sce}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+! Undefined control sequence.
+\LocTHERMscicode ->\Origin
+ /user-code/thermistor/scilab
+l.231 \lstinputlisting{\LocTHERMscicode
+ /therm-buzzer.sce}
+The control sequence at the end of the top line
+of your error message was never \def'ed. If you have
+misspelled it (e.g., `\hobx'), type `I' and the correct
+spelling (e.g., `I\hbox'). Otherwise just continue,
+and I'll forget about whatever was undefined.
+
+Missing character: There is no / in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no d in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no o in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no i in font nullfont!
+Missing character: There is no l in font nullfont!
+Missing character: There is no a in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no / in font nullfont!
+Missing character: There is no t in font nullfont!
+Missing character: There is no h in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no m in font nullfont!
+Missing character: There is no - in font nullfont!
+Missing character: There is no b in font nullfont!
+Missing character: There is no u in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no z in font nullfont!
+Missing character: There is no e in font nullfont!
+Missing character: There is no r in font nullfont!
+Missing character: There is no . in font nullfont!
+Missing character: There is no s in font nullfont!
+Missing character: There is no c in font nullfont!
+Missing character: There is no e in font nullfont!
+
+! LaTeX Error: \begin{document} ended by \end{scicode}.
+
+See the LaTeX manual or LaTeX Companion for explanation.
+Type H <return> for immediate help.
+ ...
+
+l.232 \end{scicode}
+
+Your command was ignored.
+Type I <command> <return> to replace it with another command,
+or <return> to continue without it.
+
+)
+! Emergency stop.
+<*> \input thermistor.tex
+
+*** (job aborted, no legal \end found)
+
+
+Here is how much of TeX's memory you used:
+ 42 strings out of 493747
+ 518 string characters out of 3143546
+ 61070 words of memory out of 3000000
+ 3433 multiletter control sequences out of 15000+200000
+ 3948 words of font info for 15 fonts, out of 3000000 for 9000
+ 714 hyphenation exceptions out of 8191
+ 18i,7n,21p,949b,158s stack positions out of 5000i,500n,10000p,200000b,50000s
+! ==> Fatal error occurred, no output PDF file produced!
diff --git a/scilab-arduino/user-code/thermistor/thermistor.tex b/scilab-arduino/user-code/thermistor/thermistor.tex
new file mode 100644
index 0000000..be9ecfe
--- /dev/null
+++ b/scilab-arduino/user-code/thermistor/thermistor.tex
@@ -0,0 +1,533 @@
+\chapter {Interfacing a Thermistor}
+\thispagestyle{empty}
+\label{thermistor}
+
+\newcommand{\LocTHERMfig}{\Origin/user-code/thermistor/figures}
+\newcommand{\LocTHERMscicode}{\Origin/user-code/thermistor/scilab}
+\newcommand{\LocTHERMscibrief}[1]{{\tt \seqsplit{%
+Origin/user-code/thermistor/scilab/#1}}, see \fnrefp{fn:file-loc}}
+\newcommand{\LocTHERMardcode}{\Origin/user-code/thermistor/arduino}
+\newcommand{\LocTHERMardbrief}[1]{{\tt \seqsplit{%
+Origin/user-code/thermistor/arduino/#1}}, see \fnrefp{fn:file-loc}}
+
+%%%%%%%%%%%python starts
+\newcommand{\LocTHERMpycode}{\Origin/user-code/thermistor/python}
+\newcommand{\LocTHERMpybrief}[1]{{\tt \seqsplit{%
+Origin/user-code/thermistor/python/#1}}, see \fnrefp{fn:file-loc}}
+%%%%%%%%%%%python ends
+
+%%%%%%%%%julia
+\newcommand{\LocTHERMjuliacode}{\Origin/user-code/thermistor/julia}
+\newcommand{\LocTHERMjuliabrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/thermistor/julia/#1}}, see \fnrefp{fn:file-loc}}
+%%%%%%julia
+
+%%%%%%%%%OpenModelica starts
+\newcommand{\LocTHERMOpenModelicacode}{\Origin/user-code/thermistor/OpenModelica}
+\newcommand{\LocTHERMOpenModelicabrief}[1]{{\tt \seqsplit{%
+ Origin/user-code/thermistor/OpenModelica/#1}}, see \fnrefp{fn:file-loc}}
+%%%%%%OpenModelica ends
+
+A thermistor, usually made of semiconductors or metallic oxides, is a
+temperature dependent/sensitive resistor. Depending on the temperature
+in the vicinity of the thermistor, its resistance changes. Thermistors
+are available in two types, NTC and PTC. NTC stands for Negative
+Temperature Coefficient and PTC for Positive Temperature
+Coefficient. In NTC thermistors, the resistance decreases with the
+increase in temperature and vice versa. Whereas, for PTC types, the
+resistance increases with an increase in temperature and vice
+versa. The temperature ranges, typically, from $-55^{\circ}$ Celsius
+to $+125^{\circ}$ Celsius.
+
+Thermistors are available in a variety of shapes such as beads, rods,
+flakes, and discs. Due to their compact size and low cost, they are
+widely used in the applications where even imprecise temperature
+sensing is sufficient. They, however, suffer from noise and hence need
+noise compensation. In this chapter we shall interface a thermistor
+with the \arduino\ board.
+
+\section{Preliminaries}
+A typical thermistor and its symbolic representation are shown in
+\ref{fig:therm} and \ref{fig:thermsym} respectively. The thermistor is
+available on the shield provided with the kit. It is a bead type
+thermistor having a resistance of 10k at room temperature. A voltage
+divider network is formed using thermistor and another fixed 10k
+resistor. A voltage of 5 volts is applied across the series
+combination of the thermistor and the fixed 10k resistor. Voltage
+across the fixed resistor is sensed and is given to the ADC via pin
+4. Hence at room temperature, both the resistors offer 10k resistance
+resulting in dividing the 5V equally. A buzzer is also connected on
+pin 3 which is a digital output pin.
+Connections for this experiment are shown in \ref{fig:therm-conn}
+and \ref{fig:buzzer-conn}. Nevertheless, the user doesn't need to
+connect any wire or component explicitly.
+
+
+\begin{figure}
+\centering
+\subfloat[Pictorial representation of a thermistor\cite{therm-wiki}]{
+\includegraphics[width=\smfig]{\LocTHERMfig/NTC-bead.jpg}
+\label{fig:therm}} \hfill
+\subfloat[Symbolic representation of a thermistor]{
+\includegraphics[width=\tnfig]{\LocTHERMfig/therm-sym.png}
+\label{fig:thermsym}}
+\caption{Pictorial and symbolic representation of a thermistor}
+\end{figure}
+
+
+\begin{figure}
+\centering
+\subfloat[Thermistor connection diagram]{
+\includegraphics[width=\smfig]
+{\LocTHERMfig/THERMISTOR-Diagram-crop.pdf}
+\label{fig:therm-conn}} \hfill
+\subfloat[Buzzer connection diagram]{
+\includegraphics[width=\smfig]
+{\LocTHERMfig/BUZZER-Diagram-crop.pdf}
+\label{fig:buzzer-conn}}
+\caption{Thermistor and buzzer connection diagrams}
+\end{figure}
+
+\section{Reading thermistor from Arduino IDE}
+In this section we will learn how to read values from the thermistor connected at pin 4 of the \arduino\ board. We shall also see how to drive a buzzer depending upon the thermistor values.
+
+\begin{enumerate}
+\item A simple code to read the values from thermistor is given in \ardref{ard:therm-read}. The arduino IDE based command for the analog read functionality is given by.
+\lstinputlisting[firstline=9,lastline=9] {\LocTHERMardcode/therm-read/therm-read.ino}
+where {\tt A4} represents the analog pin 4 to be read. The read value is stored in variable {\tt value} and is displayed using \lstinputlisting[firstline=10,lastline=10] {\LocTHERMardcode/therm-read/therm-read.ino}
+The command on next line
+
+\lstinputlisting[firstline=11,lastline=11] {\LocTHERMardcode/therm-read/therm-read.ino}
+ is used to put a delay of 500 milliseconds. This is to avoid very fast display of the read values. The entire reading and display operation is carried out 40 times.
+
+The values can be observed over the serial monitor. The numbers
+displayed range from 0 to 1023. At room temperature you may get the
+output of ADC around 500. If a heating or cooling source is available,
+one can observe the increase or decrease in the ADC output. Although
+the thermistor is of NTC type, the ADC output increases with increase
+in temperature. This is because the voltage across the fixed resistor
+is sensed.
+
+\item In this experiment, we will turn the buzzer on and off depending
+ on the temperature sensed by the thermistor. The program for this is
+ available at \ardref{ard:therm-buzzer}. We shall use the ADC output
+ to carry this out. The buzzer is connected on pin 3 which is a
+ digital output pin. The ADC output value is displayed on the serial
+ monitor. At the same time it is compared with value 550. Temperature
+ of the thermistor can be raised by just holding it for a
+ while. Doing so will transfer heat from the person holding the
+ thermistor, thereby raising the temperature of the thermistor. As
+ soon as the ADC output exceeds 550, the buzzer is given a digital
+ high signal, turning it On. A delay of half a second is introduced
+ before the next value is read. This loop is executed 100 times.
+\end{enumerate}
+
+\begin{exercise}
+Carry out the following exercise:
+\begin{enumerate}
+\item Put the thermistor in the vicinity of an Ice bowl. Take care not
+ to wet the shield while doing so. Note down the ADC output value for
+ 0$^{\circ}$Celsius.
+\end{enumerate}
+\end{exercise}
+
+\section {Reading thermistor from \scilab\ scripts}
+In this section we will explain a few \scilab\ scripts to read values
+from thermistor and to use them. The {\tt cmd\_analog\_in} command
+will be used to read from thermistor connected to an analog input
+pin. The experiments will be carried out using \scilab.
+
+\begin{enumerate}
+\item In the first experiment, \sciref{sci:therm-read} is used to read
+ values from thermistor. First the serial port is opened using the
+ command {\tt open\_serial} and passing the correct port number to
+ it. The command {\tt cmd\_analog\_in} is used to read from the
+ analog pin. The pin number is passed to this command as an
+ argument. The read value is stored in some variable. The value is
+ then displayed on the scilab console. A sleep of 500 millisecond is
+ executed using the {\tt sleep} command and then the reading process
+ is repeated 20 times by putting it in a {\tt for} loop. After the
+ loop is finished the serial port is closed using the {\tt
+ close\_serial} command.
+
+\item In the second experiment, we will use the \scilab\ script to
+ turn a buzzer on and off using the thermistor values. The changes in
+ the thermistor resistance is sensed as a voltage change between 0 to
+ 5V. The ADC maps the thermistor voltage readings in to values
+ ranging from 0 to 1023. This means 0 for 0 volts and 1023 for 5
+ volts. In this experiment we compare the ADC output value with 550
+ and as soon as the value exceeds 550 the buzzer is turned on. See
+ \sciref{sci:therm-buzzer} for the complete code. We use {\tt if}
+ loop to achieve this functionality. Command {\tt cmd\_digital\_out}
+ is used to turn the buzzer on and off. The correct port number on
+ which the buzzer is connected is passed to this command as an
+ argument. The entire process is repeated 500 times.
+\end{enumerate}
+
+
+\begin{exercise}
+ Carry out the exercise below: Convert the ADC output readings to
+ degree Celsius. There are two ways to do so.
+\begin{enumerate}
+\item In the first method,
+\begin{align}
+\frac{1}{T}=A+B*\ln(R)+C*(\ln(R))^3
+\label{therm-abc}
+\end{align}
+equation \ref{therm-abc} can be used if the value of A, B, C and R are
+known. The temperature T is in kelvin and thermistor resistance R is
+in ohms. The values of A, B and C can be found out by measuring
+thermistor resistance against three known values of temperatures. The
+values of temperature must be within the operating range and should
+typically include the room temperature. Once a set of three values of
+T and R are known it will result in three equations with three
+unknowns. The values of A, B, C can be found out by solving the three
+equations simultaneously. Once the values of A, B, C are known, the
+same equation can be used to directly convert resistance to kelvin. It
+can be then converted to Celsius. This method is preferred when the
+temperature coefficient of thermistor is not known or is known very
+approximately. This method is bit cumbersome but can give accurate
+temperature conversion.
+
+\item In the second method,
+\begin{align}
+\frac{1}{T}=\frac{1}{T_0}+\frac{1}{\beta}*\ln\left(\frac{R}{R_0}\right)
+\label{therm-beta}
+\end{align}
+equation \ref{therm-beta} can be used if the value of $\beta$ i.e. the
+Temperature Coefficient of Resistance of the thermistor used is
+known. The value of $\beta$ can be found in the data sheet of the
+thermistor used. $R$ is the resistance of thermistor at temperature
+$T$ in kelvin. $R_0$ is the resistance of thermistor at room
+temperature $T_0$ in kelvin.
+\end{enumerate}
+\end{exercise}
+
+\section{Reading thermistor from Xcos}
+In this section we will carry out the same experiments discussed in
+the previous sections but through Xcos. One should go through
+\secref{sec:xcos-start} before continuing.
+
+\begin{enumerate}
+\item The xcos diagram for performing the simple thermistor read
+ operation is as shown in \figref{fig:therm-read}. The location of
+ the xcos file is mentioned in the caption of the figure.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfigp]{\LocTHERMfig/therm-read-xcos.png}
+ \caption[Xcos diagram to read thermistor values]{Xcos diagram to
+ read thermistor values. This is what one sees when
+ \LocTHERMscibrief{therm-read-xcos.zcos}, is invoked.}
+ \label{fig:therm-read}
+ \end{figure}
+ The parameters of the blocks can be changed by right clicking on the
+ block and choosing {\tt Block Parameters}. One can also double click
+ on the block. The values for each block is tabulated in
+ \tabref{tab:therm-read}. All other parameters are to be left
+ unchanged.
+
+ \begin{table}
+ \centering
+ \caption{Xcos parameters to read thermistor}
+ \label{tab:therm-read}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 100 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ ANALOG\_READ\_SB & Analog Pin & 4 \\
+ & Arduino card number & 1 \\ \hline
+ CSCOPE & Ymin & 200 \\
+ & Ymax & 600 \\
+ & Refresh period & 100 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation Time & 0 \\ \hline
+ \end{tabular}
+ \end{table}
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfigp]{\LocTHERMfig/therm-read.png}
+ \caption[Output of Xcos diagram to read thermistor values]{Output
+ of Xcos diagram to read thermistor values. This is what one
+ sees when \LocTHERMscibrief{therm-read-xcos.zcos}, is executed.}
+ \label{fig:therm-read-output}
+ \end{figure}
+ The thermistor readings can be varied by bringing a heating or
+ cooling source in the vicinity of it. The graph as shown in
+ \figref{fig:therm-read-output} will show the variations in the ADC
+ output that is displayed.
+
+\item In the second experiment, we will switch On and Off a buzzer
+ depending on the thermistor readings (ADC output). The xcos diagram
+ for this experiment is as shown in \figref{fig:therm-buzzer}.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\lgfig]{\LocTHERMfig/therm-buzzer-xcos.png}
+ \caption[Xcos diagram to read the value of thermistor, which is
+ used to turn the buzzer on or off] {Xcos diagram to read the value
+ of the thermistor, which is used to turn the buzzer on or off.
+ This is what one sees when
+ \LocTHERMscibrief{therm-buzzer-xcos.zcos}, is invoked.}
+ \label{fig:therm-buzzer}
+ \end{figure}
+ The parameters of the blocks can be changed by right clicking on the
+ block and choosing {\tt Block Parameters}. One can also double click
+ on the block. The values for each block is tabulated in
+ \tabref{tab:therm-read}. All other parameters are to be left
+ unchanged.
+
+\begin{table}
+ \centering
+ \caption{Xcos parameters to read thermistor and switch the buzzer}
+ \label{tab:ldr-led}
+ \begin{tabular}{llc} \hline
+ Name of the block & Parameter name & Value \\ \hline
+ ARDUINO\_SETUP & Identifier of Arduino Card & 1 \\
+ & Serial com port number & 2\portcmd \\ \hline
+ TIME\_SAMPLE & Duration of acquisition(s) & 100 \\
+ & Sampling period(s) & 0.1 \\ \hline
+ ANALOG\_READ\_SB & Analog pin & 4 \\
+ & Arduino card number & 1 \\ \hline
+ CMSCOPE & Ymin & 0 300 \\
+ & Ymax & 1 600 \\
+ & Refresh period & 100 100 \\ \hline
+ CLOCK\_c & Period & 0.1 \\
+ & Initialisation time & 0 \\ \hline
+ SWITCH2\_m & Datatype & 1 \\
+ & threshold & 550 \\
+ & pass first input if field & 0 \\
+ & use zero crossing & 1 \\ \hline
+ DIGITAL\_WRITE\_SB & Digital pin & 3 \\
+ & Arduino card number & 1 \\ \hline
+ \end{tabular}
+ \end{table}
+ The graph as shown in \figref{fig:therm-buzzer-output} will show the
+ variations in the ADC output that is displayed and the corresponding
+ switching of buzzer whenever the limits are crossed.
+ \begin{figure}
+ \centering
+ \includegraphics[width=\smfig]{\LocTHERMfig/therm-buzzer.png}
+ \caption[Output of Xcos diagram to switch buzzer through
+ thermistor values]{Output of Xcos diagram to switch buzzer through
+ thermistor values. This is what one sees when
+ \LocTHERMscibrief{therm-buzzer-xcos.zcos}, is executed.}
+ \label{fig:therm-buzzer-output}
+ \end{figure}
+\end{enumerate}
+
+%%%%%%%%%%%%python description starts
+
+\section {Reading thermistor from Python scripts}
+In this section we will explain a few python scripts to read values
+from thermistor and to use them. The {\tt cmd\_analog\_in} command
+will be used to read from thermistor connected to an analog input
+pin. The experiments will be carried out using python.
+
+\begin{enumerate}
+\item In the first experiment, \pyref{py:therm-read} is used to read
+ values from thermistor. First the serial port is opened using the
+ command {\tt open\_serial} and passing the correct port number to
+ it. The command {\tt cmd\_analog\_in} is used to read from the
+ analog pin. The pin number is passed to this command as an
+ argument. The read value is stored in some variable. The value is
+ then displayed on the scilab console. A sleep of 500 millisecond is
+ executed using the {\tt sleep} command and then the reading process
+ is repeated 20 times by putting it in a {\tt for} loop. After the
+ loop is finished the serial port is closed using the {\tt
+ close\_serial} command.
+
+\item In the second experiment, we will use the python script to
+ turn a buzzer on and off using the thermistor values. The changes in
+ the thermistor resistance is sensed as a voltage change between 0 to
+ 5V. The ADC maps the thermistor voltage readings in to values
+ ranging from 0 to 1023. This means 0 for 0 volts and 1023 for 5
+ volts. In this experiment we compare the ADC output value with 550
+ and as soon as the value exceeds 550 the buzzer is turned on. See
+ \sciref{py:therm-buzzer} for the complete code. We use {\tt if}
+ loop to achieve this functionality. Command {\tt cmd\_digital\_out}
+ is used to turn the buzzer on and off. The correct port number on
+ which the buzzer is connected is passed to this command as an
+ argument. The entire process is repeated 500 times.
+\end{enumerate}
+
+%%%%%%%%%%%%python description ends
+
+%%%%%%%%%%%%julia description starts
+
+\section {Reading thermistor from Julia scripts}
+In this section we will explain a few julia scripts to read values
+from thermistor and to use them. The {\tt analogRead} command
+will be used to read from thermistor connected to an analog input
+pin. The experiments will be carried out using python.
+
+\begin{enumerate}
+\item In the first experiment, \juliaref{julia:therm-read} is used to read
+ values from thermistor. First the serial port is opened using the
+ command {\tt connectBoard}. The command {\tt analogRead} is used to read from the
+ analog pin. The pin number is passed to this command as an
+ argument. The read value is stored in some variable. The value is
+ then displayed on the Atoms console. A sleep of 500 millisecond is
+ executed using the {\tt sleep} command and then the reading process
+ is repeated 20 times by putting it in a {\tt for} loop. After the
+ loop is finished the serial port is closed using the {\tt
+ close } command.
+
+\item In the second experiment, we will use the julia script to
+ turn a buzzer on and off using the thermistor values.The whole
+ process is same as described in the python code.
+\end{enumerate}
+
+%%%%%%%%%%%%julia description ends
+
+%%%%%%%%OpenModelica Starts
+\section {Reading thermistor from OpenModelica scripts}
+In this section we will explain a few OpenModelica scripts to read values
+from thermistor and to use them. The {\tt cmd\_analog\_in} command
+will be used to read from thermistor connected to an analog input
+pin. The experiments will be carried out using OpenModelica.
+
+\begin{enumerate}
+\item In the first experiment, \OpenModelicaref{OpenModelica:therm-read} is used to read
+ values from thermistor. First the serial port is opened using the
+ command {\tt open\_serial} and passing the correct port number to
+ it. The command {\tt cmd\_analog\_in} is used to read from the
+ analog pin. The pin number is passed to this command as an
+ argument. The read value is stored in some variable. The value is
+ then displayed on the OpenModelica ourput console. A delay of 500 millisecond is
+ executed using the {\tt delay} command and then the reading process
+ is repeated 20 times by putting it in a {\tt for} loop. After the
+ loop is finished the serial port is closed using the {\tt
+ close\_serial} command.
+
+\item In the second experiment, we will use the OpenModelica script to
+ turn a buzzer on and off using the thermistor values. The changes in
+ the thermistor resistance is sensed as a voltage change between 0 to
+ 5V. The ADC maps the thermistor voltage readings in to values
+ ranging from 0 to 1023. This means 0 for 0 volts and 1023 for 5
+ volts. In this experiment we compare the ADC output value with 550
+ and as soon as the value exceeds 500 the buzzer is turned on. See
+ \OpenModelicaref{OpenModelica:therm-buzzer} for the complete code. We use {\tt if}
+ loop to achieve this functionality. Command {\tt cmd\_digital\_out}
+ is used to turn the buzzer on and off. The correct port number on
+ which the buzzer is connected is passed to this command as an
+ argument. The entire process is repeated 500 times.
+\end{enumerate}
+
+
+%%%%%%%%OpenModelica Ends
+
+\clearpage
+\section{Arduino Code}
+\label{sec:therm-arduino-code}
+\addtocontents{ard}{\protect\addvspace{\codclr}}
+
+\begin{ardcode}
+ \acaption{Read and display the thermistor values} {Read and display
+ the thermistor values. Available at
+ \LocTHERMardbrief{therm-read/therm-read.ino}.}
+\label{ard:therm-read}
+\lstinputlisting{\LocTHERMardcode/therm-read/therm-read.ino}
+\end{ardcode}
+
+\begin{ardcode}
+ \acaption{Turning the buzzer on and off using thermistor values}
+ {Turning the buzzer on and off using the thermistor values read by
+ ADC. Available at
+ \LocTHERMardbrief{therm-buzzer/therm-buzzer.ino}.}
+\label{ard:therm-buzzer}
+\lstinputlisting{\LocTHERMardcode/therm-buzzer/therm-buzzer.ino}
+\end{ardcode}
+
+
+\section{Scilab Code}
+\label{sec:therm-scilab-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{scicode}
+ \ccaption{Read and display the thermistor values} {Read and display
+ the thermistor values. Available at
+ \LocTHERMscibrief{therm-read.sce}.}
+\label{sci:therm-read}
+\lstinputlisting{\LocTHERMscicode/therm-read.sce}
+\end{scicode}
+
+\begin{scicode}
+ \ccaption{Turning the buzzer on and off using thermistor values}
+ {Turning the buzzer on and off using the thermistor values read by
+ ADC. Available at \LocTHERMscibrief{therm-buzzer.sce}.}
+\label{sci:therm-buzzer}
+\lstinputlisting{\LocTHERMscicode/therm-buzzer.sce}
+\end{scicode}
+
+%%%%%%%%%%%python code starts
+\section{Python Code}
+\label{sec:therm-pyhton-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{pycode}
+ \pcaption{Read and display the thermistor values} {Read and display
+ the thermistor values. Available at
+ \LocTHERMpybrief{therm-read.py}.}
+\label{py:therm-read}
+\lstinputlisting{\LocTHERMpycode/therm-read.py}
+\end{pycode}
+
+\begin{pycode}
+ \ccaption{Turning the buzzer on and off using thermistor values}
+ {Turning the buzzer on and off using the thermistor values read by
+ ADC. Available at \LocTHERMpybrief{therm-buzzer.py}.}
+\label{py:therm-buzzer}
+\lstinputlisting{\LocTHERMpycode/therm-buzzer.py}
+\end{pycode}
+%%%%%%%%%%%python code ends
+
+%%%%%julia code starts
+
+
+\section{Julia Code}
+\label{sec:therm-julia-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{juliacode}
+\ccaption{Read and display the thermistor values} {Read and display
+ the thermistor values. Available at
+ \LocTHERMjuliabrief{therm-read.jl}.}
+\label{julia:therm-read}
+\lstinputlisting{\LocTHERMjuliacode/therm-read.jl}
+\end{juliacode}
+
+\begin{juliacode}
+\ccaption{Turning the buzzer on and off using thermistor values}
+ {Turning the buzzer on and off using the thermistor values read by
+ ADC. Available at \LocTHERMjuliabrief{therm-buzzer.jl}.}
+\label{julia:therm-buzzer}
+\lstinputlisting{\LocTHERMjuliacode/therm-buzzer.jl}
+\end{juliacode}
+
+%%%%%julia code ends
+
+
+%%%%%OpenModelica code starts
+
+\section{OpenModelica Code}
+\label{sec:therm-OpenModelica-code}
+\addtocontents{cod}{\protect\addvspace{\codclr}}
+
+\begin{OpenModelicacode}
+\ccaption{Read and display the thermistor values} {Read and display
+ the thermistor values. Available at
+ \LocTHERMOpenModelicabrief{therm-read.mo}.}
+\label{OpenModelica:therm-read}
+\lstinputlisting{\LocTHERMOpenModelicacode/therm-read.mo}
+\end{OpenModelicacode}
+
+\begin{OpenModelicacode}
+\ccaption{Turning the buzzer on and off using thermistor values}
+ {Turning the buzzer on and off using the thermistor values read by
+ ADC. Available at \LocTHERMOpenModelicabrief{therm-buzzer.mo}.}
+\label{OpenModelica:therm-buzzer}
+\lstinputlisting{\LocTHERMOpenModelicacode/therm-buzzer.mo}
+\end{OpenModelicacode}
+
+%%%%%OpenModelica code ends \ No newline at end of file